- Основные характеристики индикаторов
- Главное событие индикаторов: OnCalculate
- Два типа индикаторов: для главного и отдельного окна
- Настройка количества буферов и графических построений
- Назначение массива в качестве буфера: SetIndexBuffer
- Настройка графических построений: PlotIndexSetInteger
- Правила сопоставления буферов и диаграмм
- Применение директив для настройки графических построений
- Установка названий для графических построений
- Визуализация пропусков данных (пустых элементов)
- Индикаторы с собственным подокном: размер и уровни
- Общие свойства индикаторов: заголовок и точность значений
- Поэлементное раскрашивание диаграмм
- Пропуск отрисовки на начальных барах
- Ожидание данных и управление видимостью (DRAW_NONE)
- Мультивалютные и мультитаймфреймовые индикаторы
- Отслеживание формирования баров
- Тестирование индикаторов
- Ограничения и преимущества индикаторов
- Создание заготовки индикатора в Мастере MQL
Общие свойства индикаторов: заголовок и точность значений
Для всех индикаторов поддерживается пара важных свойств, не связанных с расчетами, но улучшающих опыт пользователя. Их корректная установка в обработчике OnInit стала частью стандарта разработки индикаторов.
Целочисленное свойство INDICATOR_DIGITS задается с помощью рассмотренной ранее функции IndicatorSetInteger и влияет на точность представления вещественных чисел на графике и в Окне данных. По умолчанию терминал выводит 6 разрядов после десятичной точки. Если показания индикатора связаны с ценой текущего инструмента, то имеет смысл установить данное свойство равным точности представления цен: IndicatorSetInteger(INDICATOR_DIGITS, _Digits).
В случае WPR значения представляют собой аналог процентов, и потому имеет смысл ограничить выводимые значения двумя знаками после запятой.
IndicatorSetInteger(INDICATOR_DIGITS, 2); |
Вторым общеупотребительным свойством является строковое INDICATOR_SHORTNAME — для него используется функция IndicatorSetString. Это заголовок индикатора, выводимый во всплывающих подсказках, а также в левом верхнем углу подокна, если индикатор имеет собственное окно. Когда он не задан явным образом, используется название файла индикатора. В частности, на скриншоте в предыдущем разделе мы видим заголовок "IndWPR".
В заголовке индикатора принято отображать главные входные переменные и режимы работы (если их несколько).
Например, для WPR, как правило, включают в заголовок выбранный пользователем период.
Кроме того, заголовок позволяет сократить название. Это важно, потому что длина названия ограничена 63-мя символами.
Для обновленной версии WPR будем использовать такую настройку:
IndicatorSetString(INDICATOR_SHORTNAME, "%R" + "(" + (string)WPRPeriod + ")"); |
Результаты этих усовершенствований проверим уже в следующем разделе, после того как раскрасим зоны перекупленности и перепроданности в разные цвета (см. пример IndColorWPR.mq5).