Индикатор Detrended Price Oscillator: формула, настройки и чтение

Detrended Price Oscillator (DPO) убирает тренд из цены, сравнивая прошлое закрытие с простой скользящей средней, заканчивающейся на текущем баре. Он выводится в отдельной панели с периодом 20 по умолчанию, что помещает точку сравнения на 11 баров назад.

Senzoukria · Индикаторы · Updated September 2026


Detrended Price Oscillator Моментум, в отдельной панели под графиком.

Что измеряет Detrended Price Oscillator

Сдвиг равен floor(N / 2) + 1 бар — 11 при периоде по умолчанию 20. N-периодная скользящая средняя отстаёт от центра собственного окна на (N − 1) / 2 бара, поэтому смещение закрытия назад на эту величину совмещает его с центром, а остаток — это циклическая составляющая без тренда. До индекса max(N − 1, shift) ничего не выводится, поскольку должны существовать и средняя, и прошлое закрытие. Это нецентрированный вариант: значение рисуется на индексе текущего бара без сдвига вправо, как в ATAS и в нецентрированном режиме TradingView, но число описывает бар 11-барной давности, а не последний. Это цена удаления тренда, и она структурная, а не запаздывание, которое можно убрать настройкой.

Формула — так, как она реализована

Это не привычное определение из других источников, а то, что вычисляет поставляемый код, задокументированное рядом с реализацией:

DPO — Detrended Price Oscillator. Retire la tendance en comparant un close PASSÉ à la moyenne (SMA SIMPLE) qui se termine MAINTENANT : shift = ⌊N/2⌋ + 1 DPO[i] = close[i − shift] − SMA_N(close)[i] LE DÉCALAGE, explicitement : la SMA_N centrée sur la fenêtre est « en retard » de (N−1)/2 barres sur son dernier point ; reculer le close de ⌊N/2⌋+1 le remet EN FACE du centre de cette moyenne. Le résultat est donc une mesure du cycle DÉBARRASSÉE de la tendance — mais il décrit la barre i − shift, PAS la barre courante. C'est la variante NON CENTRÉE : la valeur reste tracée à l'indice i (aucun décalage du tracé vers la droite), comme TradingView en mode non-centré et comme ATAS. Le DPO ne doit donc JAMAIS être lu comme un signal temps réel de la dernière barre : il est structurel- lement en retard de `shift` barres, c'est le prix du détrending. Défaut N=20 (shift = 11), la période cyclique usuelle. Warm-up → i ≥ max(N − 1, shift), donc N ≥ 2 imposé par le spec de param.

Как его читать

  • Положительное значение — опорное закрытие было выше средней, заканчивающейся сейчас, отрицательное — ниже. Ноль — середина после удаления тренда.
  • Поскольку выведенное значение относится к бару несколькими барами ранее, никогда не читайте последнюю точку как утверждение о текущей цене: это историческое измерение, нарисованное на сегодняшней позиции по оси X.
  • Расстояние между последовательными пиками и впадинами — то, для чего создан осциллятор: оно оценивает длину доминирующего цикла в барах.
  • Если пики и впадины приходят через неравные промежутки, у инструмента нет устойчивого цикла на этом периоде, и индикатор измеряет шум.
  • Амплитуда выражена в ценовых единицах, поэтому растёт с волатильностью и не сравнима между инструментами.

Параметры и значения по умолчанию

period (20) задаёт и скользящую среднюю, и выводимый из неё сдвиг — отдельного параметра смещения нет. Более короткий период уменьшает сдвиг и выделяет более быстрые циклы, более длинный отфильтровывает больше тренда и отодвигает опорную точку дальше в прошлое. Выбирайте период исходя из длины цикла, который хотите выделить, а не из желаемой отзывчивости.

Detrended Price Oscillator — параметры, доступные в приложении, со значениями по умолчанию.
ПараметрТипПо умолчаниюДиапазон
Periodnumber202 – 500

Чего он не показывает

DPO — не индикатор реального времени, и использовать его так нельзя: его последнее значение по построению описывает бар несколькими барами ранее. Убрав тренд, он также ничего не говорит о направлении — сильно трендовый и плоский рынок могут дать одинаковые колебания. Он основан только на цене, без входа по объёму, дельте или ликвидности. И удаление тренда имеет смысл, только если цикл примерно выбранной длины действительно существует; где его нет, результат — сглаженный остаток без информации.

Все индикаторы

Эта страница на других языках

Frequently asked questions

Сдвинут ли DPO вправо на графике?
Нет. Это нецентрированный вариант, поэтому каждое значение рисуется на том баре, где вычислено, — точно так же, как в ATAS и в нецентрированном режиме TradingView. Сдвиг живёт внутри формулы — сравниваемое закрытие берётся на 11 баров назад при периоде по умолчанию, — а не на графике. Линия выровнена с графиком, но число относится к более раннему бару.
Что меняет изменение периода DPO?
Сразу две вещи: длину скользящей средней и сдвиг, равный floor(period / 2) + 1. Период 20, таким образом, сравнивает закрытие 11-барной давности с 20-периодной средней, заканчивающейся сейчас. Более длинные периоды убирают больше тренда и заглядывают дальше назад; более короткие выделяют быстрые циклы, убирая меньше тренда.
Можно ли использовать DPO как сигнал в реальном времени?
Он для этого не предназначен. Значение на последнем баре — это измерение бара несколькими барами ранее, поэтому свежее пересечение нуля описывает то, что уже произошло. Осциллятор служит для оценки длины цикла и поиска прошлых точек разворота, а чтение его последней точки как живого триггера — неправильное использование формулы.

Keep reading