Скачать MetaTrader 5

Привязка объекта

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Знаете ли вы, что MQL5 является объектно-ориентированным языком?
Roman Usenkov
443
Roman Usenkov 2016.04.16 22:36 
Добрый день, как привязать объект TEXT справа к ценам, как показано на рисунке. Что бы объекты не смещались, при смещении графика треугольником сверху. 
Artyom Trishkin
Модератор
75814
Artyom Trishkin 2016.04.16 22:50  
Roman Usenkov:
Добрый день, как привязать объект TEXT справа к ценам, как показано на рисунке. Что бы объекты не смещались, при смещении графика треугольником сверху. 
Вам нужно не OBJ_TEXT, а OBJ_LABEL
Roman Usenkov
443
Roman Usenkov 2016.04.16 22:55  
Artyom Trishkin:
Вам нужно не OBJ_TEXT, а OBJ_LABEL
мне нужно привязать именно OBJ_TEXT,потому что создан он, а не OBJ_LABEL
Artyom Trishkin
Модератор
75814
Artyom Trishkin 2016.04.16 23:13  
Roman Usenkov:
мне нужно привязать именно OBJ_TEXT,потому что создан он, а не OBJ_LABEL

Ну тогда удачи. Текст, в отличие от текстовой метки, привязывается к дате/цене, а не координатам экрана в пикселях.

Vitaly Muzichenko
3492
Vitaly Muzichenko 2016.04.16 23:53  
Roman Usenkov:
мне нужно привязать именно OBJ_TEXT,потому что создан он, а не OBJ_LABEL

Сам создан, или всё-же вы его создали. Тогда в чём может быть проблема создать именно то, что вам нужно.

Ну или так, хотя поедает неоправданно ресурсы

https://www.mql5.com/ru/docs/chart_operations/charttimepricetoxy

https://www.mql5.com/ru/docs/chart_operations/chartxytotimeprice

Artyom Trishkin
Модератор
75814
Artyom Trishkin 2016.04.17 00:02  
Vitaly Muzichenko:

Сам создан, или всё-же вы его создали. Тогда в чём может быть проблема создать именно то, что вам нужно.

Ну или так, хотя поедает неоправданно ресурсы

https://www.mql5.com/ru/docs/chart_operations/charttimepricetoxy

https://www.mql5.com/ru/docs/chart_operations/chartxytotimeprice

Так дёргаться же будет если его постоянно перетаскивать.
Sergei Vladimirov
8773
Sergei Vladimirov 2016.04.17 00:46  
Не будет, если перерисовку делать в OnChartEvent. Ну, то есть будет чуть-чуть, но почти незаметно.
Roman Usenkov
443
Roman Usenkov 2016.04.19 17:21  
Я не очень понял ка это применить. Не могли бы вы написать пример привзяки OBJ_TEXT к правому краю?
Vitaly Muzichenko
3492
Vitaly Muzichenko 2016.04.19 17:26  
Roman Usenkov:
Я не очень понял ка это применить. Не могли бы вы написать пример привзяки OBJ_TEXT к правому краю?

вот тут всё есть.

А вот привязки

//--- установим координаты метки 
   ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); 

   ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);

А это к какому краю

//--- установим угол графика, относительно которого будут определяться координаты точки 

   ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);  

Фактически тот-же  OBJ_TEXT, но только привязка не к цене и времени, а координатам графика.

Taras Slobodyanik
13238
Taras Slobodyanik 2016.04.19 23:19  

Можно вычислять смещение CHART_WIDTH_IN_BARS минус CHART_FIRST_VISIBLE_BAR и потом, при появлении каждого нового бара, прибавлять это смещение в свойствах объекта. Цену привязки тоже можно ментяь, будет плавать :)

chart_width=(int)ChartGetInteger(0,CHART_WIDTH_IN_BARS,0);
chart_first=(int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
shift_right=_Period*60*(chart_width-chart_first);
timeRight=Time[0]+shift_right;
Taras Slobodyanik
13238
Taras Slobodyanik 2016.04.19 23:31  
Фактически тот-же OBJ_TEXT, но только привязка не к цене и времени, а координатам графика.
без привязки к цене и времени, при масштабировании графика, этот лейбл улетает непонятно куда...
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий