ZigZag соединяет ломаной линией значимые вершины и впадины графика, отсекая колебания меньше заданного порога. Выглядит это так, будто индикатор безошибочно указывает все развороты — и именно поэтому он чаще других вводит в заблуждение.
Причина в устройстве: последнее колено ломаной не зафиксировано. Пока цена продолжает двигаться, точка экстремума переносится, и линия перерисовывается. На истории всё выглядит идеально, потому что там все колена уже зафиксированы. В реальном времени последнее колено — это не факт, а предположение, которое меняется с каждым новым баром.
Ключевые наблюдения
- Индикатор перерисовывает последнее колено, поэтому торговых сигналов по нему не существует.
- Порог задаётся в процентах или в пунктах: он определяет, какое колебание считается значимым.
- На истории картинка всегда идеальная — это следствие перерисовки, а не качества инструмента.
- Рабочее применение — разметка структуры, измерение колен и подготовка данных для расчётов.
- Любая стратегия, использующая последнее колено ZigZag, в бэктесте показывает недостижимый результат.
Идеальный бэктест на ZigZag — это не находка, а признак того, что стратегия смотрит в будущее. Проверять её нужно первым делом.
— Mr. Kernel, технический директор
Как устроен и что перерисовывает
Индикатор ищет экстремумы, отстоящие от предыдущего не меньше чем на заданный порог, и соединяет их отрезками. Все колена, кроме последнего, после формирования следующего экстремума фиксируются и больше не меняются.
Последнее колено остаётся открытым: если цена продолжит движение в ту же сторону, точка экстремума переедет дальше. Именно этот механизм и создаёт иллюзию точности при взгляде на историю.
Практическая проверка занимает минуту: откройте график в реальном времени и понаблюдайте за последним коленом в течение нескольких часов. Оно будет перестраиваться, и станет очевидно, что торговать по нему нельзя.
Почему это ломает бэктест
Если правило стратегии ссылается на последнее колено, в тестере оно вычисляется по уже сформировавшейся истории — то есть с учётом данных, которых в момент решения не существовало. Это утечка будущего в чистом виде.
Внешне такой тест выглядит блестяще: сделки открываются точно на разворотах, кривая доходности ровная. На реальном счёте то же правило даёт совершенно другие входы, потому что колено на момент входа было в другом месте.
Диагностика простая: сравните сигнал, который стратегия даёт в реальном времени, с сигналом на той же дате в тестере. Расхождение означает утечку, и никакая доработка параметров её не устранит.
Параметры и что они меняют
Основной параметр — минимальное отклонение, задаваемое в процентах или пунктах. Чем он больше, тем крупнее колебания попадают в разметку и тем меньше колен на графике.
Подбирать порог удобнее в долях средней амплитуды периода, а не в фиксированных пунктах: тогда разметка остаётся сопоставимой между инструментами с разной волатильностью.
У части реализаций есть дополнительные параметры глубины и отклонения. Они влияют на то, насколько быстро индикатор признаёт новый экстремум, но природу перерисовки не меняют.
Где инструмент действительно полезен
Первое применение — разметка структуры на истории. ZigZag быстро показывает последовательность максимумов и минимумов, и это экономит время при ручном разборе прошлых движений.
Второе — измерения. По зафиксированным коленам удобно считать среднюю длину импульса и коррекции, распределение амплитуд, типичную глубину отката. Эти величины затем используются в правилах — уже без самого индикатора.
Третье — подготовка данных для проверки гипотез. Разметка экстремумов нужна, например, при поиске расхождений или при проверке фигур, и здесь автоматизация экономит много ручной работы.
Как использовать безопасно
Правило одно: в торговых решениях допустимы только зафиксированные колена, то есть все, кроме последнего. Если стратегия построена так, что последнее колено ей не нужно, перерисовка перестаёт быть проблемой.
Практически это означает задержку: разворот подтверждается только после формирования следующего экстремума, а к этому моменту часть движения уже прошла. Такова цена корректности, и обойти её нельзя.
Если по правилам стратегии задержка неприемлема, ZigZag заменяется прямым определением структуры: экстремум считается подтверждённым после заданного числа периодов без обновления. Это то же самое, но с явно заданным порогом.
Как измерять по зафиксированным коленам
Соберите длины всех колен за несколько лет и разделите их на импульсные и коррекционные по направлению старшего таймфрейма. Получатся два распределения, из которых видно типичный размер движения и типичную глубину отката на вашем инструменте.
Эти величины напрямую входят в правила: типичная глубина отката задаёт зону входа при торговле по тренду, а типичный размер импульса — реалистичную цель. Обе величины меняются со временем, поэтому пересчитывать их стоит по расписанию, а не один раз.
Отдельно полезно посмотреть на распределение длительности колен в периодах. Оно показывает, сколько времени в среднем живёт движение, и помогает выбрать таймфрейм под доступное вам время у графика.
Похожие инструменты с той же проблемой
Перерисовка свойственна не только ZigZag. Тем же страдают индикаторы, которые ищут экстремумы с подтверждением по будущим барам, часть реализаций разметки волн и любые построения, где точка фиксируется задним числом.
Общий признак: если значение на последнем баре меняется после появления следующего, инструмент перерисовывается. Проверяется это наблюдением в реальном времени за несколько часов, и делать такую проверку стоит с каждым новым индикатором.
Из этого вытекает правило для сборки стратегии: любое значение, которое может измениться после закрытия периода, в правилах не используется. Оно допустимо только в исследовательской части — при разметке и измерениях на истории.
Что заменяет индикатор в правилах
Прямое определение структуры не требует индикатора вовсе: экстремум считается подтверждённым, если после него прошло заданное число периодов без обновления. Порог задаётся заранее и работает одинаково на всех инструментах, если выражен в периодах, а не в пунктах.
Такой способ даёт ту же разметку, что и ZigZag по зафиксированным коленам, но с явным правилом подтверждения. Главное преимущество — прозрачность: видно, какая именно задержка заложена в решение, и её можно варьировать при проверке устойчивости стратегии.
Практически стоит прогнать стратегию на нескольких значениях порога подтверждения. Если результат резко меняется от одного значения к соседнему, вы нашли особенность конкретной выборки, а не работающее правило.
Читайте также
| Задача | Пригоден | Почему |
|---|---|---|
| Сигнал на вход в реальном времени | Нет | Последнее колено перерисовывается |
| Бэктест стратегии по последнему колену | Нет | Утечка будущих данных, результат недостижим |
| Разметка структуры на истории | Да | Зафиксированные колена не меняются |
| Измерение длины импульсов и откатов | Да | Считается по зафиксированным коленам |
| Подготовка данных для поиска расхождений | Да | Автоматизирует ручную разметку экстремумов |
| Определение разворота с задержкой | Да | Если правило использует только предпоследнее колено |
Граница проходит по одному признаку: используется ли последнее, ещё не зафиксированное колено. Всё, что опирается только на подтверждённые экстремумы, корректно и проверяемо.
Частые вопросы
Можно ли настроить ZigZag так, чтобы он не перерисовывался?
Нет, перерисовка заложена в алгоритм: пока движение продолжается, точка последнего экстремума переносится. Обойти это можно только правилом — использовать в решениях лишь зафиксированные колена, то есть все, кроме последнего.
Почему стратегия на ZigZag показывает отличный бэктест?
Потому что в тестере последнее колено вычисляется по уже известной истории — с данными, которых в момент решения не было. Это утечка будущего, и результат такого теста на реальном счёте не воспроизводится.
Как выбрать порог отклонения?
Удобнее задавать его в долях средней амплитуды периода, а не в фиксированных пунктах: тогда разметка остаётся сопоставимой между инструментами с разной волатильностью и между разными таймфреймами.
Что запомнить
- Никогда не стройте торговые правила на последнем колене — оно перерисовывается.
- Проверьте свои стратегии: идеальная кривая на ZigZag почти всегда означает утечку будущего.
- Используйте индикатор для разметки истории и измерений, а не для сигналов.
- Задавайте порог в долях ATR, чтобы разметка была сопоставима между инструментами.
