17 апреля 2020 г.

Индикатор RHA (Recursive Heiken Ashi)

Индикатор реализует идею вложенности и сходимости вычислений известного индикатора Heiken Ashi. Помимо собственно идеи демонстрируется возможность рисовать нестандартные бары с помощью пары цветных гистограмм.

Расчёт

Первый бар равен ценовому бару, остальные рассчитываются по формуле:

ha_close = mean(open, close, high, low)
ha_open  = mean(prev_open, prev_close)
ha_high  = max(high, open, close)
ha_low   = min(low, open, close)

, где:
  • ha_close, ha_open, ha_high, ha_low - новые значения бара
  • close, open, high, low - данные исходного бара
  • prev_open, prev_close - открытие и закрытие предыдущего бара
  • mean - среднее арифметическое
  • max, min - максимум и минимум

Так получается классический Heiken Ashi на основе ценовых данных.


Идея моего варианта индикатора в том, чтобы повторить эти вычисления на полученных барах снова и снова до тех пор, пока что-нибудь не получится. К счастью, уже примерно на 10-й итерации значения сходятся к некоторому стабильному состоянию, и делать больше 10-15 итераций смысла уже нет.

Очевидно, для этого есть математическое объяснение, но я не стал разбираться, удовлетворившись интересным результатом. Интересно здесь то, что получается примерно то же самое, что и стандартный HA, но сглаженный, причём без каких-либо субъективных значений параметров.


По сравнению с оригинальным HA сглаживаются лишь тела свечей, хвосты остаются теми же. Цвет (направление) может измениться, причём как с опозданием, так и с опережением.

Возможно, будет интересным понаблюдать за небольшими степенями вложенности, поэтому в индикаторе оставлено несколько промежуточных степеней вложенности.

Визуализация

В этом индикаторе я немного расширил возможность отображения свечей по сравнению с другими моими свечными индикаторами. Помимо обычных свечей индикатор может показывать значения в виде свечей с затенёнными хвостами, просто в виде баров или баров с затенёнными хвостами.


В MT5 это делается с помощью наложения двух стандартных цветных гистограмм. В MT4 таких гистограмм нет, и их приходится имитировать (mki#54). Подробности реализации смотрите в коде в файле colorhistogram2.mqh.

В MT5 есть баг (mki#55), который мешает нормальному отображению подобных индикаторов, поэтому в MT4 индикатор выглядит лучше на средних и больших масштабах графика.

В этом индикаторе есть возможность отображать исходную цену, так что можно использовать пару таких индикаторов - один для исходной цены (сверху) и второй для HA желаемого уровня вложенности (снизу), оригинальные бары при этом можно убрать с графика сбросом соответствующих цветов в None.


Кроме того, можно отображать оригинальные ценовые бары, но с цветом HA (см. параметр Color Only).

Параметры

  • Depth: степень вложенности:
    • Original price: исходная цена
    • Classic HA (x1): классический HA, степень вложенности 1
    • HA(HA(...)) (x#): HA по HA с указанной вложенностью
  • Bull Color: цвет бычьей свечи (вверх)
  • Bear Color: цвет медвежьей свечи (вниз)
  • Bar Style:
    • Candle (with shaded tail): свеча (с затенёнными хвостами)
    • Narrow bar (with shaded tail): узкий бар (с затенёнными хвостами)
    • Wide bar (with shaded tail): широкий бар (с затенёнными хвостами)
    • Narrow body: только узкое тело
    • Wide body: только широкое тело
  • Shading Percent: процент затенения хвостов для стилей с хвостами (0% - минимальная видимость, 100% - максимальная)
  • Color Only: только расцветка, в этом режиме значения бара будут равны оригинальным ценам, а цвет - тому типу цены или HA, который укажите в Depth

Загрузка

Исходный код скрипта находится в хранилище: https://gitlab.com/fxcoder-mql/rha.

Комментариев нет:

Отправка комментария