Русский

Справочник MQL4 Пользовательские индикаторы

Пользовательские индикаторы

Группа функций, используемых при оформлении пользовательских индикаторов. Данные функции нельзя использовать при написании советников и скриптов.

Функция

Действие

HideTestIndicators

Выставляет флаг скрытия индикаторов, вызываемых экспертом

IndicatorSetDouble

Задает значение свойства индикатора, имеющего тип double

IndicatorSetInteger

Задает значение свойства индикатора,имеющего тип int

IndicatorSetString

Задает значение свойства индикатора, имеющего тип string

SetIndexBuffer

Связывает указанный индикаторный буфер с одномерным динамическим массивом типа double

IndicatorBuffers

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

IndicatorCounted

Возвращает количество баров, не измененных после последнего вызова индикатора

IndicatorDigits

Устанавливает формат точности (количество знаков после десятичной точки) для визуализации значений индикатора

IndicatorShortName

Устанавливает "короткое" имя пользовательского индикатора для отображения в подокне индикатора и в окне DataWindow

SetIndexArrow

Устанавливает значок для линии индикаторов, имеющей стиль DRAW_ARROW

SetIndexDrawBegin

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

SetIndexEmptyValue

Устанавливает значение пустой величины для линии индикатора

SetIndexLabel

Устанавливает текст описания линии индикатора для отображения информации в окне DataWindow и всплывающей подсказке

SetIndexShift

Устанавливает смещение линии индикатора относительно начала графика

SetIndexStyle

Устанавливает новый тип, стиль, ширину и цвет для указанной линии индикатора

SetLevelStyle

Устанавливает новый стиль, ширину и цвет для горизонтальных уровней индикатора, выводимого в отдельное окно

SetLevelValue

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

Свойства индикаторов можно устанавливать как с помощью директив компилятора, так и с помощью функций. Для лучшего понимания рекомендуется изучить стили индикаторов в примерах.

Все необходимые расчеты пользовательских индикаторов необходимо размещать в предопределенной функции OnCalculate().

 

Что нового в MQL5

Для создания пользовательских индикаторов программистам на MQL4 доступно 8 буферов и 6 стилей рисования. В MQL5 этот набор был существенно увеличен – теперь можно использовать до 512 индикаторных буферов и 18 стилей отрисовки.  Кроме того, теперь для вычисления значений индикаторов не обязательно использовать индексацию таймсерий, при которой расчет ведется от настоящего к прошлому. Такой подход очень удобен для написания советников, но вызвывает сложности при работе с индикаторными буферами в циклах. Теперь направление индексации в массивах можно задавать самому, и писать индикаторы стало писать гораздо проще.

Еще одна интересная возможность языка MQL5 – динамическое изменение стиля рисования с помощью функций PlotIndexSetXXX. Например, при наступлении определенного условия можно на лету изменить цвет, стиль и толщину линии индикатора, цвет и код стрелки.

color_ma

Для расчета значений индикатора добавлен еще один обработчик OnCalculate(), который позволяет вычислять значения индикатора на основе другого индикатора. Таким образом, В MQL5 пользовательские индикаторы можно накладывать на другие индикаторы (например, TEMA от MACD), и тем самым получать новые комбинации индикаторов для быстрой проверки идей без программирования.