Percentage Price Oscillator (PPO)

MACD expressed as a percentage of the slow EMA. Same signals, normalized scale — comparable across instruments and timeframes.

IndicatorBy AlgoLiftUpdated 4 min read
On this page 13What it measuresFormulaInputs in AlgoLiftRecommended settingsOutputs in AlgoLiftReading the components togetherBest in / worst inThree setups1. Signal-line crossover2. Histogram-based early entry3. Zero-line momentum entriesAdvanced patterns in AlgoLiftCommon mistakes

A momentum oscillator that measures the difference between two EMAs as a percentage of the slow EMA. Mechanically identical to MACD but normalized so values are comparable across instruments at different price levels.

What it measures

  • Momentum direction. PPO > 0 means the fast EMA is above the slow EMA — bullish momentum. PPO < 0 means the inverse.
  • Momentum strength. Larger absolute PPO values mean greater EMA separation — stronger directional momentum.
  • Cross-instrument comparability. Unlike MACD, PPO is normalized — a PPO reading of 1.5 on MES is comparable to a PPO reading of 1.5 on AAPL, because both are percentages.

Formula

Inputs in AlgoLift

SettingDefaultRangeNotes
Fast Period122–200Lookback for the fast EMA.
Slow Period262–500Lookback for the slow EMA. The denominator.
Signal Period91–200EMA period for the signal line.
  • (12, 26, 9) — default: Standard. Works for most timeframes.
  • (5, 13, 5): Faster — useful on lower-timeframe charts.
  • (19, 39, 9): Slower — for swing setups on daily bars.

Outputs in AlgoLift

HandleTypePlottedNotes
PPO LineNumericAlwaysThe main line. Zero-line crosses indicate EMA crossovers.
Signal LineNumericAlwaysEMA of the PPO line. Crossovers between PPO and Signal are the primary trade triggers.
HistogramNumericAlwaysPPO − Signal. Positive and rising = bullish momentum accelerating.
PPO SlopeNumericOn selectRate of change of the PPO line.
Signal SlopeNumericOn selectRate of change of the Signal line.
Histogram SlopeNumericOn selectRate of change of the Histogram — earliest signal of momentum exhaustion.

Reading the components together

PPO produces three lines that work together:

  • PPO Line tells you the direction of momentum (above/below zero) and its magnitude.
  • Signal Line is a smoothed lagging version of PPO — used as the reference for crossover signals.
  • Histogram is PPO − Signal — tells you whether momentum is accelerating or decelerating before the lines themselves cross.

The classic workflow: histogram changes sign first (early warning), then PPO crosses signal (entry), then PPO crosses zero (trend confirmation). Strategies can use any of these three events as their trigger depending on aggressiveness vs. accuracy preference.

Key Takeaway

PPO is MACD with cross-instrument comparability. Every MACD strategy works on PPO with no changes — but PPO's normalized scale makes it usable in Portfolio Builder comparisons in a way MACD isn't.

Best in / worst in

Best in trending markets, on instruments where you need consistent thresholds across timeframes or price levels, and in portfolio-level analysis where you're comparing signals across multiple instruments.

Worst in range-bound markets — PPO whipsaws across the zero line continuously when there's no real trend. And on very-short timeframes (sub-1m bars) where the EMA periods translate to noise rather than signal.

Three setups

1. Signal-line crossover

The canonical PPO entry: PPO crosses its Signal Line.

  • Long: PPO crosses above Signal Line AND PPO > 0 (already in bullish regime).
  • Short: PPO crosses below Signal Line AND PPO < 0.

The PPO > 0 requirement filters out countertrend crossovers, which are the noisiest signals.

2. Histogram-based early entry

Trigger before the PPO/Signal crossover by reading the histogram.

  • Long: Histogram was negative for 3+ bars AND just crossed to positive AND price > EMA(50).
  • Short: Symmetric.

Catches signals ~1-2 bars earlier than the line-crossover setup, with proportionally more false signals.

3. Zero-line momentum entries

Use the PPO zero-line cross as a slower, higher-conviction trend-change signal.

  • Long: PPO crosses above 0 (fast EMA now above slow EMA) AND price > SMA(200).
  • Short: Symmetric with PPO crossing below 0.

Fewer signals than signal-line crossovers, but each one represents a real EMA regime shift.

Advanced patterns in AlgoLift

PPO histogram divergence. Wire Bars Ago Modifier on the Histogram output to compare current histogram against histogram 10 bars ago. When price makes a new high but histogram makes a lower high, momentum is fading. Use as a contrarian early-exit or counter-trend entry signal.

Cross-instrument PPO portfolio signal. PPO's normalized scale means you can compare PPO readings across instruments meaningfully. Build a strategy that goes long the top-3-PPO instrument and short the bottom-3-PPO instrument in a basket — a momentum-rotation strategy that uses PPO as the ranking metric. The Portfolio Builder is the natural home for this.

PPO + ATR trailing exit. Use PPO/Signal crossover for entry, then exit when EITHER (a) the PPO histogram has been negative for 3 bars in a long position, or (b) ATR-based stop hits. Two independent exits — momentum-based and risk-based — that cover different failure modes.

Common mistakes

  • Treating PPO and MACD as different indicators. They produce identical signals on a single instrument. PPO's only advantage is comparability across instruments.
  • Using default periods on very-low-timeframe charts. (12, 26, 9) on 1m bars is essentially a 26-minute lookback — usually too slow for 1m strategy logic.
  • Ignoring the histogram. Histogram-based entries lead line-based entries by 1–2 bars. Strategies that only read PPO and Signal are throwing away the earliest signal.
  • Over-optimizing the three periods. Three parameters interact — fitting all three independently is a fast track to overfitting.
Common Misconception
Myth
PPO is just MACD with extra steps.
Reality
They're computationally similar but functionally different — PPO is normalized, MACD isn't. For a single-instrument strategy, either works. For any analysis that compares signals across instruments (portfolio ranking, cross-symbol filters, screening), PPO is the right choice and MACD isn't usable.