ZigZag соединяет выбранные максимумы и минимумы цены, исключая из линии небольшие колебания между ними. Это упрощает изучение структуры колебаний, но последняя конечная точка может смещаться по мере продолжения движения цены. Чёткий исторический зигзаг не показывает, когда именно стала доступна каждая точка разворота.
Что показывает индикатор ZigZag
Линия представляет собой ретроспективный фильтр движения цены. Предыдущая статья BrokerCheck описывает применение в торговле на колебаниях, трендовых каналах, анализе волн Эллиотта, поддержке и сопротивлении, выборе опорных точек Фибоначчи и фигурах вроде «головы и плеч», треугольников и двойных вершин или оснований. Эти применения предполагают интерпретацию выбранных колебаний; сама линия не рассчитывает будущую цену.
В статье подчёркивается компромисс между чувствительностью и шумом, обсуждаются выраженные тренды, боковые рынки, волатильность активов, фундаментальный контекст и историческое тестирование. Торговые применения описывают аналитические подходы. Здесь примеры измеряют линию и её изменения без тестирования стратегии входа или выхода.
Настройки Depth, Deviation и Backstep
Предыдущая статья определяет Depth как минимальное число баров без нового максимума или минимума, Deviation — как необходимое процентное движение для смены направления, а Backstep — как минимальный интервал в барах между максимумами и минимумами. В ней приведены следующие иллюстративные диапазоны:
| Настройка | Диапазон для меньшего срока | Диапазон для большего срока |
|---|---|---|
| Depth | 5–10 баров | 12–20 баров |
| Deviation | 1–3% | 5–10% |
| Backstep | 1–3 бара | 3–5 баров |
Различайте число баров и процентные фильтры
В статье «Depth» также обозначает фильтр минимального движения цены с начальным диапазоном 5%–10%, значением >10% при высокой волатильности и <5% при низкой. В обсуждении Deviation значения <5% описаны как низкие, 5–10% — как умеренные и >10% — как высокие. Примеры управления риском сопоставляют фильтры 5% и 15%. Здесь эти процентные описания сохранены как процентные пороги; они не преобразованы в число баров.
В скачиваемом файле единицы определены явно: Depth — скользящее окно в барах; DeviationPercent — процент разворота, измеряемый от цены неподтверждённой конечной точки; Backstep — минимальное расстояние в барах до противоположной конечной точки. Именно это определение используется ниже. Это не настройка отклонения в пунктах, и совпадение с ZigZag другой платформы не предполагается.
Backstep и перерисовка
Таблица Backstep в статье называет 1 бар высокочувствительным вариантом, 2–3 бара — сбалансированным, а 4–5 баров — менее чувствительным. Там также сказано, что Backstep «предотвращает перерисовку», хотя ранее предупреждается, что ZigZag может перерисовываться. Здесь Backstep используется только как правило расстояния. Неподтверждённая конечная точка всё равно смещается, как показывает пример последовательных срезов истории.
Последняя нанесённая точка разворота — кандидат, а не завершённый исторический факт в момент первого появления.
Точный расчёт в этом скачиваемом файле
Иллюстративные значения по умолчанию: Depth — 12 баров, DeviationPercent — 1%, Backstep — 3 бара. Они объединяют значения из статьи; они не оптимизированы и не представлены как лучшие настройки.
- Читайте бары в хронологическом порядке. Дождитесь полного окна Depth, затем выберите его самый ранний наименьший минимум как начальную предварительную конечную точку. Обработка продолжается со следующего бара.
- Кандидат в максимумы должен быть не ниже каждого максимума скользящего окна Depth, включая текущий бар. Кандидат в минимумы должен быть не выше каждого минимума этого окна.
- Строго более экстремальный кандидат того же типа заменяет неподтверждённую конечную точку. При равных ценах сохраняется время более ранней конечной точки.
- В противном случае принимайте противоположного кандидата только тогда, когда расстояние до него от неподтверждённой конечной точки в барах не меньше Backstep, а разворот цены достигает указанного ниже процентного порога.
- Подтвердите прежнюю конечную точку при закрытии бара принятия и оставьте новую принятую противоположную точку предварительной. Никогда не смещайте ранее подтверждённую конечную точку при простом добавлении закрытых баров к неизменной закрытой истории.
Порог = абсолютная цена неподтверждённой конечной точки × DeviationPercent ÷ сто После максимума: неподтверждённый максимум − кандидат в минимумы должен достичь Порога После минимума: кандидат в максимумы − неподтверждённый минимум должен достичь Порога
Внешние бары, текущие бары и изменения истории
Внешний бар может давать и продолжение, и разворот. Продолжение имеет приоритет; допускается не более одного изменения на бар, поскольку максимальная и минимальная цены не раскрывают последовательность событий внутри бара. Противоположная точка разворота на том же баре продолжения не принимается. Нативный индикатор пересчитывает все доступные бары при каждом вызове. Его последний бар ещё может измениться; исторические примеры ниже содержат только закрытые бары.
Depth и Backstep должны быть положительными целыми количествами баров; процент разворота должен быть положительным и конечным. Максимумы и минимумы должны быть положительными и конечными, причём максимум не должен быть ниже минимума. При недостаточной истории линия отсутствует. Изменения старых баров, доступной истории или настроек вызывают новый расчёт; утверждение о стабильности относится только к добавлению закрытых баров при идентичных прежних данных и настройках.
Реальные примеры EURUSD
Историческая выборка содержит 5000 закрытых часовых баров с 2025-12-04 15:00 по 2026-09-24 22:00. Время соответствует времени открытия баров в терминале; при получении данных измерено смещение UTC+3; исторические переходы на летнее время не корректируются. Разрывы между сессиями сжаты и отмечены на графиках. Эти наблюдения не являются котировками в реальном времени.
Подтверждённые колебания и незавершённое звено

Разные процентные пороги на одинаковых барах

Наблюдение за перерисовкой неподтверждённой конечной точки

| Данные доступны по бар включительно | Бар неподтверждённой конечной точки | Цена конечной точки, USD за EUR |
|---|---|---|
| 2026-09-23 18:00 | 2026-09-23 17:00 | 1.13830 |
| 2026-09-23 19:00 | 2026-09-23 19:00 | 1.13752 |
| 2026-09-23 20:00 | 2026-09-23 20:00 | 1.13696 |
| 2026-09-23 21:00 | 2026-09-23 20:00 | 1.13696 |
Каждая строка использует только бары, доступные на момент этого среза при закрытии бара. При смещении конечной точки прежняя нанесённая точка исчезает. Соединяющее звено перерисовывается к новому экстремуму. Пример представляет самую позднюю последовательность срезов, отвечающую указанному условию: повторные изменения неподтверждённой конечной точки при неизменном наборе подтверждённых точек. Отбор не основывался на последующей доходности.
Использование ZigZag для структуры колебаний
Более высокий максимум сравнивает подтверждённый максимум с предыдущим подтверждённым максимумом; более высокий минимум сравнивает подтверждённый минимум с предыдущим подтверждённым минимумом. Более низкие максимумы и минимумы используют обратное строгое сравнение. Равные цены означают равные колебания, а не более высокие или низкие. Промежуточные точки разворота того же типа не пропускаются.
В этих примерах восходящая структура требует, чтобы и последний максимум, и последний минимум превышали своих предшественников того же типа. Нисходящая структура требует, чтобы оба были ниже. Остальные сочетания являются смешанными. Классификация становится доступной только после подтверждения последней участвующей точки разворота, при закрытии отмеченного бара, а не в момент его более раннего экстремума.
Более высокие максимумы и минимумы

Более низкие максимумы и минимумы

Другие индикаторы, таймфреймы и рыночный контекст
Предыдущая статья сочетает ZigZag со скользящими средними для направления тренда и пересечений, MACD для импульса и дивергенции, RSI для дивергенции и значений выше 70/ниже 30, а также уровнями коррекции Фибоначчи для сравнения ценовых уровней. Также обсуждаются рост объёма, фундаментальный анализ и сочетание разных видов информации. Ни один из этих дополнительных расчётов не включён в скачиваемый файл; комбинированные сигналы или вероятности здесь не измеряются.
Корректировка настроек без заявления об оптимальности
Статья обсуждает увеличение Depth и Deviation при высокой волатильности и их уменьшение при меньшей волатильности или более коротких горизонтах торговли; снижение Backstep предлагается, когда короткие развороты пропускаются. Таблица таймфреймов сопоставляет 1–15-минутные графики валют или криптовалют с дневными и недельными графиками акций. В качестве контекста также названы 24-часовой валютный цикл, биржевые сессии акций и циклы сырьевых товаров. Все разобранные примеры остаются часовыми примерами EURUSD.
Чтобы изучить изменение, оставьте данные и остальные настройки неизменными, сравните сохранившиеся точки разворота и изучите последовательные срезы. График с меньшим числом отрезков устанавливает лишь другую отфильтрованную историю. Статья рекомендует историческое тестирование и эксперименты на демосчёте; это руководство содержит описательные расчёты, а не доказательства оптимальности параметра или эффективности стратегии.
Стопы, цели и ограничения ретроспективных колебаний
Статья обсуждает размещение стопов ниже минимумов колебаний или за точками разворота, целей рядом с недавними максимумами или прогнозируемыми точками и корректировку ордеров при образовании новых точек разворота. Также подчёркиваются дисциплина решений и эмоциональная сложность принятия убытков. Это предлагаемые применения уровней колебаний; здесь не реализованы алгоритмы размещения ордеров, определения размера позиции или проекции целей.
Неподтверждённый минимум позднее может сместиться ниже. Время исторической точки разворота также предшествует времени его подтверждения. Любой отдельный торговый тест должен использовать информацию, доступную в тот момент, а не считать итоговую историческую линию немедленно доступным сигналом.
Аккуратная линия через прежние ценовые экстремумы не устанавливает цену входа, цену выхода или будущий результат.
Скачать индикатор и исторические примеры
Индикатор MQL5 накладывает процентный ZigZag на цену. В нём нет ордеров, оповещений или дополнительных индикаторов. Последнее звено является предварительным, хотя нативная линия использует единый стиль рисования; отдельные исторические графики выделяют его пунктиром. Прикрепление к нативному графику и отрисовка не тестировались.
Нативный расчёт совпал с эталоном по 330433 непустым значениям буфера при максимальной абсолютной разнице 0.0. Это проверяет арифметику и расположение точек разворота, а не результаты торговли.
Скомпилированный индикатор
Скомпилированный файл для папки пользовательских индикаторов.
Данные исторических примеров
Часовые цены, цены точек разворота, типы и индексы подтверждения.
Прочитать примечания к расчёту и установке.
- Поместите скомпилированный файл в папку пользовательских индикаторов платформы или скомпилируйте исходный код в редакторе платформы.
- Прикрепите его через элементы управления пользовательскими индикаторами и выберите нужный таймфрейм графика.
- Введите положительное число баров для Depth и Backstep и положительное значение DeviationPercent. Проверьте единицы перед сравнением с другим ZigZag.
- Наблюдайте за неподтверждённой конечной точкой по мере поступления баров и отличайте её время от времени подтверждения.
Что устанавливают примеры
- Последняя конечная точка является предварительной.
- Подтверждение относится к закрытию бара принятия, а не к более раннему экстремуму.
- Настройки и история определяют выбранные колебания.
Графики показывают конкретное процентное правило на фиксированном потоке исторических данных. Скачанный CSV содержит итоговый результат по всей истории; это не воспроизведение содержимого каждого прежнего графика. Таблица срезов даёт такой более узкий пример воспроизведения. Издержки сделок, входы, выходы, доходность, доля прибыльных сделок и точность прогнозирования не измерялись. Разные правила, потоки данных, начала истории и настройки могут давать разные колебания.
Часто задаваемые вопросы
Перерисовывается ли ZigZag?
Неподтверждённая конечная точка может сместиться к более позднему экстремуму, удалив прежнюю точку. В этом расчёте ранее подтверждённые конечные точки остаются неподвижными при расширении неизменной закрытой истории.
Когда подтверждается точка разворота?
Когда принимается подходящая противоположная конечная точка, при закрытии бара её принятия. Время экстремума предшествует моменту, когда становится доступно его подтверждение.
Измеряется ли Deviation в пунктах?
Этот скачиваемый файл использует процент от цены неподтверждённой конечной точки. ZigZag на основе пунктов использует другую единицу, и совпадение не предполагается.
Что здесь означает Depth?
Это скользящее окно кандидатов в барах с иллюстративным значением по умолчанию 12. Статья также обсуждает процентные фильтры; эти проценты не являются числом баров.
Предотвращает ли Backstep любую перерисовку?
Нет. В этом расчёте он ограничивает расстояние в барах до противоположной конечной точки. Неподтверждённая конечная точка всё равно может смещаться.
Что такое более высокие максимумы и минимумы?
Это строгие повышения между последовательными подтверждёнными максимумами и между последовательными подтверждёнными минимумами. Для примера восходящей структуры необходимы оба сравнения.
Это лучшие настройки?
Оптимальные настройки или результаты торговли не установлены. Примеры описывают выбранное правило на исторических данных; они не прогнозируют движение цены.
Продукты с кредитным плечом могут быстро привести к потере денег. В России розничные договоры форекс и CFD могут предлагать только лицензированные форекс-дилеры, состоящие в саморегулируемой организации.




