MQL4 Подпись Линии

 
Здравствуйте. Имею линию VLINE.Не как не могу разобраться как сделать надпись для линии, которая бы смещалась вместе с линией при прокрутке графика. Линию VLINE рисую только по времени.Прикладываю скрин как сейчас и как бы хотелось сделать.
Файлы:
 
Igor Kryuchkov:
Здравствуйте. Имею линию VLINE.Не как не могу разобраться как сделать надпись для линии, которая бы смещалась вместе с линией при прокрутке графика. Линию VLINE рисую только по времени.Прикладываю скрин как сейчас и как бы хотелось сделать.
 
Maxim Kuznetsov:

При чем тут это вообще? Мне нужно создать текст и привязать к линии, как на скрине.

 
Igor Kryuchkov:

При чем тут это вообще? Мне нужно создать текст и привязать к линии, как на скрине.


Или много-много кода и "закат солнца вручную", то есть расчёт экранных координат и перемещение объектов вручную при каждом обновлении графика. Что в динамике смотрится отвратительно на самом деле - то есть с видимой пользователю задержкой

 
Maxim Kuznetsov:


Или много-много кода и "закат солнца вручную", то есть расчёт экранных координат и перемещение объектов вручную при каждом обновлении графика. Что в динамике смотрится отвратительно на самом деле - то есть с видимой пользователю задержкой


Ну да. В принципе как вариант выхода из ситуации. 

 
Igor Kryuchkov:

Ну да. В принципе как вариант выхода из ситуации. 


Можно ли в описании прописать какой нибудь символ, например ту же звездочку? Что бы был не текст, а например символ звездочки. И как сменить описание VLINE?

 
Igor Kryuchkov: Можно ли в описании прописать какой нибудь символ, например ту же звездочку? Что бы был не текст, а например символ звездочки.

Вот этот индикатор подскажет, как это сделать. Отображает набор символов указанного шрифта. Еще посмотрите индикаторы - стрелочники

 
Igor Kryuchkov:

Можно ли в описании прописать какой нибудь символ, например ту же звездочку? Что бы был не текст, а например символ звездочки. И как сменить описание VLINE?

После создания объекта (ObjectCreate(...)), например, вертикальной линии OBJ_VLINE, пишите оператор  ObjectSetString(0, Имя_объекта, OBJPROP_TEXT, Описание ); В переменной Описание пишите: "Привет": Описание="Привет"; Всё, описание объекта появится. Это легко.

 
Victor Ziborov:

После создания объекта (ObjectCreate(...)), например, вертикальной линии OBJ_VLINE, пишите оператор  ObjectSetString(0, Имя_объекта, OBJPROP_TEXT, Описание ); В переменной Описание пишите: "Привет": Описание="Привет"; Всё, описание объекта появится. Это легко.


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

 
STARIJ:

Вот этот индикатор подскажет, как это сделать. Отображает набор символов указанного шрифта. Еще посмотрите индикаторы - стрелочники


Я знаком с индикаторами стрелочниками, знаю про шрфит windings. Но опять же проблема в том, что нельзя для описания обьекта VLINE указать шрифт windings

 
Igor Kryuchkov:

Я знаком с индикаторами стрелочниками, знаю про шрфит windings. Но опять же проблема в том, что нельзя для описания обьекта VLINE указать шрифт windings

Используйте отдельный объект - OBJ_TEXT, который будет перемещаться при каждом событии графика (изменение масштаба, прокрутка и т. д.), рассчитывая его ценовую координату (координата по времени будет постоянной), исходя из текущего состояния графика (см. функции ChartXYToTimePrice и ChartTimePriceToXY). Ничего архисложного в этом нет. Да и смотрится очень хорошо. По крайней мере, каких-то видимых задержек в реакции я не наблюдал.

Еще можно сделать от обратного - объектом OBJ_LABEL. В этом случае потребуется отображать подписи только для тех объектов, которые находятся в видимой части графика. При разумном подходе этот вариант может дать более высокое быстродействие, чем первый.

Причина обращения: