Координаты для объекта-лейбла (?)

 
Не могу сообразить - можно ли вычислить координаты Bar[0],Close[0], чтоб прикрепить текст-лейбл, просто иногда появление такого текстового сообщения-сигнала возле нулевого бара симпатичнее, чем в углу окна. С объектом-текстом неприятно - как я понял, без координат единственная привязка по середине (ошибаюсь?), а надо бы по левым углам, с выносом текста правее графика, добивка пробелами достает.
 

Нет, такого в MQL4 нет. Вопрос уже поднимался. Например, вот здесь: https://www.mql5.com/ru/forum/51772

 
OBJ_TEXT привязывается к цене и времени, т.е. его можно разместить на 0-м баре.

Правда, при появлении новых баров он будет отодвигаться левее, но это можно исправлять.
 
Увы :(. Бум добивать текст пробелами, чтоб сместить вправо от графика, правее нулевого бара.

Всем спасибо.
 
Bookkeeper:
Увы :(. Бум добивать текст пробелами, чтоб сместить вправо от графика, правее нулевого бара.

Всем спасибо.

В чем сложность то?



  
   string TextOut = "Ткст сообщения";
   ObjectCreate("TextOut", OBJ_TEXT, 0, Time[0]+3600*7, High[0]);
   ObjectSetText("TextOut",TextOut, 8, "Verdana", Yellow);
с приходом нового бара просто удалите этот объект и установите новый если понадобится.
 
То, что берем половину длины строки понял, а что означает Time[0]+3600*7 почему + дает такой эффект? пока писал понял, спасибо!

Будет ли 3600 работать для других шрифтов? (с размером 8)
 
Bookkeeper:
То, что берем половину длины строки понял, а что означает Time[0]+3600*7 почему + дает такой эффект? пока писал понял, спасибо!

Будет ли 3600 работать для других шрифтов? (с размером 8)
3600*7
3600 - это количество секунд в одном часе
7 - это 7 часов

значения выбраны для сдвига на часовом графике, все просто.
соответственно для графика с другим тайфреймом нужно подобрать другие значения.
к размеру шрифта это отношения не имеет.
 

Прости за бестолковость, я не программист, поэтому все, что первый раз - мне надо прямо-таки вдалбливать.

Получается ли? что точку привязки необходимо рассчитывать как Time[0]+Psec*N - где Psec-период графика в секундах (=Period()*60) и N-сдвиг в барах в будущее?

Т.е. привязать сдвиг к StringLen(...)/2 никак не удастся :( ?


Тогда пробелы - самое простое, т.к. легко автоматизировать под переменный размер строки объекта txt, используя например шрифт Fixedsys и ставя в объект текст:

str=""; for(n=0;n<=StringLen(txt);n++) str=str+" "; txt=str+txt;

тогда текст всегда будет правее нулевого бара

 

Мне кажется что для вашей задачи лучше всего подойдет этот код:

       ObjectDelete("NameObject");
       ObjectCreate("NameObject", OBJ_LABEL, 0,0,0);
       ObjectSet("NameObject", OBJPROP_XDISTANCE, 300);
       ObjectSet("NameObject", OBJPROP_YDISTANCE, 100);
       ObjectSetText("NameObject","Out Text", 8, "VeHghana", Yellow);
Out Text - текст для вывода на экран
300 - количество пикселев по горизонтали (начиная слева)
100 - количество пикселев по вертикали (начиная сверху)

место вывода текста привязано не к барам, а к точкам на экране (графике) и является статичным