Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
У тебя Linux? Узнай, как установить на нее MetaTrader!
henry
44
henry 2006.02.05 23:54 
Кто рисовал на графике треугольники используя ObjectCreate()? Мне надо создать треугольник. Как правильно это сделать? С наскока я не нашел в хелпе последовательность кода. Что за чем следует. ( ObjectSet, ObjectGet...). Кто создавал объекты, дайте пожалуйста пример.
Из того что понял из хелпа я написал:
{...
ObjectCreate("Trio",OBJ_TRIANGLE,0,00.01,DayOpen,12.00,DayHigh,12.00, DayLow);

ObjectSet("Trio",OBJPROP_PRICE1,DayOpen);
ObjectGet("Trio",OBJPROP_PRICE1);

ObjectSet("Trio",OBJPROP_TIME1,00.01);
ObjectGet("Trio",OBJPROP_TIME1);

ObjectSet("Trio",OBJPROP_PRICE2,DayHigh);
ObjectGet("Trio",OBJPROP_PRICE2);

ObjectSet("Trio",OBJPROP_TIME2,12.00);
ObjectGet("Trio",OBJPROP_TIME2);

ObjectSet("Trio",OBJPROP_PRICE2,DayLow);
ObjectGet("Trio",OBJPROP_PRICE3);

ObjectSet("Trio",OBJPROP_TIME3,12.00);
ObjectGet("Trio",OBJPROP_TIME3);

ObjectSet("Trio",OBJPROP_STYLE,DRAW_LINE);
ObjectSet("Trio",OBJPROP_COLOR,Red);
...}
Увы хотя и скомпилилось, но на графике не прорисовалось. :-((
Andrey Khatimlianskii
52252
Andrey Khatimlianskii 2006.02.06 05:09  
Ф-цию ObjectGet использовать вообще не надо - она для получения значений, а не для установки ;)
Вместо DayOpen, DayHigh и DayLow надо, соответственно, iOpen( Symbol(), Period(), 0 ), iHigh( Symbol(), Period(), 0 ) и iLow( Symbol(), Period(), 0 )
Вместо 00.01 надо StrToTime( "2006.02.06 00:01" ) - остальное время полностью аналогично.

Должно получиться ;)
henry
44
henry 2006.02.06 07:44  
Komposter, ничего не получилось. DayOpen... у меня переменные.
double DayOpen=iOpen(NULL,PERIOD_D1,0);
double DayHigh=iHigh(NULL,PERIOD_D1,0);
double DayLow=iLow(NULL,PERIOD_D1,0);
double DayClose=iClose(NULL,PERIOD_D1,0);
Но сделал как ты пишешь:
{...
ObjectCreate("Trio",OBJ_TRIANGLE,0,00.01,DayOpen,12.00,DayHigh,12.00, DayLow);
ObjectSet("Trio",OBJPROP_PRICE1,iOpen(NULL,PERIOD_D1,0));
ObjectSet("Trio",OBJPROP_TIME1,StrToTime( "2006.06.06 00:01"));
ObjectSet("Trio",OBJPROP_PRICE2,iHigh(NULL,PERIOD_D1,0));
ObjectSet("Trio",OBJPROP_TIME2,StrToTime( "2006.06.06 12:01"));
ObjectSet("Trio",OBJPROP_PRICE2,iLow(NULL,PERIOD_D1,0));
ObjectSet("Trio",OBJPROP_TIME3,StrToTime( "2006.06.06 12:01"));
ObjectSet("Trio",OBJPROP_STYLE,DRAW_LINE);
ObjectSet("Trio",OBJPROP_COLOR,Red);
...}
На графике треугольника нет.
henry
44
henry 2006.02.06 07:49  
Пардон и

ObjectCreate("Trio",OBJ_TRIANGLE,0,StrToTime( "2006.06.06 00:01"),iOpen(NULL, PERIOD_D1,0),StrToTime( "2006.06.06 12:01"),iHigh(NULL,PERIOD_D1,0),StrToTime( "2006.06.06 12:01"),iLow(NULL,PERIOD_D1,0));

тоже.

Ничего не получается.
Может надо еще чего объявить?
Andrey Khatimlianskii
52252
Andrey Khatimlianskii 2006.02.06 17:40  
Интересно, почему на графике должно быть видно "2006.06.06 00:01"? =)
Внимательнее надо ;)

зы: только что проверил - с правильными датами работает
henry
44
henry 2006.02.06 22:56  
Komposter, БОЛЬШОЕ спасибо!!!
Заработало.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий