Индикатор 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) задаёт и скользящую среднюю, и выводимый из неё сдвиг — отдельного параметра смещения нет. Более короткий период уменьшает сдвиг и выделяет более быстрые циклы, более длинный отфильтровывает больше тренда и отодвигает опорную точку дальше в прошлое. Выбирайте период исходя из длины цикла, который хотите выделить, а не из желаемой отзывчивости.
| Параметр | Тип | По умолчанию | Диапазон |
|---|---|---|---|
| Period | number | 20 | 2 – 500 |
Чего он не показывает
DPO — не индикатор реального времени, и использовать его так нельзя: его последнее значение по построению описывает бар несколькими барами ранее. Убрав тренд, он также ничего не говорит о направлении — сильно трендовый и плоский рынок могут дать одинаковые колебания. Он основан только на цене, без входа по объёму, дельте или ликвидности. И удаление тренда имеет смысл, только если цикл примерно выбранной длины действительно существует; где его нет, результат — сглаженный остаток без информации.
Похожие индикаторы
Эта страница на других языках
Frequently asked questions
- Сдвинут ли DPO вправо на графике?
- Нет. Это нецентрированный вариант, поэтому каждое значение рисуется на том баре, где вычислено, — точно так же, как в ATAS и в нецентрированном режиме TradingView. Сдвиг живёт внутри формулы — сравниваемое закрытие берётся на 11 баров назад при периоде по умолчанию, — а не на графике. Линия выровнена с графиком, но число относится к более раннему бару.
- Что меняет изменение периода DPO?
- Сразу две вещи: длину скользящей средней и сдвиг, равный floor(period / 2) + 1. Период 20, таким образом, сравнивает закрытие 11-барной давности с 20-периодной средней, заканчивающейся сейчас. Более длинные периоды убирают больше тренда и заглядывают дальше назад; более короткие выделяют быстрые циклы, убирая меньше тренда.
- Можно ли использовать DPO как сигнал в реальном времени?
- Он для этого не предназначен. Значение на последнем баре — это измерение бара несколькими барами ранее, поэтому свежее пересечение нуля описывает то, что уже произошло. Осциллятор служит для оценки длины цикла и поиска прошлых точек разворота, а чтение его последней точки как живого триггера — неправильное использование формулы.