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

 
Добрый день, как привязать объект TEXT справа к ценам, как показано на рисунке. Что бы объекты не смещались, при смещении графика треугольником сверху. 
 
Roman Usenkov:
Добрый день, как привязать объект TEXT справа к ценам, как показано на рисунке. Что бы объекты не смещались, при смещении графика треугольником сверху. 
Вам нужно не OBJ_TEXT, а OBJ_LABEL
 
Artyom Trishkin:
Вам нужно не OBJ_TEXT, а OBJ_LABEL
мне нужно привязать именно OBJ_TEXT,потому что создан он, а не OBJ_LABEL
 
Roman Usenkov:
мне нужно привязать именно OBJ_TEXT,потому что создан он, а не OBJ_LABEL

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

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

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

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

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

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

 
Vitaly Muzichenko:

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

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

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

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

Так дёргаться же будет если его постоянно перетаскивать.
 
Не будет, если перерисовку делать в OnChartEvent. Ну, то есть будет чуть-чуть, но почти незаметно.
 
Я не очень понял ка это применить. Не могли бы вы написать пример привзяки OBJ_TEXT к правому краю?
 
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, но только привязка не к цене и времени, а координатам графика.

 

Можно вычислять смещение 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;
 
Фактически тот-же OBJ_TEXT, но только привязка не к цене и времени, а координатам графика.
без привязки к цене и времени, при масштабировании графика, этот лейбл улетает непонятно куда...