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

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

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

Maxim Kuznetsov
13654
Maxim Kuznetsov  
Igor Kryuchkov:

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


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

Igor Kryuchkov
8648
Igor Kryuchkov  
Maxim Kuznetsov:


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


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

Igor Kryuchkov
8648
Igor Kryuchkov  
Igor Kryuchkov:

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


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

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

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

Victor Ziborov
3629
Victor Ziborov  
Igor Kryuchkov:

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

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

Igor Kryuchkov
8648
Igor Kryuchkov  
Victor Ziborov:

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


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

Igor Kryuchkov
8648
Igor Kryuchkov  
STARIJ:

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


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

Ihor Herasko
21797
Ihor Herasko  
Igor Kryuchkov:

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

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

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий