- Основные характеристики индикаторов
- Главное событие индикаторов: OnCalculate
- Два типа индикаторов: для главного и отдельного окна
- Настройка количества буферов и графических построений
- Назначение массива в качестве буфера: SetIndexBuffer
- Настройка графических построений: PlotIndexSetInteger
- Правила сопоставления буферов и диаграмм
- Применение директив для настройки графических построений
- Установка названий для графических построений
- Визуализация пропусков данных (пустых элементов)
- Индикаторы с собственным подокном: размер и уровни
- Общие свойства индикаторов: заголовок и точность значений
- Поэлементное раскрашивание диаграмм
- Пропуск отрисовки на начальных барах
- Ожидание данных и управление видимостью (DRAW_NONE)
- Мультивалютные и мультитаймфреймовые индикаторы
- Отслеживание формирования баров
- Тестирование индикаторов
- Ограничения и преимущества индикаторов
- Создание заготовки индикатора в Мастере MQL
Создание пользовательских индикаторов
Индикаторы — один из наиболее востребованных типов MQL-программ. Они являются простым и вместе с тем мощным средством технического анализа. Основной механизм их использования заключается в обработке исходных котировочных данных с помощью формул для создания производных таймсерий, которые позволяют оценить и визуализировать специфические характеристики рыночных процессов. В принципе, любая таймсерия, в том числе и та, что получена в результате расчетов индикатора, может быть подана в другой индикатор, и так далее. Формулы многих известных индикаторов (например, MACD) фактически состоят из обращений к нескольким взаимосвязанным индикаторам.
Пользователи терминала, несомненно, знакомы со многими встроенными индикаторами, а также знают, что с помощью языка MQL5 перечень доступных индикаторов может быть расширен. С точки зрения пользователя встроенные и заказные индикаторы, реализованные на MQL5, работают совершенно одинаково.
Как правило, индикаторы отображают результаты своей работы в виде линий, гистограмм и прочих графических построений в окне графика с котировками. Каждая такая диаграмма визуализируется на основе рассчитанных таймсерий, которые хранятся внутри индикаторов в специальных массивах, называемых индикаторными буферами: они доступны для просмотра в Окне данных терминала наравне с OHLC-ценами. Однако индикаторы могут предоставлять дополнительный функционал помимо буферов или не иметь их вовсе. Например, индикаторы часто применяются для решения задач, где требуется создавать графические объекты, управлять самим графиком и его свойствами, взаимодействовать с пользователем (см. OnChartEvent).
В данной главе мы изучим базовые принципы создания индикаторов на MQL5. Такие индикаторы принято называть "пользовательскими", потому что пользователь может сам написать их с нуля или скомпилировать из готовых исходных кодов. В следующей главе мы обратимся к вопросам программного управления пользовательскими и встроенными индикаторами, что позволит конструировать более сложные индикаторы и подготовит почву для получения на основе индикаторов торговых сигналов и фильтров для экспертов.
Чуть позже мы освоим технологию по внедрению индикаторов внутрь исполняемых MQL-программ в виде ресурсов.