- Основные характеристики индикаторов
- Главное событие индикаторов: OnCalculate
- Два типа индикаторов: для главного и отдельного окна
- Настройка количества буферов и графических построений
- Назначение массива в качестве буфера: SetIndexBuffer
- Настройка графических построений: PlotIndexSetInteger
- Правила сопоставления буферов и диаграмм
- Применение директив для настройки графических построений
- Установка названий для графических построений
- Визуализация пропусков данных (пустых элементов)
- Индикаторы с собственным подокном: размер и уровни
- Общие свойства индикаторов: заголовок и точность значений
- Поэлементное раскрашивание диаграмм
- Пропуск отрисовки на начальных барах
- Ожидание данных и управление видимостью (DRAW_NONE)
- Мультивалютные и мультитаймфреймовые индикаторы
- Отслеживание формирования баров
- Тестирование индикаторов
- Ограничения и преимущества индикаторов
- Создание заготовки индикатора в Мастере MQL
Установка названий для графических построений
В предыдущих примерах данной главы индикаторные буфера обозначались в Окне данных названием самого индикатора. Это малоинформативно. MQL5 API предоставляет возможность задать для каждого буфера собственное название. Сделать это можно двумя уже известными нам способами: с помощью директивы #propertу и вызова специальной функции PlotIndexSetString.
bool PlotIndexSetString(int index, ENUM_PLOT_PROPERTY_STRING property, string value)
Прототип функции аналогичен PlotIndexSetInteger за исключением того, что тип свойств (параметр value) — string. Функция поддерживает только одно свойство PLOT_LABEL (это константа перечисления ENUM_PLOT_PROPERTY_STRING). Индекс настраиваемой диаграммы в параметре index должен быть от 0 до N-1, где N — общее количество диаграмм, указанных в #property indicator_plots N.
При использовании директивы к индексу диаграммы следует сделать поправку на 1. Напомним, что нумерация графических построений в директивах начинается с единицы, в то время как в параметрах функций — с нуля.
Директива |
Функция |
Описание |
---|---|---|
#property indicator_labelN |
PlotIndexSetString(N-1, PLOT_LABEL, string) |
Задает текстовую метку для отображения в Окне данных и во всплывающих подсказках |
Для графических серий, требующих несколько индикаторных буферов (например, DRAW_CANDLES, DRAW_FILLING и других), имена меток задаются через разделитель ';'.
Метки также показываются во всплывающей подсказке при наведении курсора на диаграмму.
В примере IndLabelHighLowClose.mq5 добавим две директивы по сравнению с IndPropHighLowClose.mq5.
#property indicator_label1 "High;Low"
|
Теперь смысл значений при отображении индикатора в Окне данных более понятен.