Обсуждение статьи "Создание пользовательских индикаторов для начинающих (Часть 1): Индикатор SuperTrend"

Опубликована статья Создание пользовательских индикаторов для начинающих (Часть 1): Индикатор SuperTrend:

В данной статье описывается создание надежного индикатора SuperTrend на MQL5 с использованием полос на основе ATR, механизма фиксации полосы и строгого соблюдения индексации как в таймсериях, что позволяет избежать скрытых ошибок рекурсивного расчета и перерисовки на закрытых барах. Мы рассмотрим привязку буферов, управление хэндлом индикатора ATR, задание начальных значений и логику подтверждения стрелок. Сопутствующий торговый советник (EA) демонстрирует практическую интеграцию

SuperTrend — яркий пример классического проекта, над которым работают по выходным: два разработчика могут получить одинаковые технические задания, но в итоге создать совершенно разные реализации. Эта концепция хорошо известна и основана на подходе с использованием полос волатильности (как в каналах Кельтнера или полосах Боллинджера). Однако вместо статической огибающей вокруг цены отображается одна линия, которая располагается то по одну, то по другую сторону от цены в зависимости от направления тренда. Эта концепция сочетает в себе показатель ATR (средний истинный диапазон) с механизмом фиксации — принципом механизма фиксации полосы. Эту логику можно реализовать примерно в двадцати строках кода.

Перерисовка может быть вызвана несколькими различными причинами:

  • изменением текущего формирующегося бара, что нормально и ожидаемо;
  • изменением закрытых баров из-за ошибки управления состоянием — именно этому посвящена данная статья;
  • реальной утечкой данных из будущего, которая представляет собой отдельную и более серьезную проблему.

Более тонкая проблема, характерная для SuperTrend, заключается в том, что значения полос рассчитываются рекурсивно, поэтому каждый бар зависит от сохраненного состояния предыдущего бара. Верхняя полоса текущего бара зависит от верхней полосы и цены закрытия предыдущего бара. Это означает, что бар i нельзя рассчитать изолированно: необходимо знать корректное состояние бара i−1 (или i+1 при индексации как в таймсериях). Поэтому направление обхода в цикле должно соответствовать способу индексации массивов (как в таймсериях или обычному); иначе рекурсивный расчет на исторических данных может незаметно нарушиться.

Создание пользовательских индикаторов для начинающих (часть 1): индикатор SuperTrend


Автор: Syed Jawad Hussain Naqvi

отличная работа

Очень интересный торговый подход и индикатор и робот! Изучаю.... Спасибо!