
Индикатор ZigZag выглядит на истории как готовый ответ. Ломаная соединяет вершины и впадины, каждый разворот отмечен, и кажется, что торговать по нему может даже человек, впервые открывший терминал. Проблема в том, что эта картинка складывается только задним числом. Я посчитал ZigZag на дневных котировках Сбербанка, Газпрома, Лукойла, Роснефти и индекса Мосбиржи за 2019-2026 годы и сравнил две версии одной и той же разметки. Ту, что видна сегодня, и ту, что видел бы трейдер в каждый конкретный день. При пороге 10% у 77-85% колен точка разворота стояла раньше в другом месте. Ниже разбираю, как устроен алгоритм, сколько стоит его запаздывание в барах и процентах цены и для чего инструмент действительно годится.
Предупреждение о рисках: Торговля на финансовых рынках (Forex, CFD, фьючерсы) сопряжена с высоким уровнем риска и подходит не всем инвесторам. По статистике, 70-80% розничных трейдеров теряют средства. Информация в этой статье носит исключительно образовательный характер и не является инвестиционной рекомендацией или призывом к торговле. Прошлые результаты не гарантируют будущую доходность. Перед началом торговли оцените свой уровень подготовки и финансовые возможности.
Что такое индикатор ZigZag и откуда он взялся
ZigZag фильтрует ценовой шум. Он соединяет прямыми отрезками те максимумы и минимумы, между которыми цена прошла заметное расстояние, а мелкие колебания внутри движения выбрасывает. На выходе получается ломаная из чередующихся вершин и впадин.
Метод старше любого терминала. В 1977 году американский аналитик Артур Меррилл выпустил книгу «Filtered Waves: Basic Theory», где предложил разбирать рынок именно так: отбрасывать движения меньше заданного процента, а остальные считать волнами. Меррилл работал с порогом в 5% и построил по этому правилу разметку всех бычьих и медвежьих рынков США начиная с 1898 года. Позже его метод стал индикатором в MetaStock, оттуда перекочевал в MetaTrader и дальше во все платформы, где сегодня и называется ZigZag.
Важная деталь из той же книги. Меррилл проверял, есть ли у откатов стандартная глубина, и пришёл к выводу, что надёжного стандартного отката не существует. То есть автор метода изначально не обещал, что фильтрованные волны дадут точку входа. Он строил инструмент описания, а не прогноза.
Методическое описание индикатора в ChartSchool от StockCharts формулирует назначение так же прямо. ZigZag нужен, чтобы за деревьями стал виден лес, и у него нет предсказательной силы, поскольку линии рисуются по факту уже случившегося движения. Прогноз, если он вообще появляется, приходит из надстройки над разметкой, вроде волнового анализа, а не из самой ломаной.
Отсюда следует всё остальное в этой статье. Инструмент, который по замыслу автора описывает прошлое, в рунете чаще всего подают как источник сигналов на вход. Расхождение между замыслом и практикой измеримо, и дальше я его измеряю.
Как строится ломаная
Алгоритм проще, чем у любого расчётного индикатора. У него нет скользящих средних, сглаживания и коэффициентов, есть одно правило и один порог.
Допустим, порог равен 10%, а рынок растёт. Индикатор запоминает текущий максимум и обновляет его, пока цена ставит новые вершины. Как только цена откатывается от запомненного максимума на 10%, происходит два события сразу. Максимум фиксируется как вершина ломаной, а точкой отсчёта становится новый минимум, который теперь будет обновляться до тех пор, пока цена не вырастет от него на те же 10%. Дальше цикл повторяется.
В этом описании спрятан весь сюжет статьи. Вершина становится вершиной не в тот день, когда цена достигла максимума, а в тот день, когда она упала от него на величину порога. До этого момента вершина считается предварительной и переезжает на каждый новый максимум.
В терминале MetaTrader тот же алгоритм разложен на три настройки, и они сбивают с толку тех, кто привык к процентному порогу. Названия и назначение параметров описаны в справке разработчика платформы, а полный перечень встроенных индикаторов с их формулами лежит в справочнике MQL5.
| Параметр | Значение по умолчанию | Что задаёт |
|---|---|---|
| Depth | 12 | Минимальное число баров, на котором индикатор ищет экстремум, прежде чем признать его кандидатом |
| Deviation | 5 | Минимальное отклонение цены от предыдущего экстремума, в пунктах, а не в процентах |
| Backstep | 3 | Минимальное число баров между соседними вершиной и впадиной |
Разница между реализациями существеннее, чем кажется. В MetaTrader фильтр задан в пунктах, поэтому один и тот же набор настроек по-разному работает на бумаге за 300 рублей и на бумаге за 7000. В TradingView и StockCharts фильтр процентный, и разметка переносится с инструмента на инструмент без пересчёта. Для акций Мосбиржи, где цены различаются на порядки, процентная версия удобнее, и все расчёты ниже сделаны именно по ней.
Ещё одна особенность, которую стоит понимать до того, как вы начнёте что-то на ZigZag строить. Ломаная не имеет собственного значения, которое можно подставить в формулу или сравнить с уровнем. У RSI есть число от 0 до 100, у ATR есть рублёвая величина, у ZigZag есть только набор точек. Поэтому он не может подтверждать или опровергать сигналы других индикаторов сам по себе, он лишь размечает структуру, с которой вы работаете дальше.

Как читать ломаную на графике
Визуально индикатор выглядит настолько просто, что кажется, будто читать тут нечего. На самом деле у ломаной есть три состояния, и различать их обязательно.
Подтверждённое колено. Точка, после которой цена уже прошла порог в обратную сторону. Она зафиксирована и больше не сдвинется никогда. Все колена, кроме крайнего, находятся именно в этом состоянии.
Крайнее колено. Последняя точка ломаной, та самая, что переезжает. Формально она нарисована так же, как остальные, и в этом и ловушка интерфейса, потому что терминал не помечает её как предварительную. Отличить можно по одному признаку. Если от точки до правого края графика цена не прошла величину порога, точка временная.
Текущий отрезок. Линия от крайнего колена до последней свечи. Она удлиняется и меняет наклон каждый день.
Проверка занимает секунды. Посмотрите на крайнюю точку, посчитайте, на сколько процентов цена отошла от неё, сравните с порогом. Отошла меньше — вы смотрите на кандидата, а не на факт.
Второй практический навык — читать плотность разметки. Частая ломаная с короткими коленами означает, что фильтр мелкий для этого инструмента, а рынок ходит внутри диапазона. Редкая ломаная с длинными отрезками говорит о трендовом движении, где порог отсекает промежуточные колебания. Смена плотности сама по себе информативна. Если на бумаге, где обычно 20-30 колен в год, вдруг появляется 60, волатильность выросла кратно.
Третье. Обращайте внимание на последовательность экстремумов, а не на сами линии. При восходящей структуре каждая следующая вершина и каждая следующая впадина выше предыдущей, при нисходящей обе ниже. Нарушение последовательности заметно на ломаной сразу и означает изменение характера движения, хотя и не говорит, куда цена пойдёт дальше.
Последнее колено всегда временное
Это свойство алгоритма, а не изъян конкретной реализации. Пока цена не прошла порог в обратную сторону, крайняя точка ломаной остаётся кандидатом. Она переезжает на каждый новый экстремум, и вместе с ней переезжает вся картинка, которую вы видите на экране.
Формулировка ChartSchool звучит буквально так. Последняя линия является временной, актив должен достичь порогового уровня, чтобы линия стала постоянной, и если цена не достигнет порога и откатится, временная линия исчезнет. У TradingView в описании встроенного скрипта та же оговорка про неподтверждённый последний pivot.
Читатель, который открыл график и увидел готовую разметку за три года, обычно этого не замечает. Историческая часть ломаной действительно неизменна, переезжает только правый край. Но торгуют именно правым краем.

Сколько стоит подтверждение
Задержку легко измерить. Я взял дневные свечи пяти инструментов Мосбиржи с января 2019 года по 5 сентября 2026 года (котировки выгружены через MOEX ISS), построил ZigZag с порогами 5, 10 и 20 процентов и для каждого колена записал две даты. Дату самого экстремума и дату бара, на котором индикатор его подтвердил.
Разрыв между ними и есть цена вопроса.
| Порог | Колен за 7,7 года | Задержка подтверждения, медиана | Задержка, 90-й процентиль | Цена ушла от экстремума |
|---|---|---|---|---|
| 5% | 130-255 | 2-3 бара | 6-10 баров | 5,0-5,3% |
| 10% | 40-83 | 4-6 баров | 20-26 баров | 10,0-10,4% |
| 20% | 12-32 | 8-27 баров | 45-87 баров | 19,6-20,9% |
Последняя колонка объясняет механику лучше остальных. Индикатор с порогом 10% сообщает о том, что цена развернулась, ровно тогда, когда она уже прошла 10% в новом направлении. Иначе быть не может, потому что именно это событие и служит условием разворота ломаной. Вы узнаёте о дне в тот момент, когда рынок отошёл от дна на десятую часть цены.
Медиана в две-три сессии при пороге 5% выглядит терпимой, пока не посмотреть на девяностый процентиль. В одном случае из десяти подтверждение приходит через шесть-десять сессий, а на пороге 20% ожидание растягивается на два-четыре месяца. Для сравнения, у Роснефти вершина 8 января 2024 года получила подтверждение только 3 июня, через 102 торговых дня.

Как часто картинка меняется
Задержка подтверждения составляет половину истории. Вторая половина в том, сколько раз за время ожидания предварительная точка успевает переехать.
| Инструмент | Порог 5%: доля колен, где точка переезжала | Порог 10% | Порог 20% | Рекорд переездов у одного колена |
|---|---|---|---|---|
| Сбербанк | 81,3% | 77,3% | 93,3% | 89 |
| Газпром | 76,9% | 84,8% | 87,5% | 66 |
| Лукойл | 73,2% | 84,6% | 83,3% | 46 |
| Роснефть | 71,4% | 83,1% | 94,7% | 56 |
| Индекс Мосбиржи | 78,5% | 85,0% | 100,0% | 94 |
У индекса Мосбиржи на пороге 20% переезжали все колена без исключения. Это логично. Чем крупнее фильтр, тем дольше ожидание подтверждения и тем больше шансов, что за это время появится новый экстремум.
Медианное число переездов невелико, от одного до десяти в зависимости от порога. Но медиана здесь обманчива, потому что распределение с длинным хвостом. Одно колено индекса переезжало 94 раза, и всё это время трейдер, ориентирующийся на крайнюю точку, каждый день видел новую разметку.

Один эпизод целиком
Абстрактные проценты хуже одного разобранного случая. Возьмём Газпром летом 2024 года, порог 10%.
Бумага падала с мая. 20 июня цена коснулась 110,00 рубля, и это в итоге оказалось дном движения. Но узнать об этом 20 июня было невозможно. До этой даты индикатор двадцать четыре раза переставлял предполагаемое дно вниз, каждый раз рисуя ломаную, которая заканчивалась на новом минимуме. Двадцать четыре дня подряд картинка на экране говорила «дно здесь», и двадцать четыре раза оказывалась неправа.
Подтверждение пришло 1 июля, когда цена закрылась на 121,40 рубля. К этому моменту рынок отошёл от дна на 10,4%. Трейдер, честно дождавшийся сигнала индикатора, покупал не по 110, а по 121,40. Разница в 11,40 рубля на акцию и есть плата за то, чтобы точка на графике перестала двигаться.
Похожая история у Лукойла в феврале 2026 года. Дно 5055 рублей 9 февраля, девять переездов кандидата, подтверждение 3 марта по 5483 рубля, то есть на 8,5% выше. И у Роснефти в октябре 2025 года дно 362,60, восемнадцать переездов, подтверждение через одиннадцать сессий по 389,45, выше на 7,4%.
Ни один из этих случаев не является особенным. Так работает алгоритм всегда.

Что показывают данные Мосбиржи
Дальше начинается самое интересное. Если задержка подтверждения измерима, то измеримо и то, во сколько она обходится в деньгах.
Я посчитал две версии одной стратегии на одних и тех же коленах ZigZag. В обеих покупка происходит на впадине, продажа на вершине, комиссия 0,05% на сделку, плечо не используется, дивиденды не учитываются.
Разница только в цене исполнения. В первой версии сделка проходит ровно по цене экстремума, как если бы трейдер знал заранее, где будет дно. Во второй сделка проходит по закрытию того бара, на котором индикатор подтвердил колено, то есть по цене, доступной в реальном времени.
| Инструмент | Сделок | По ценам экстремумов | По ценам подтверждения | Просто держать бумагу |
|---|---|---|---|---|
| Сбербанк | 90 | ×111 985 | ×1,94 | ×1,50 |
| Газпром | 118 | ×2 452 559 | ×1,19 | ×0,59 |
| Лукойл | 111 | ×391 229 | ×1,40 | ×1,01 |
| Роснефть | 127 | ×2 850 552 | ×0,98 | ×0,78 |
| Индекс Мосбиржи | 64 | ×1 968 | ×1,14 | ×0,95 |
Капитал вырос в два с половиной миллиона раз в колонке, которая описывает невозможное, и на девятнадцать процентов в колонке, которая описывает реальность. Это одна и та же разметка одного и того же индикатора на одном и том же отрезке истории.
Меня самого удивил не столько размер разрыва, сколько его устойчивость. Он одинаково велик на растущей бумаге и на падающей, на акции и на индексе, при пороге 5% и при пороге 10%.
Именно эта таблица объясняет, почему по ZigZag так легко построить стратегию, которая великолепно выглядит в презентации и не работает на счёте. Тестер, в котором сделки проходят по историческим экстремумам, показывает первую колонку. Счёт показывает вторую.

Что происходит при более крупном фильтре
Естественная мысль — увеличить порог, чтобы отсеять мелкие движения. Ожидание подтверждения при этом растёт, и результат ухудшается.
| Инструмент | Порог 5%: капитал | Доля прибыльных сделок | Порог 10%: капитал | Доля прибыльных сделок |
|---|---|---|---|---|
| Сбербанк | ×1,94 | 40,0% | ×1,17 | 37,5% |
| Газпром | ×1,19 | 39,8% | ×1,11 | 34,4% |
| Лукойл | ×1,40 | 37,8% | ×0,60 | 34,2% |
| Роснефть | ×0,98 | 39,4% | ×0,65 | 36,6% |
| Индекс Мосбиржи | ×1,14 | 37,5% | ×1,26 | 42,1% |
На пороге 10% Лукойл и Роснефть съедают около 40% капитала за семь с половиной лет. Доля прибыльных сделок держится в диапазоне 34-42% при любом пороге, а медианная сделка отрицательна везде, от минус 0,82% на индексе при пороге 5% до минус 4,39% на индексе при пороге 10%.
Отрицательная медиана при положительном итоге у части бумаг означает конкретную вещь. Больше половины сделок убыточны, а общий результат вытягивают несколько крупных выигрышей. Это профиль трендовой системы, и он требует железной дисциплины, потому что серия из шести-семи убытков подряд здесь норма, а не сбой.
Сколько колен даёт каждый порог
Порог управляет не только задержкой, но и плотностью разметки.
| Инструмент | 5% | 10% | 20% |
|---|---|---|---|
| Сбербанк | 182 | 66 | 15 |
| Газпром | 238 | 66 | 32 |
| Лукойл | 224 | 78 | 24 |
| Роснефть | 255 | 83 | 19 |
| Индекс Мосбиржи | 130 | 40 | 12 |
Порог 5% на акции даёт примерно 24-33 колена в год, то есть новую точку каждые полторы-две недели. Порог 20% оставляет две-четыре точки в год, зато это действительно крупные развороты. Индекс Мосбиржи ходит спокойнее отдельных бумаг, и на нём при том же пороге колен вдвое меньше.

Побочный результат, который полезнее основного
Пока я считал разметку, вышла статистика, которая к торговым сигналам отношения не имеет, а для планирования позиции полезна.
| Порог | Медианный размах колена | Что это значит на практике |
|---|---|---|
| 5% | 9,5% | Типичное движение между соседними экстремумами голубой фишки |
| 10% | 18,5% | Масштаб среднесрочной волны |
| 20% | 36,4% | Масштаб полноценного тренда или коррекции |
Голубая фишка Мосбиржи проходит между разворотами около 9,5% при фильтре 5% и около 18,5% при фильтре 10%. Эти числа отвечают на вопрос, какого размера движение стоит закладывать в цель, если вы работаете от структуры, а не от индикаторного сигнала.
Заодно это тот самый вопрос, который Меррилл разбирал в 1977 году и на который ответил отрицательно. Стандартной глубины отката нет, есть распределение с медианой, и половина случаев в него не укладывается. Уровни Фибоначчи не отменяют этого факта, они лишь предлагают удобную сетку ориентиров внутри разброса. Подробный разбор сетки — в отдельном материале про уровни Фибоначчи.
Попытка спасти результат фильтром
Естественное возражение к цифрам выше звучит так: механическая торговля по каждому колену это соломенное чучело, никто так не работает, сигналы надо фильтровать по направлению тренда. Возражение справедливое, и его легко проверить.
Я оставил только те входы, где структура на момент сигнала была восходящей, то есть предыдущая вершина выше позапрошлой, а предыдущая впадина выше той, что была до неё. Это классическое определение растущего рынка через последовательность экстремумов, и размечает его тот же ZigZag.
| Инструмент | Все сделки | Капитал | Только по восходящей структуре | Капитал |
|---|---|---|---|---|
| Сбербанк | 90 сделок, 40,0% прибыльных | ×1,94 | 34 сделки, 35,3% | ×1,57 |
| Газпром | 118 сделок, 39,8% | ×1,19 | 41 сделка, 46,3% | ×0,80 |
| Лукойл | 111 сделок, 37,8% | ×1,40 | 35 сделок, 31,4% | ×0,91 |
| Роснефть | 127 сделок, 39,4% | ×0,98 | 45 сделок, 40,0% | ×0,88 |
| Индекс Мосбиржи | 64 сделки, 37,5% | ×1,14 | 19 сделок, 31,6% | ×1,16 |
Фильтр отсёк примерно две трети сделок и не улучшил результат. На четырёх инструментах из пяти капитал стал меньше, на индексе остался прежним. У Газпрома доля прибыльных сделок выросла с 39,8% до 46,3%, а капитал при этом упал с ×1,19 до ×0,80, и это хорошая иллюстрация того, почему winrate сам по себе ничего не значит. Отсеялись редкие крупные выигрыши, ради которых система и существует.
Оговорюсь про статистику. После фильтрации остаётся 19-45 сделок на инструмент, и на такой выборке различия внутри случайного разброса. Правильный вывод из таблицы не «фильтр вредит», а «улучшения не обнаружено». Ровно так его и стоит читать.

Если вы всё-таки хотите торговать по ломаной
Из проверки следуют четыре правила, которые не превратят ZigZag в прибыльную систему, но уберут самые дорогие ошибки.
Считать вход по цене подтверждения. Любой расчёт ожидаемой доходности, где сделка проходит по цене экстремума, завышает результат на порядки. Это единственная поправка, которая меняет выводы сильнее всех остальных вместе взятых.
Закладывать потерю трети движения. В разобранной сделке по Сбербанку от февраля к маю 2023 года рынок прошёл 59,3%, а система забрала 38,2%. Соотношение примерно две трети от хода — это норма, а не неудачное стечение обстоятельств, и планировать цель нужно от него.
Готовиться к серии убытков. Семь минусовых сделок подряд на Сбербанке при доле прибыльных 40% статистически ожидаемы. Если размер позиции подобран так, что такая серия выбивает из колеи или из капитала, торговать по этой логике нельзя независимо от качества сигналов.
Не менять порог по ходу. Подобранный на истории фильтр показал себя как параметр, чувствительный к инструменту и периоду, а не как настройка с оптимумом. Смена порога после серии убытков — это перезапуск системы с новой статистикой, а не её улучшение.
И общая оговорка, которая относится ко всем числам выше. Расчёты сделаны без плеча, без проскальзывания и без учёта дивидендов, на пяти инструментах за 7,7 года. Это не доказательство того, что ломаная не работает нигде и никогда, а измерение того, что она даёт в конкретных условиях российского рынка при механическом исполнении.
Чего индикатор ZigZag не делает
Разбор ограничений здесь идёт до разбора применений, а не после, потому что половина типовых стратегий по ZigZag ломается именно об эти ограничения.
Он не даёт сигнала на вход
Русскоязычные обзоры регулярно предлагают простую схему, где надо дождаться экстремума ZigZag, отсчитать две свечи и входить по направлению тренда. Схема невыполнима по устройству алгоритма. В момент формирования экстремума вы не знаете, что это экстремум. Вы узнаете об этом через 2-27 баров, когда цена уйдёт на величину порога, и отсчитывать две свечи будет уже поздно.
Проверка на данных даёт тот же ответ с другой стороны. Честная версия сделок по подтверждению приносит 34-42% прибыльных входов при отрицательной медиане, и это без учёта проскальзывания.
Он не предсказывает разворот
ZigZag реагирует на уже случившееся движение заданного размера. Формулировка ChartSchool про отсутствие предсказательной силы описывает не слабость реализации, а класс инструмента. Новая точка на ломаной означает ровно одно, цена прошла порог в обратную сторону. Продолжится ли новое движение, алгоритм не знает и знать не может, потому что в его расчёте нет ничего, кроме цены и порога.
Он перерисовывается, и это не лечится настройками
Существуют версии индикатора с пометкой non-repainting. Они не отменяют задержку, а фиксируют её. Точка рисуется только после подтверждения и больше не двигается. Картинка становится честной, но появляется она позже, чем движение. Выбор идёт не между перерисовкой и её отсутствием, а между переезжающей точкой сейчас и неподвижной точкой потом.
Он одинаково выглядит на любом рынке
Ломаная не различает трендовый рынок и боковик. При пороге 5% на Роснефти она нарисовала 255 колен за 7,7 года, и часть из них приходится на периоды, когда бумага никуда не шла. Индикатор честно отметит колебания внутри диапазона теми же линиями, что и разворот многомесячного тренда, а различать масштаб придётся вам.
Его результат зависит от порога сильнее, чем от рынка
Между порогами 5% и 10% на Лукойле разница в итоговом капитале двукратная, ×1,40 против ×0,60. Это тот случай, когда параметр решает больше, чем сам инструмент, и подбор порога по прошлым данным превращается в подгонку. Для сравнения, у Роснефти лучший результат тоже даёт порог 5%, а у индекса Мосбиржи наоборот, 10%.
Для чего ZigZag действительно нужен
После такого списка ограничений закономерен вопрос, зачем инструмент вообще держат в терминалах. Ответ в том, что он решает другую задачу, не сигнальную. ZigZag превращает поток свечей в набор точек, с которым дальше работает человек.
Разметка уровней
Экстремумы ломаной дают готовых кандидатов в уровни поддержки и сопротивления. Ценность не в том, что индикатор находит их лучше глаза, а в том, что он находит их одинаково. Порог задан числом, поэтому разметка воспроизводима, и два человека с одинаковыми настройками получат одинаковые точки.
Практический приём: поставить крупный порог, 10 или 20 процентов, и работать только с теми уровнями, которые он оставил. На дневном графике голубой фишки это две-восемь точек в год, и они отмечают действительно значимые развороты. Как строить и проверять сами уровни, разобрано в материале про индикаторы поддержки и сопротивления.

Черновик для волнового анализа
Волновой анализ начинается с вопроса, какие движения считать волнами. ZigZag отвечает на него формально. Волной считается движение больше порога. Дальше аналитик проверяет разметку по правилам Эллиотта, и вот тут важна оговорка.
Правила Эллиотта требуют, чтобы вторая волна не заходила за начало первой, третья не была самой короткой из импульсных, а четвёртая не пересекалась с ценовой территорией первой. Ломаная ZigZag ничего этого не проверяет. Она даёт скелет, на который аналитик натягивает разметку, и подгонять скелет под желаемую разметку, меняя порог, — самая распространённая ошибка в этом жанре.
Скелет фигуры
Голова и плечи, двойная вершина, треугольник — все классические фигуры описываются через последовательность экстремумов. ZigZag эту последовательность выделяет. Он не скажет, что перед вами голова и плечи, но покажет пять точек, по которым вы это проверите сами по формальным критериям каждой фигуры. Критерии Эдвардса и Маги требуют, чтобы голова превышала плечи, а плечи были симметричны в пределах допуска.
Та же логика работает для разворотной конструкции 1-2-3, где третья точка не смогла обновить экстремум. Ломаная делает эту неудачу видимой.
Измерение отката
Каждое колено даёт готовое измерение: сколько прошла цена от разворота до разворота. Из таких измерений собирается статистика вроде той, что приведена выше, а из статистики складывается понимание масштаба движений конкретной бумаги. Трейдер, который знает, что типичное колено Сбербанка при фильтре 5% равно примерно 10%, иначе смотрит на цель в 3% и на цель в 25%.
Перенос стопа
Экстремумы ломаной годятся как опорные точки для трейлинг-стопа, когда стоп переносится за последний подтверждённый минимум в лонге. Здесь задержка подтверждения работает скорее в плюс, потому что защищает от переноса стопа по случайному колебанию. Правда, у этого приёма есть цена, и она измерима. Стоп переезжает на уровень, который цена прошла как минимум на величину порога, то есть на 5-10% ниже текущей цены. Для сравнения с более быстрым способом переноса стопа смотрите разбор индикатора ATR, где расстояние считается от волатильности, а не от структуры.
ZigZag и волновой анализ
Связь этих двух тем не случайна. Книга Меррилла 1977 года, откуда пошёл метод фильтрованных волн, содержала и полное изложение теории Эллиотта. Автор строил инструмент ровно для того, чтобы волны можно было выделять формально, а не на глаз.
Задача действительно тяжёлая. Волновая разметка требует ответа на вопрос, какое движение считать волной, а какое шумом внутри волны, и от этого ответа зависит вся конструкция. ZigZag превращает субъективный вопрос в параметр, где волной считается движение больше порога.
Дальше начинается работа, которую индикатор не делает. Импульс по Эллиотту обязан удовлетворять трём обязательным правилам разметки, и ни одно из них ломаная не проверяет. Вторая волна не должна заходить за начало первой. Третья не должна быть самой короткой из трёх импульсных. Четвёртая не должна пересекать ценовую территорию первой. Разметка, нарушающая любое из них, неверна независимо от того, насколько красиво она выглядит.
Отсюда главная ошибка жанра. Аналитик подбирает порог ZigZag до тех пор, пока ломаная не сложится в желаемый счёт. Это не разметка, а подгонка. Меняя фильтр, из одного и того же графика можно извлечь почти любую последовательность точек. Правильный порядок обратный. Порог фиксируется до разметки, исходя из масштаба анализируемого движения, и остаётся неизменным.
Практическая величина порога для волнового счёта следует из статистики выше. Если типичное колено при фильтре 10% равно 18,5%, то для разметки среднесрочных волн на дневном графике голубой фишки этот фильтр и подходит. Для более крупной степени берётся 20%, для внутренней структуры волны — 5%.
И последнее про честность. Крайняя волна в любой разметке всегда предварительна ровно потому, что предварительна крайняя точка ломаной. Волновой прогноз, построенный на неподтверждённом экстремуме, меняется вместе с ним, и это надо проговаривать вслух, а не обнаруживать задним числом.
На каких рынках и таймфреймах сохраняется смысл
Все расчёты в статье сделаны на дневных свечах российских акций и индекса. Перенос выводов на другие рынки требует оговорок.
Таймфрейм. Чем мельче интервал, тем выше доля случайных движений и тем чаще срабатывает порог. На часовом графике при том же фильтре 5% ломаная станет заметно плотнее, а доля переездов крайней точки вырастет, ведь движение в пять процентов внутри дня случается редко, поэтому фильтр приходится уменьшать, а вместе с ним падает и осмысленность разметки. Для внутридневной работы разумный диапазон порога составляет 1-2%, и задержка подтверждения при этом измеряется уже минутами, а не днями.
Волатильность инструмента. Фильтр 5% на индексе Мосбиржи и на отдельной акции решает разные задачи, потому что индекс спокойнее, и колен он даёт вдвое меньше при том же пороге. Русал с медианным дневным размахом около 3,3% и МТС с 1,9% при одинаковом фильтре тоже дадут разную плотность разметки. Правило простое. Порог соотносится с типичной амплитудой бумаги, а не берётся универсальным.
Класс актива. На круглосуточном рынке криптовалют пороговые движения происходят чаще, а гэпов выходного дня нет, поэтому разметка получается более гладкой при большем фильтре. На бумагах с дивидендными разрывами наоборот, гэп после отсечки может сам по себе преодолеть порог и создать колено там, где никакого разворота не было. Для российских акций с высокой дивидендной доходностью это не редкость, и такие колена стоит помечать вручную.
Ликвидность. На бумагах второго и третьего эшелона движение в пять процентов бывает следствием одной крупной заявки. Ломаная отметит его как полноценное колено, хотя структурного смысла в нём нет. Здесь либо крупный фильтр, либо другой инструмент разметки.
Чем ZigZag отличается от других способов разметки
Задача выделения значимых экстремумов решается не только ломаной, и у альтернатив другой профиль задержки.
| Способ | Как определяет экстремум | Задержка | Когда уместнее |
|---|---|---|---|
| ZigZag | Откат от экстремума на заданный процент | 2-27 баров, зависит от порога и рынка | Разметка волн и крупной структуры |
| Фракталы Билла Вильямса | Бар, у которого два соседних бара с каждой стороны ниже (или выше) | Ровно 2 бара, всегда | Мелкая структура, стопы за ближайший экстремум |
| Swing high/low по числу баров | Экстремум за N баров слева и справа (описание функции в Pine Script) | N баров, фиксировано | Программный поиск паттернов |
| Pivot Points | Расчёт от вчерашних high, low, close | Нет, известны заранее | Внутридневные уровни |
Разница принципиальная. Фракталы и swing-точки задают задержку в барах и не зависят от размера движения, ведь экстремум подтверждается через фиксированное число свечей, каким бы мелким он ни был. ZigZag задаёт фильтр по размеру движения, а задержка получается плавающей. Отсюда его свойство отбирать значимое и отсюда же непредсказуемость ожидания.
Практический вывод простой. Если нужна структура крупных движений, порог в процентах работает лучше, потому что не пропускает большое движение и не засоряет разметку мелким. Если нужна оперативность, фиксированная задержка фракталов честнее, две свечи всегда, без сюрпризов в два месяца. Детальный разбор фрактального подхода — в материале про индикатор фракталов.

Pivot Points стоят в этом ряду особняком: они вообще не ищут экстремумы в прошлом, а рассчитывают уровни на завтра из вчерашних цен. Задержки у них нет по построению, зато нет и связи с реальной структурой движения.
Где ломаная работает как часть алгоритма
Отдельный пласт применения не виден рядовому пользователю терминала, хотя именно там ZigZag приносит больше всего пользы.
Программный поиск фигур начинается с выделения точек. Чтобы алгоритм проверил, есть ли на графике голова и плечи, ему нужен список экстремумов, и ZigZag его даёт. Дальше работают формальные критерии, где голова выше плеч, плечи симметричны в допуске, линия шеи пробита закрытием. Ломаная в этой связке не решает, есть фигура или нет, она сокращает перебор с тысяч комбинаций баров до десятков точек.
Гармонические паттерны построены на том же основании. Конструкции вроде «бабочки» и «летучей мыши», популяризованные Ларри Песавенто, описываются как последовательность из четырёх-пяти точек с заданными пропорциями Фибоначчи между ними. Без формальной разметки экстремумов такие пропорции не посчитать, поэтому большинство сканеров гармоник внутри устроены как надстройка над ZigZag с настраиваемым порогом.
Третье применение статистическое. Всё, что вы прочитали выше про медианный размах колена и распределение задержек, посчитано именно так. Разметить историю ломаной, собрать колена в таблицу, посмотреть распределение. Для оценки того, какие цели реалистичны на конкретной бумаге, это надёжнее интуиции.
Общее у всех трёх случаев одно. Индикатор используется как препроцессор данных, а решение принимает то, что стоит следующим в цепочке.
Какой порог ZigZag выбирать
Выбор порога это выбор масштаба задачи, а не поиск оптимума. Расчёты выше показывают, что оптимума по доходности нет, ведь на трёх инструментах лучше себя показал фильтр 5%, на индексе 10%, и различие не выходит за пределы случайности при таком числе наблюдений.
Практическая логика другая. Порог задаётся под то, что вы собираетесь размечать.
| Задача | Порог | Что получите на дневном графике голубой фишки |
|---|---|---|
| Внутридневная и краткосрочная структура | 2-3% | Плотная ломаная, десятки точек в год, много шума |
| Разметка среднесрочных волн, уровни для свинга | 5% | 24-33 точки в год, типичное колено около 9,5% |
| Основные развороты, волновой счёт | 10% | 5-11 точек в год, типичное колено около 18,5% |
| Только крупные фазы рынка | 20% | 2-4 точки в год, типичное колено около 36,4% |
Отдельно про распространённый приём с двумя ZigZag на одном графике. Крупный фильтр задаёт направление, мелкий ищет точки внутри. Идея разумная, но помните, что обе ломаные перерисовываются, причём крупная дольше. Комбинация из двух запаздывающих разметок не даёт опережающего сигнала, она даёт двухуровневое описание структуры.
Что до параметров MetaTrader, то Deviation в пунктах привязывает фильтр к цене инструмента. Настройка, подобранная на Сбербанке за 280 рублей, на Лукойле за 5500 отфильтрует практически всё. При переходе между бумагами Мосбиржи параметр придётся пересчитывать вручную, и это ещё один довод в пользу процентных реализаций.
Где искать индикатор в терминале
В MetaTrader 4 и 5 ZigZag лежит в списке пользовательских индикаторов, в TradingView он встроен и ищется по запросу Zig Zag в разделе теханализа. В QUIK штатного ZigZag нет, там задача решается либо сторонним скриптом, либо ручной разметкой по экстремумам.

Про наши собственные инструменты скажу прямо, чтобы вы не искали несуществующее. В живом графике на сайте ZigZag не реализован. На цену там накладываются скользящие средние, полосы Боллинджера, VWAP, Parabolic SAR и Ишимоку, а в нижнюю панель выводятся RSI, MACD, Стохастик, ATR, CCI, Williams %R, OBV и объём. Строить ломаную придётся в стороннем терминале, а вот отработать правило входа без денег удобно в торговом симуляторе, и записывать результаты сделок — в журнале сделок. Второе важнее первого. Без записи через месяц вы не вспомните, какие сигналы брали, а какие пропустили, и не отличите работающее правило от везения.
С чем сочетать и что при этом ломается
Обычная схема выглядит так: ZigZag показывает структуру, второй инструмент подтверждает разворот. Схема рабочая, но с одной оговоркой, которую в обзорах не пишут.
Подтверждение приходит от второго инструмента, а не от ломаной. ZigZag в этой связке не добавляет сигнала, он добавляет контекст. Если убрать его и размечать экстремумы вручную, сигнальная часть системы не изменится.
Осцилляторы в паре с ломаной работают именно так. Дивергенция между ценой и RSI ищется по экстремумам, а ZigZag их выделяет. Здесь важно, что дивергенция сама по себе тоже опознаётся с задержкой, ведь пока экстремум не подтверждён, расхождения формально нет. Разбор этого эффекта с числами есть в материале про индикатор RSI, где проверка на данных Мосбиржи показала, что заход выше 70 чаще означал продолжение роста, а не разворот.
Канальные индикаторы дают вторую опору. Полосы Боллинджера очерчивают зону, где разворот вероятнее, ломаная показывает, случился он или нет. Но и тут подтверждение приходит от цены, а не от индикатора.
Скользящая средняя в связке с ZigZag выполняет роль фильтра направления. Правило «работаем только в сторону наклона средней» отсекает часть контртрендовых входов. Цена такого фильтра тоже измерима, и она немаленькая. В статье про скользящее среднее фильтр по двухсотдневной средней уменьшал просадку на всех пяти инструментах, но обгонял простое удержание уже только на двух из пяти с учётом комиссии.
Частые ошибки при работе с ZigZag
- Тестировать стратегию по историческим экстремумам. Самая дорогая ошибка, и таблица с разрывом между ×2 452 559 и ×1,19 показывает её цену. Любой бэктест ZigZag обязан использовать цену бара подтверждения, а не цену экстремума.
- Считать, что non-repainting версия решает проблему. Она переносит задержку из невидимой в видимую, но не убирает её.
- Подбирать порог по прошлому. На одном инструменте лучший результат даёт 5%, на другом 10%, и различие внутри случайного разброса. Порог выбирается под масштаб задачи, а не под максимум доходности в тестере.
- Переносить настройки MetaTrader между бумагами разной цены. Deviation в пунктах не масштабируется.
- Строить волновую разметку, меняя порог до тех пор, пока картинка не сойдётся. Это подгонка. Порог фиксируется до разметки, а не во время неё.
- Ждать от индикатора направления. Ломаная описывает то, что уже произошло. Направление берётся из другого источника.
- Индикатор фракталов Билла Уильямса
- Уровни Фибоначчи в трейдинге
- Линия тренда: как построить и торговать по пробою
Две сделки по ZigZag целиком
Отдельные проценты из таблиц становятся понятнее, если проследить конкретные входы. Оба примера ниже взяты из того же расчёта по Сбербанку с порогом 5%, вход по закрытию бара подтверждения, выход тоже.
Сделка, которая отработала
Минимум 153,83 рубля пришёлся на 15 февраля 2023 года. Подтверждение появилось 21 февраля, когда цена выросла от него на пороговые пять процентов, и покупка прошла по 164,15. Дальше бумага росла три месяца. Вершина 245,00 сформировалась 2 мая, подтверждение пришло 10 мая, продажа по 227,06.
Итог сделки — плюс 38,2% с учётом комиссии. Само движение от впадины до вершины составило 59,3%. Разница между этими числами и есть работа задержки, где вход на 6,7% выше дна, выход на 7,3% ниже пика, в кармане остаётся около двух третей хода.
Это не изъян исполнения, а нормальный результат честной работы по индикатору. Тот, кто рассчитывает на все 59%, считает по экстремумам, то есть по ценам, которых в момент решения на экране не было.

Сделка, которая не отработала
10 марта 2020 года Сбербанк поставил локальный минимум 184,86 рубля. На следующий день цена отскочила на пять процентов, индикатор подтвердил впадину, и по правилу системы покупка прошла по 194,53.
Отскок продлился один день. 11 марта сформировалась вершина 204,33, 12 марта пришло её подтверждение, и позиция закрылась по 175,91. Минус 9,7% за две сессии.
Дальше рынок падал ещё две недели, и в марте 2020 года подобная конструкция повторялась несколько раз подряд. Это ровно тот режим, в котором ломаная бесполезна, ведь пороговые движения происходят в обе стороны так быстро, что подтверждение приходит уже на развороте.

Худшая серия за весь период — семь убыточных сделок подряд. Держать систему в такой полосе способен не каждый, и это стоит понимать до того, как начинать по ней торговать.
Чем ZigZag полезен инвестору, а не трейдеру
Долгосрочному инвестору сигналы не нужны, а вот масштаб движений полезен.
Медианное колено голубой фишки при фильтре 10% равно примерно 18,5%. Это ответ на вопрос, который возникает у каждого, кто держит акции. Считать ли падение на 15% поводом для действий. По статистике российского рынка за 2019-2026 годы такое движение укладывается в обычное колено и само по себе ни о чём не говорит.
Второе применение относится к оценке глубины просадок при планировании докупок. Если вы собираетесь усреднять позицию, разметка крупным порогом показывает, какие уровни рынок проходил в обе стороны и как часто. Механику усреднения и её риски я разбирал отдельно в материале про стратегию усреднения.
Третье. Разметка помогает не путать коррекцию с разворотом тренда на эмоциях. Когда заранее известно, что типичный откат составляет 9-18%, падение на 12% перестаёт выглядеть катастрофой, а падение на 40% сразу видно как выход за пределы обычного.
Для практической стороны есть нюанс с доступом к инструментам. Российскому инвестору, который хочет держать акции США и ETF, нужен брокер с выходом на зарубежные площадки, и здесь работает Just2Trade с порогом входа от 100 долларов. Минусы называю сразу. Это офшорная лицензия Lime LTD, а не защита российского регулятора, и компания включена в предупредительный список Банка России, что означает отсутствие судебной защиты по спорам в российской юрисдикции. Для спекулятивной работы с плечом по той структуре, которую размечает ZigZag, ближе ТехноИнвест с рублёвым счётом от 50 долларов, но там торгуются контракты на разницу, а не сами акции, и своп списывается ежедневно.
Отдельно напомню про регуляторную часть. Сделки с плечом на российском рынке требуют прохождения тестирования для неквалифицированных инвесторов, порядок такого тестирования утверждён Банком России и действует с 1 октября 2021 года. Тест бесплатный и пересдаётся неограниченно, а при отрицательном результате остаётся право последнего слова с лимитом 300 000 ₽ в год на все такие сделки под уведомление о риске.
Как повторить эти расчёты
Все числа в статье воспроизводимы, и это не фигура речи.
Порядок действий такой:
- Взять котировки. Дневные свечи по каждому тикеру с 2019 года отдаёт открытый API Московской биржи, без ключа и регистрации.
- Построить ломаную. Алгоритм описывается двумя десятками строк. Ведём текущий экстремум, обновляем его, пока цена идёт в ту же сторону, и фиксируем колено в тот бар, где откат достиг порога.
- Измерить перерисовку. Достаточно считать, сколько раз экстремум обновился до момента фиксации и сколько баров прошло между экстремумом и фиксацией.
- Исполнять сделку по цене бара подтверждения, а не по цене экстремума. Это та деталь, из-за которой большинство самостоятельных проверок дают неверный результат. Если в вашем скрипте покупка проходит по минимуму ломаной, вы измеряете не стратегию, а собственное знание будущего, и получите вторую колонку из таблицы выше вместо третьей.
Сырые котировки, рассчитанная разметка, реестр всех 672 сделок и скрипты сохранены при подготовке статьи, а проверить логику на своей бумаге можно и без кода. Достаточно поставить индикатор в терминале, отлистать график к любому крупному развороту и посмотреть, на сколько правее находится бар, где ломаная сменила направление.
Плюсы и минусы индикатора ZigZag
Заключение
ZigZag честно делает то, для чего его придумал Артур Меррилл почти полвека назад. Он отбрасывает движения меньше заданного размера и оставляет структуру, по которой удобно работать глазу и руке аналитика. Всё, что сверх этого, дописала практика форекс-обзоров.
Проверка на российских бумагах за 2019-2026 годы даёт три числа, которые стоит запомнить. Подтверждение колена приходит через 2-27 баров после самого экстремума, и к этому моменту цена уже прошла величину порога. Крайняя точка ломаной переезжала у 71-100% колен в зависимости от фильтра и инструмента. Разрыв между разметкой по историческим экстремумам и торговлей по ценам подтверждения достигает шести порядков.
Из этого следует практический вывод, который расходится с большинством русскоязычных обзоров. Ломаная не источник сигналов. Она инструмент описания. Разметить волны, найти опорные точки уровней, увидеть скелет фигуры, измерить типичный размах движения бумаги. В этой роли индикатор полезен и почти незаменим, потому что делает субъективную работу воспроизводимой.
Если же нужен именно сигнал на вход, его придётся брать из другого места. И проверять так же, как проверена ломаная здесь, по ценам, которые были на экране в момент решения, а не по тем, что стали видны потом.
