Detrended Price Oscillator (DPO)

StratCraft indicator page for DPO.

Route: /indicators/dpo/

What It Does

DPO removes longer-term trend influence to help expose cyclic movement and shorter-term turning points.

Formula

DPO = Price - centered moving average

Parameters

  • period - default 20
  • movav - default MovingAverageSimple

C++23 API

#include <nonabt/indicators/dpo.hpp>
auto dpo = std::make_unique<nonabt::DPO>(data().close(), 20, "MovingAverageSimple");

Common Usage

  • Use DPO to identify cyclical swings.
  • Combine it with support/resistance or timing rules.
  • Helpful for mean-reversion systems.

Practical Pattern

Positive DPO values can suggest price is above its centered average, while negative values can suggest the opposite.