Линия по значению

 

Подскажите пожалуйста как нарисовать линию по значению?

К примеру переменная приняла значение 1.5000 как на основе этого графически отобразить.

Спасибо. 

 
protr:

Подскажите пожалуйста как нарисовать линию по значению?

К примеру переменная приняла значение 1.5000 как на основе этого графически отобразить.

Спасибо. 

Здесь даже пример есть:
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_HLINE
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_HLINE
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_HLINE - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Karputov Vladimir:
Здесь даже пример есть:

к сожалению это для 5... нужно для 4... и попроще :)

Как то так получилось... может кто то глянет :)

void OnTick(){

F_Draw_Line();

}


void F_Draw_Line()
{
    double begin = 1.50000;
    color clr = clrRed; 
    string name = "line";
    bool res = ObjectCreate(name, OBJ_HLINE, 0, 0, begin); 
    ObjectSet(name, OBJPROP_COLOR, clr);  
    ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);  
    ObjectSet(name, OBJPROP_WIDTH, 1);  

    
}
 
protr:

к сожалению это для 5... нужно для 4... и попроще :)

Как то так получилось... может кто то глянет :)

Вообще-то код примера для OBJ_HLINE единый и для MQL4 и для MQL5. 
 
protr:

к сожалению это для 5... нужно для 4... и попроще :)

Как то так получилось... может кто то глянет :)

А зачем кому-то глядеть? Линия рисуется - значит код верный ))
 

моя задача нарисовать линии по значениям из массива. У каждой из линий должно быть свое имя? Или это группа однотипных объектов? 

for (int i=0; i<ArraySize(MASS_PLUS); i++){
   ObjectCreate("highLine",OBJ_HLINE,0,0,MASS_PLUS[i]);
   ObjectSet("highLine",OBJPROP_COLOR,LimeGreen);
   ObjectSet("highLine", OBJPROP_STYLE, STYLE_SOLID);
   ObjectSet("highLine",OBJPROP_WIDTH,3);
   }

 или нужно как то так, но не могу найти ошибку в той строке. Спасибо 

 

string HIGH_LINE[];
ArrayResize(HIGH_LINE,20,5); 
ArrayInitialize(HIGH_LINE,EMPTY_VALUE);

for (int i=0; i<ArraySize(HIGH_LINE); i++)
        int n = 0; 
        HIGH_LINE[i] = IntegerToString (n + 1,1,'') + "_line";
        }

for (int i=0; i<ArraySize(MASS_PLUS); i++){
   ObjectCreate(HIGH_LINE[i],OBJ_HLINE,0,0,MASS_PLUS[i]);
   ObjectSet(HIGH_LINE[i],OBJPROP_COLOR,LimeGreen);
   ObjectSet(HIGH_LINE[i],OBJPROP_STYLE, STYLE_SOLID);
   ObjectSet(HIGH_LINE[i],OBJPROP_WIDTH,3);
   }
 
protr:

моя задача нарисовать линии по значениям из массива. У каждой из линий должно быть свое имя? Или это группа однотипных объектов? 

 или нужно как то так, но не могу найти ошибку в той строке. Спасибо 

 

бл.... Сделайте уже что то с сообщениями! Через раз код не добавляется. Сижу пишу пишу. Нажал чтобы сообщение было. Бац! Сообщение только без кода который печатаешь. Круто!

 

for (int i=0; i<ArraySize(MASS_PLUS); i++){
   ObjectCreate("highLine"+i,OBJ_HLINE,0,0,MASS_PLUS[i]);
   ObjectSet("highLine"+i,OBJPROP_COLOR,LimeGreen);
   ObjectSet("highLine"+i, OBJPROP_STYLE, STYLE_SOLID);
   ObjectSet("highLine"+i,OBJPROP_WIDTH,3);
   }
 
а не будет проблемы что там стринговая переменная... а i имеет интовый тип? может как то  IntegertoString нужно задействовать?
 
Vasyl Nosal  спасибо Вам
 
protr:

если уж очень культурно

string obj_name;
for (int i=0; i<ArraySize(MASS_PLUS); i++){
obj_name="highLine"+string(i);
   ObjectCreate(obj_name,OBJ_HLINE,0,0,MASS_PLUS[i]);
   ObjectSet(obj_name,OBJPROP_COLOR,LimeGreen);
   ObjectSet(obj_name, OBJPROP_STYLE, STYLE_SOLID);
   ObjectSet(obj_name,OBJPROP_WIDTH,3);
   }
 
Vasyl Nosal:

если уж очень культурно

Огромное спасибо. Все как работает как часы!