ЗигЗаг — индикатор без запаздывания и перерисовки с описанием работы, настройки и стратегии

Динамика котировки формирует график, на котором цена движется от максимума к минимуму, от минимума к максимуму и т. д. Таким образом формируется последовательность из минимумов и максимумов, соединение которых отрезками приводит к образованию зигзагообразной ломаной линии. Автоматизировать ее построение позволяет индикатор ZigZag без перерисовки и запаздывания, подробно рассматриваемый в рамках этой статьи.

Описание индикатора ZigZag

На графике он рисует ломаную линию, каждый прямолинейный отрезок которой соединяет соседние максимум и минимум (рис. 1).
Рисунок 1. Вот такое визуальное представление у индикатора ЗигЗаг без запаздывания и перерисовки.
Рисунок 1. Вот такое визуальное представление у индикатора ЗигЗаг без запаздывания и перерисовки.

Как работает индикатор ZigZag

Сначала его алгоритм находит локальный минимум или максимум:

  • минимум определяется как минимальная цена свечи, справа и слева от которой расположены свечи с выше расположенными минимальными ценами;
  • максимум определяется как максимальная цена свечи, от которой в правую и в левую сторону находятся свечи с ниже расположенными максимальными ценами.

Если сначала был найден минимум, то затем ищется максимум, и наоборот. Т. е. должно соблюдаться чередование находящихся экстремумов (должна формироваться последовательность вида «…-минимум-максимум-минимум-максимум-…»).

При этом не каждый найденный экстремум, удовлетворяющий описанным выше условиям, учитывается. Дополнительно проверяется относительное ценовое различие между новым и предыдущим идентифицированными экстремумами. Если оно меньше заданной величины, то новый экстремум может быть проигнорирован (условие игнорирования задается минимальным расстоянием между этими экстремумами).

Параметры индикатора ЗигЗаг (рис. 2)

  • Depth – минимально допустимый временной интервал (в свечах) между двумя одинаковыми соседними экстремумами (минимумом и минимумом или максимумом и максимумом);
  • Deviation – минимально допустимый ценовой интервал (в процентах от значения котировки) между двумя соседними разными экстремумами, соединенными отрезком (минимумом и максимумом или максимумом и минимумом);
  • Backstep – минимальный временной интервал (в свечах) между соседними разными экстремумами, при котором рисуется отрезок, даже если не выполнено условие, заданное параметром Deviation.
Рисунок 2. Параметры, которыми настраивается индикатор ZigZag.
Рисунок 2. Параметры, которыми настраивается индикатор ZigZag.
Параметр Backstep определяет и максимальную длину временного интервала, на котором возможна перерисовка текущего экстремума. Т. е., если в течение Backstep свечей после последнего найденного и зафиксированного минимума (максимума) будет идентифицирован максимум (минимум), а затем более высокий максимум (более низкий минимум), то последний отрезок ЗигЗага перерисуется. При этом перерисованный минимум может находиться только ниже перерисованного минимума, перерисованный максимум – только выше перерисованного максимума.
Следует отметить, что описанное свойство нельзя отнести к перерисовыванию, поскольку оно является контролируемым и предсказуемым. Поэтому неперерисовывающийся ЗигЗаг без перерисовки может смело использоваться трейдерами, и не будет приводить ни к каким сюрпризам или неожиданностям.

Как рассчитывается индикатор ZigZag

Алгоритм расчета следующий:

  1. находится локальный минимум, удовлетворяющим вышеуказанным условиям;
  2. если он не удовлетворяет условию, заданному параметром Depth, то алгоритм его игнорирует и снова выполняется шаг 1;
  3. если он не удовлетворяет условиям, заданным параметрами Deviation и Backstep (а они являются частично взаимозависимыми), то он игнорируется алгоритмом, и совершается переход на шаг 1;
  4. найденный минимум становится истинным и если перед ним уже был найден максимум, то они соединяются отрезком;
  5. находится локальный максимум;
  6. при его неудовлетворении заданному параметром Depth условию он алгоритмом игнорируется и снова выполняется шаг 5;
  7. при его неудовлетворении заданным параметрами Backstep и Deviation условиям алгоритм его игнорирует и переходит к шагу 5;
  8. найденный максимум становится истинным и соединяется отрезком с предыдущим минимумом;
  9. переход на шаг 1.

Таким образом индикатор ZigZag рассчитывается по циклическому алгоритму, поочередно находящему локальные экстремумы и проверяющему их на соответствие условиям, задаваемым входными параметрами.

Как настроить индикатор ЗигЗаг

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

Рисунок 3. К пояснению значения параметра Deviation индикатора ZigZag.
Рисунок 3. К пояснению значения параметра Deviation индикатора ZigZag.
Сначала рассмотрим параметр Deviation, смысл которого заключается в том, чтобы задать минимальное различие между соседними минимумом и максимумом (на рис. 3 обозначено фиолетовым отрезком). Таким образом параметром Deviation напрямую определяет минимальный угол, под которым может располагаться каждый отрезок ломаной ЗигЗага к горизонтали. Если задать ему значение 0, то будут строиться даже горизонтальные отрезки, соединяющие одноуровневые максимум и минимум.
Параметром Deviation можно настроить индикатор ЗигЗаг без запаздывания и перерисовки на поиск экстремумов только при высокой волатильности, игнорируя при этом состояния флета.
Значения параметров Depth и Backstep определяют степень фильтрации алгоритмом нерегулярных ценовых импульсов. Эти импульсы обусловлены единичными действиями отдельных крупных игроков, реакцией на новости и прочие события, не вписывающиеся в теорию цикличности рынка, на базе которой и работает индикатор ZigZag. Чем больше будут значения этих двух параметров, тем больший период будет у ломаной линии (тем больше будет расстояние между экстремумами).
Рисунок 4. Описание параметров Depth и Backstep индикатора ЗигЗаг.
Рисунок 4. Описание параметров Depth и Backstep индикатора ЗигЗаг.

В общем случае сначала определяется оптимальное значение для Depth, которое должно быть эквивалентно минимальному расстоянию между двумя последовательными минимумами или между двумя последовательными максимумами (расстояние между красной и желтой вертикалью на рис. 4), зафиксированными на ближайшем ценовом интервале или регулярно наблюдающимися в данный временной период (например, во время той или иной торговой сессии). А параметр Backstep задается равным примерно 50% от значения Depth (расстояния между желтой и голубой или голубой и красной вертикалями на рис. 4).

Стратегия ЗигЗаг

Разработано несколько методов практического применения показаний индикатора ZigZag. Например, с его помощью легко определять тренды, для которых, как известно, характерны следующие признаки:

  • для восходящего – повышение уровней последовательных максимумов (выделен желтыми вертикалами на рис. 5);
  • для нисходящего – понижение уровней последовательных минимумов (выделен на рис. 6 желтыми вертикалями).
Рисунок 5. Восходящий тренд, отмеченный индикатором ZigZag без запаздывания и перерисовки.
Рисунок 5. Восходящий тренд, отмеченный индикатором ZigZag без запаздывания и перерисовки.
Рисунок 6. Нисходящий тренд, хорошо заметный на неперерисовывающемся ЗигЗаге без перерисовки.
Рисунок 6. Нисходящий тренд, хорошо заметный на неперерисовывающемся ЗигЗаге без перерисовки.

Другой метод применения ZigZag заключается в разметке уровней поддержки и сопротивления. На рис. 7 во время нисходящего движения сформировались два сопротивления (первое отмечено желтой горизонталью, а второе – белой горизонталью). Сразу после их формирования цена тестировала их и затем разворачивалась вниз. Попытка пробития второго сопротивления произошла в момент, отмеченный красной стрелкой (после него цена совершила некоторый откат, но затем были все-таки побороли медведей, и цена двинулась дальше вверх).

Рисунок 7. Сопротивления, отмеченные при помощи индикатора ЗигЗаг.
Рисунок 7. Сопротивления, отмеченные при помощи индикатора ЗигЗаг.

Дойдя до первого сопротивления, цена протестировала его (момент отмечен голубой стрелкой), но развернулась вниз. При следующем тестировании было совершено несколько тестирований и откатов, но затем цена все-таки преодолела первое сопротивление и пошла вверх.

Рисунок 8. Поддержка, отмеченная по минимуму индикатора ZigZag.
Рисунок 8. Поддержка, отмеченная по минимуму индикатора ZigZag.

На рис. 8 на минимуме, отмеченном белой стрелкой, образовалась поддержка (обозначена белой горизонталью). Когда цена ее вновь достигла, то некоторое время тестировала. Затем совершила ложное пробитие, после чего вновь стала расти. В этом примере сила медведей на ценовом уровне поддержки не смогла преодолеть силу быков.

Рисунок 9. Паттерн «Голова и плечи», хорошо различимый на разметке индикатора ZigZag.
Рисунок 9. Паттерн «Голова и плечи», хорошо различимый на разметке индикатора ZigZag.

На ломаной линии ЗигЗага достаточно просто определять и многосвечные паттерны, в большинстве из которых в качестве опорных используются локальные минимумы и максимумы. На рис. 9 приведен пример с паттерном «Голова и плечи», который значительно лучше заметен на индикаторной разметке, чем на простом графике.

Рисунок 10. Гармонический паттерн «Бабочка Гартли», отлично различимый на ломаной индикатора ZigZag.
Рисунок 10. Гармонический паттерн «Бабочка Гартли», отлично различимый на ломаной индикатора ZigZag.

Очень удобно с помощью ЗигЗага находить и гармонические свечные паттерны. Например, на рис. 10 показана «Бабочка Гартли», а на рис. 11 – «Акула».

Рисунок 11. Гармонический паттерн «Акула», быстро находящийся с помощью индикатора ЗигЗаг.
Рисунок 11. Гармонический паттерн «Акула», быстро находящийся с помощью индикатора ЗигЗаг.

Индикатор ЗигЗаг модифицированный

Различные модификации алгоритма направлены, в основном, на повышение удобства работы с индикатором. Например, реализована версия, в которой идентификация экстремума сопровождается оповещением. Называется она – индикатор ZigZag Alert (скачать). Ее функционал заключается в определении пробития ценой последних сформированных экстремумов. После того, как эти пробития были идентифицированы, отправляются оповещения на email и мобильный терминал.

Другая модификация ЗигЗага заключается в реализации возможности отображения на текущем графике ломаных линий, построенных на других таймфреймах. Называется такой индикатор ZigZag MTF (скачать). Его входные параметры имеют формат массивов, в которых через запятую перечисляются значения для разных ТФ (их последовательность определяется переменной GrossPeriod, в которой через запятую перечисляются величины, равные количеству минут в расчетных таймфреймах).

Рисунок 12. Комплекс параметров индикатора ZigZag MTF.
Рисунок 12. Комплекс параметров индикатора ZigZag MTF.

Например, на рис. 12 в переменной GrossPeriod сначала задан ТФ H1 (60 минут), затем ТФ H4 (240 минут), а затем ТФ D1 (1440 минут). Таким образом первые значения в параметрах Depth, Deviation и Backstep будут соответствовать ТФ H1, вторые – H4, третьи – D1. В результате на графике будут отображаться три ЗигЗага (причем на любом ТФ), соответствующие указанным таймфреймам (рис. 13). Переменная MaxBar задает длину временного интервала, на котором будет производиться расчет на каждом ТФ.

Рисунок 13. Три модифицированных ЗигЗага, построенные индикатором ZigZag MTF для различных таймфреймов.
Рисунок 13. Три модифицированных ЗигЗага, построенные индикатором ZigZag MTF для различных таймфреймов.
Следует отметить, что и обычный ЗигЗаг может использоваться для отображения ломаной линии, рассчитанной на другом ТФ. Для этого следует пропорционально изменить значения входных параметров. Однако при переключении на другой ТФ придется соответствующим образом изменять и значения параметров. В индикаторе ZigZag MTF этого делать не придется – каждая линия на любом ТФ имеет однозначную привязку к заданному параметром GrossPeriod ТФ.

Индикатор ЗигЗаг для скальпинга

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

В общем случае для рабочего ТФ (на котором совершаются сделки) следует искать на ТФ, более старшем на один или два порядка по отношению к рабочему. Например, определив, что между последовательными одинаковыми экстремумами на ТФ M15 находятся 20 свечей, следовало бы параметру Depth присвоить значение 20, а параметру Backstep – значение из интервала 8÷13 (если бы ЗигЗаг устанавливался на ТФ M15). Но если торговля ведется на ТФ M1, то данные величины следует увеличить в 15 раз (Depth присваивается значение 300, а Backstep – значение из интервала 120÷195). В результате на минутном таймфрейме получится очень растянутый ЗигЗаг (красная линия на рис. 14).
Рисунок 14. Индикатор ЗигЗаг для стратегии скальпинга.
Рисунок 14. Индикатор ЗигЗаг для стратегии скальпинга.

Белой линией на рис. 14 обозначен индикатор ZigZag, примененный к рабочему ТФ, с помощью которого отфильтровываются шумы и остаются только значимые ценовые движения. Белым крестиком отмечено формирование сопротивления (вершина красной линии). Котировка дважды отбилась от этого сопротивления снизу (белые стрелки, ориентированные вниз), а затем, пробив его, после чего оно превратилось в поддержку, два раза отбилась от нее сверху (белые стрелки, указывающие вверх).

Стратегия скальпинг торговли по индикатору ЗигЗаг заключается в определении сопротивлений и поддержек на старшем ТФ и установке на их уровнях отложенных ордеров для торговли на пробой и отбой. Цели для этих ордеров определяются по ЗигЗагу, построенному на рабочем ТФ.
ПлохоНе интересноМожно и лучшеСредненькоКрутая статья (2Голосов на Форекс блоге, средний балл: 5,00 из 5)
Загрузка...

Один комментарий

  1. Давно искал качественную информацию по зиг-заг. Браво автор!

Оставьте ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *