Рисование объекта

 

Здравствуйте. Подскажите,хочу чтобы рисовалась стрелка когда значение к примеру 70

 
miron_like:

Здравствуйте. Подскажите,хочу чтобы рисовалась стрелка когда value=70 к примеру. Как реализовать? Визуально примерно так:



https://www.mql5.com/ru/docs/objects/objectcreate
Документация по MQL5: Графические объекты / ObjectCreate
Документация по MQL5: Графические объекты / ObjectCreate
  • www.mql5.com
Графические объекты / ObjectCreate - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Здесь наверно было бы лучше доработать индикатор, добавить пару буферов и рисовать стрелки ими.
 
miron_like:
Вот у меня происходит ступор. Как в OnCalculate их прорисовать, по заданному значению value, т.е. когда value = заданному числу, нарисовать стрелку.


Лучше создать индикатор с типом рисования DRAW_ARROW и внутри индикатора получить и использовать хэндл от iRSI. Тогда никаких проблем не будет с объектами.

 
miron_like:

Вот у меня происходит ступор. Как в OnCalculate их прорисовать, по заданному значению value, т.е. когда value = заданному числу, нарисовать стрелку.

Надо в ините вызвать функцию SetIndexBuffer() для добавляемых буферов, в свойствах 

индикатора изменить свойства #property indicator_buffers и #property indicator_plots, 

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

буфера с линией.

А дальше догадаетесь...

 
Dmitry Fedoseev:

Надо в ините вызвать функцию SetIndexBuffer() для добавляемых буферов, в свойствах 

индикатора изменить свойства #property indicator_buffers и #property indicator_plots, 

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

буфера с линией.

А дальше догадаетесь...

 

Вот такой гибрид:

RSI Arrow

На скриншоте индикатор RSI показан просто для сравнения. Сам индикатор "RSI Arrow" рисует только стрелочки в главном окне.
Файлы:
RSI_Arrow.mq5  16 kb
 
miron_like:
Вот так сделал. А дальше мыслей нет(

Наверно стоит начать с начала. В статьях есть много статей для новичков по программированию индикаторов
 
В одном индикаторе не может быть более одного стиля индикатора. Или линии или стрелки (для Вашего примера). 
 

Вот пример: 

RSI Arrow

индикатор берёт данные с iRSI и проверяет преодоление уровней: если преодолён уровень 70 (задаётся в настройках) отображается стрелка (можно задавать любой из шрифта Wingdings), если преодолевается (вниз) уровень 30 (задаётся в настройках) отображается стрелка (можно задавать любой из шрифта Wingdings).

Общий алгоритм: тип рисования индикатора DRAW_ARROW - то есть рисуем объектами из шрифта Wingdings. Внутри используем данные с индикатора iRSI (данные получаем через хендл).

 
Vladimir Karputov:
В одном индикаторе не может быть более одного стиля индикатора. Или линии или стрелки (для Вашего примера). 
Не понял! Как это не может? А разве для каждого буфера нельзя задать стиль?
Причина обращения: