インジケータに複数のオブジェクトを表示させる方法がわかりません
例えばOBJ_VLINEである時間で垂直線を入れるインジケータでは
1本であればこのようにできるのですが
MQL4
1#property indicator_chart_window 2 3input int hour = 10; 4string obj_name = "testVline"; 5int j = 0; 6 7int OnInit(){ 8 ObjectCreate(obj_name, OBJ_VLINE, 0, 0, 0); 9 10 return(INIT_SUCCEEDED); 11} 12 13int OnCalculate(const int rates_total, 14 const int prev_calculated, 15 const datetime &time[], 16 const double &open[], 17 const double &high[], 18 const double &low[], 19 const double &close[], 20 const long &tick_volume[], 21 const long &volume[], 22 const int &spread[]) 23{ 24 25 int limit = Bars - prev_calculated; 26 27 for(int i = limit - 1; i >= 0; i--){ 28 if(TimeHour(Time[i])==hour){ 29 ObjectMove(obj_name, 0, Time[i], 0); 30 ObjectSet(obj_name,OBJPROP_COLOR,clrGreen); 31 ObjectSet(obj_name,OBJPROP_STYLE,STYLE_SOLID); 32 ObjectSet(obj_name,OBJPROP_WIDTH,2); 33 } 34 } 35 36 return rates_total; 37} 38
ObjectMoveでは毎日10時に条件に入っているのですが
obj_nameが同じなので最後の1本しか表示されません
ObjectMoveの代わりにObjectCreateはエラーになります
配列などを使えばいいのかもしれませんがいいアイディアがあれは教えてください
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/03 23:16
2021/01/03 23:45
2021/01/04 02:24