Ярослав Суков – Структура против Хаоса: Трендовый индикатор ZigZag (страница 2)
Классический ZigZag из MetaTrader перерисовывается, ибо использует будущее. В книге мы будем использовать только online-ZigZag (алгоритм, который фиксирует вершину только через N баров после ее формирования). Это дает нам детерминизм и возможность бэк-теста.
Таблица 1: Как интерпретировать скелет ZigZag
| Тип фрагмента | Визуально | Что означает | Действие в FVG |
| Импульс (Trend Leg) | Длинное, наклонное звено | Доминирование одного кластера (быков/медведей) | Искать FVG последнего бара импульса для входа на коррекции |
| Коррекция (Flat Leg) | Короткое, горизонтальное звено | Консолидация, ожидание триггера | Искать FVG внутри коррекции — это зона накопления |
| Расширение (Extended Leg) | Звено короче предыдущего импульса | Потеря инерции, дивергенция | Готовиться к развороту, искать FVG на вершине |
| Поглощение (Over-extended) | Звено длиннее предыдущего в 1.618+ раз | Паника или эйфория (толпа разогнана) | FVG будет закрыт в ближайшее время на 90% |
Вывод:
Мы не спрашиваем у ZigZag «Что будет?». Мы спрашиваем: «Где сейчас находится справедливая цена в контексте нашего очищенного скелета рынка?». Пока академики спорят о слабой эффективности рынка, мы строим граф структурных поворотов. И в этом графе скрыт эволюционный код рыночной реальности.
Мы прошли точку невозврата. Вы поняли, что ZigZag — это не гадание, а фильтр. Теперь мы нырнем в самое темное и самое прекрасное место — в инженерную анатомию этого инструмента. Глава 2 — это место, где нейробиолог встречается с квантовым механиком: мы разберем, почему перерисовка — это не баг, а фича, и как параметр «минимальное движение» превращает рынок из рандома в детерминированный процесс.
ГЛАВА 2. Логика построения: Параметры, отклонения и проклятие перерисовки
ZigZag — это не индикатор в классическом смысле. Это алгоритм упрощения временного ряда. Его цель — удалить из графика все движения, которые не превышают заранее заданный порог «значимости».
Представьте себе чертеж Эйфелевой башни. Если бы архитектор нанес на него каждый заклепочный шов, чертеж стал бы черным квадратом. Но он наносит только главные конструктивные линии. ZigZag делает то же самое с ценой.
Формальное определение (для левого полушария)
Пусть задан ценовой ряд `P(t)`, где `t` — дискретные моменты времени (бары). Индикатор ZigZag с параметрами `(D, B)` работает следующим образом:
1. Ищется локальный экстремум (High или Low) на интервале `B` баров.
2. Если разница между текущим кандидатом в экстремум и предыдущим зафиксированным экстремумом по модулю больше или равна `D` (минимальному движению), то кандидат принимается и становится новой вершиной ломаной.
3. Процесс повторяется, чередуя поиск High и Low. Между двумя вершинами обязательно должна быть противоположная вершина (пик после впадины, впадина после пика).
Когда вы смотрите на рынок, вы выбираете линзу. Вы можете смотреть через микроскоп (1-минутный график) или через телескоп (месячный). ZigZag — это еще и регулятор резкости.
Ключевой параметр: `Depth` (Минимальное движение цены)Это священный порог. Он может быть задан тремя способами:
1. Абсолютное значение (в пунктах): `D = 100` пунктов. Используется на форексе с фиксированной волатильностью.
2. Процентное значение (от текущей цены): `D = 0.5%`. Идеально для криптовалют и акций, где абсолютная цена не имеет смысла.
3. ATR-адаптивное (динамическое): `D = ATR(14) * 0.618`.
Золотая пропорция рынка.
Этот метод превращает ZigZag из статичного фильтра в адаптивный разум. Когда волатильность падает, порог падает — вы видите больше деталей. Когда волатильность взрывается, порог растет — вы не отвлекаетесь на ложные откаты.
- Для скальпинга (M1-M5): `D = 5-12` пунктов на форексе. Цель — поймать микроструктуру ликвидности.
- Для интрадей (M15-H1): `D = 20-40` пунктов. Убираем шум новостей.
- Для свингов (H4-Daily): `D = ATR(14) * 0.5`. Показываем тренды и ключевые коррекции.
- Для позиционной торговли (Weekly): `D = 3-5%` от цены. Остаются только исторические развороты.
Аналогия: Солнечная система
Если вы выберете `D` слишком маленьким (например, 1 пункт), ZigZag нарисует траекторию каждого атома в вашей руке. График превратится в зубы пилы — белый шум. Если `D` слишком велико (1000 пунктов), вы увидите только начало и конец тысячелетнего тренда, пропустив все интересное внутри. Оптимум находится там, где количество экстремумов за день составляет 5–9. Это число магическое: столько же объектов удерживает рабочая память человека (правило Миллера).
Устанавливая `D`, вы совершаете метафизический выбор: вы объявляете, что является сигналом, а что — шумом.
«Ученый — это не тот, кто дает правильные ответы. А тот, кто задает правильные вопросы и выбирает правильный масштаб рассмотрения».
Если вы торгуете внутридневную волатильность биткоина, движение в 50 долларов при цене 60 000 — это шум. Вы не должны реагировать. Но если вы торговец на M5, те же 50 долларов — это целый импульс.
Теперь мы подошли к святому Граалю трейдерских споров. В интернете сотни тем: «ZigZag — отстой, он перерисовывается!». Правда сложнее и интереснее.
Что такое перерисовка?
Перерисовка (repainting) — это свойство индикатора менять свои значения на уже сформированных барах, когда появляются новые данные.
Классический ZigZag из MetaTrader 4/5 работает так:
1. Вы видите линию, которая рисует вершину на баре 100.
2. Через 10 баров ( 110) цена поднимается выше, чем бар 100.3. Алгоритм понимает: «Ага, бар 100 не был истинной вершиной!» — и удаляет ту старую линию, проводя новую через бар 110.
Для трейдера, который уже открыл сделку на вершине 100, это катастрофа. Его стоп-лосс, рассчитанный от ложной вершины, оказывается под ценой. Рынок словно насмехается над ним.
Два типа ZigZag: Утопия и Реальность
| Тип | Перерисовка? | Когда фиксируется экстремум | Применение |
| Классический (MT4/5) | Да, драматическая | Только когда появится противоположный экстремум, который не будет побит в будущем | Визуализация прошлого, ручной анализ (не для автоматизации) |
| Online (Detrended, Non-repainting) | Нет | Через заданное число баров `backstep` или по закрытии бара | Алгоритмическая торговля, бэктесты, роботы |
Философия перерисовки: лжец или провидец?
Парадокс в том, что перерисовка — это не баг, а честность.
Рынок не знает будущего. Когда вы стоите на баре 100, вы не можете знать, что в будущем цена поднимется выше. Классический ZigZag просто говорит вам: «Смотри, вот как рынок выглядел бы, если бы мы уже знали будущее». Это ретроспективный идеал. Это как сказать: «Я бы женился на той девушке, если бы знал, что через 10 лет она станет миллиардером».
Алгоритм Non-repainting ZigZag (тот, который нам нужен)
В профессиональной автоматизации используется алгоритм с фиксированным лагом:
Псевдокод:
Для каждого нового бара (индекс i):
1. Рассматриваем окно из N баров (N = backstep = 5-10).
2. Находим в этом окне максимальный High.
3. Если этот High > предыдущего зафиксированного High + Depth:
- Ждем подтверждения: через backstep баров (например, 3) этот High не был побит.
- Запоминаем его как вершину номер K. 4. Иначе: игнорируем.
Вот секрет, который не пишут в учебниках. Вы можете использовать перерисовку как генератор идей: