Что означает Zero Lag EMA?
Zero Lag EMA, или ZLEMA, означает экспоненциальную скользящую среднюю, которую считают по цене с поправкой на отставание. Документация QuantConnect описывает ZLEMA как индикатор, цель которого убрать задержку, присущую трендовым индикаторам с усреднением цены. Слово «цель» здесь важное: так описан замысел метода, нулевой задержки на любом графике документация не обещает. Справка Sierra Chart называет авторами индикатора Джона Элерса и Рика Уэя.
Поправка считается в три шага. Берут период N и находят сдвиг: от N отнимают 1 и делят пополам, то есть (N - 1) / 2. Sierra Chart округляет результат вверх, в коде QuantConnect стоит округление до целого, для нечётного периода оба способа дают одно число. Потом из удвоенного текущего закрытия вычитают закрытие, которое было сдвиг баров назад. Получается поправленная цена, и уже её сглаживает EMA с тем же периодом и коэффициентом 2 / (N + 1).
Сама скользящая средняя внутри остаётся прежней, меняется только то, что в неё подают. Соседние трендовые линии собраны в обзоре индикаторов технического анализа.
Как ZLEMA уменьшает задержку: пример с периодом 5
ZLEMA уменьшает задержку тем, что при росте подаёт в среднюю число больше самой цены, а при падении меньше. Проверим на учебном расчёте. Период 5, сдвиг 2 бара, коэффициент равен одной трети. До примера цена десять баров подряд закрывалась на 100, обе линии прогреты и равны 100. Дальше идут два закрытия по 110 и два по 100.
| Бар | Закрытие | Закрытие 2 бара назад | Поправленная цена | ZLEMA(5) | EMA(5) |
|---|---|---|---|---|---|
| 1 | 110 | 100 | 120 | 106,67 | 103,33 |
| 2 | 110 | 100 | 120 | 111,11 | 105,56 |
| 3 | 100 | 110 | 90 | 104,07 | 103,70 |
| 4 | 100 | 110 | 90 | 99,38 | 102,47 |
Первая строка руками. Поправленная цена: 2 × 110 - 100 = 120. ZLEMA берёт треть от 120 и две трети от прошлого значения 100, выходит 106,67. Обычная EMA берёт треть от самого закрытия 110 и даёт 103,33. За один бар ZLEMA прошла две трети пути до новой цены, EMA одну треть.
Это учебный расчёт на условных числах. Котировок и результата торговой платформы здесь нет.
Учебный расчёт: закрытия, ZLEMA(5) и EMA(5) на одной ступеньке цены
учебная схема · не котировка и не сигнал
Закрытия и ZLEMA(5)
Закрытия и EMA(5)
- 1Бар 1: закрытие 110, ZLEMA уже 106,67, EMA только 103,33
- 2Бар 2: ZLEMA 111,11, это выше закрытия 110. EMA в этот момент 105,56
- 4Бар 4: цена вернулась к 100, ZLEMA 99,38 и ушла ниже закрытия. EMA ещё 102,47
Почему линия может обогнать цену?
Линия может обогнать цену, потому что поправленная цена оказывается выше любого закрытия на графике: в примере это 120 при закрытии 110. На втором баре ZLEMA равна 111,11 и стоит выше закрытия на 1,11 пункта, хотя цена выше 110 не поднималась. Обычная EMA так не умеет. Она каждый раз встаёт между своим прошлым значением и ценой, поэтому на том же баре равна 105,56.
При возврате цены картина зеркальная. На третьем баре поправленная цена уже 90, и на четвёртом ZLEMA опускается до 99,38, ниже закрытия 100. EMA в это время ещё 102,47. Выходит, быстрый поворот оплачен выносом линии за цену в обе стороны. Запаздывание индикатора у ZLEMA меньше, но остаётся: на первом баре линия прошла только две трети движения. Другие способы сократить задержку разобраны в материале про трендовые индикаторы без запаздывания и перерисовки.
Что проверить перед сравнением с обычной EMA?
Перед сравнением стоит сверить пять вещей: исходный ряд, период, округление сдвига, прогрев и закрытие бара. Иначе разница между линиями окажется разницей настроек.
- Исходный ряд. Обе линии должны считаться по одной цене, например по закрытию.
- Период индикатора. ZLEMA(5) сравнивают с EMA(5). Рядом с EMA(20) разницу даст уже сам период.
- Округление сдвига. При чётном периоде (N - 1) / 2 получается дробным. Sierra Chart округляет её вверх, другая платформа может округлить иначе.
- Прогрев. В коде QuantConnect период прогрева равен N плюс половина N с округлением вниз, для периода 5 это 7 баров. Sierra Chart показывает линию только с N-го бара.
- Закрытие бара. Пример посчитан по закрытым барам. На текущем баре цена ещё меняется, и линия меняется вместе с ней.
Риски и ограничения. Числа в таблице условные: это проверка формулы, рыночных данных и теста стратегии здесь нет. Расчёт следует коду QuantConnect и справке Sierra Chart, на другой платформе округление сдвига и первые значения могут отличаться. Название Zero Lag носят и другие скрипты, например варианты MACD и стохастика, у них свои алгоритмы, и этот разбор на них не переносится. Индикатор Zero Lag EMA описывает прошлые бары и не обещает результата сделки. Не перерисовывается ли конкретный скрипт, проверяют отдельно на нём самом. Торговля связана с риском потери капитала. Материал образовательный, это не индивидуальная инвестиционная рекомендация.
Источники
- Zero Lag Exponential Moving Average, документация QuantConnect - название ZLEMA и назначение метода.
- ZeroLagExponentialMovingAverage, исходный код QuantConnect Lean - сдвиг, поправленная цена на входе EMA, период прогрева.
- ExponentialMovingAverage, исходный код QuantConnect Lean - коэффициент сглаживания и первое значение EMA.
- Moving Average - Zero Lag Exponential, справка Sierra Chart - авторы индикатора, формула сдвига, с какого бара линия показана.





