Skip to content

PO Overview

The Price Oscillator (PO/PPO) is the percentage version of MACD — it measures the percentage difference between two EMAs rather than the absolute difference. This normalization allows comparing momentum across different-priced assets.

PO solves MACD’s main limitation: because MACD uses absolute price difference, a MACD value of 2.0 means different things for a $10 stock vs a $50,000 crypto. PO normalizes this to percentages.


  1. Calculate PO value from the input price/volume data
  2. Apply smoothing if applicable
  3. Compare to threshold or signal line for signal generation
  4. Interpret: Signals indicate momentum direction or extremes

Key Characteristics:

  • Momentum Indicator = Measures momentum direction and strength
  • Signal Line Available = Yes
  • Bounded = No (unbounded)

PO Behavior:

  • Bullish momentum — percentage-based
  • Bearish momentum — percentage-based
  • Signal line crossovers provide timing signals

These are the signal names you select when configuring PO in the algorithm builder or via the MCP agent:

SignalTriggers WhenTypical Use
poi_positivePO is positive (fast EMA > slow EMA)Bullish momentum — percentage-based
poi_negativePO is negative (fast EMA < slow EMA)Bearish momentum — percentage-based
poi_above_signalLinePO crosses above signal lineMomentum accelerating
poi_below_signalLinePO crosses below signal lineMomentum decelerating

Display: Separate pane

Category: Momentum

Threshold range: Unbounded (percentage-based, centered on zero)


What Price Oscillator Does Well:

  • Clear Directional Signals
  • Combines well with trend filters
  • Signal line crossovers signals for entry timing