Price Oscillator (PPO)¶
Indicators · Momentum
Percentage Price Oscillator — MACD in percent, comparable across instruments.
The Percentage Price Oscillator (PPO) is MACD expressed in percent. It measures the gap between a fast and a slow EMA, just like MACD — but reports it as a percentage of the slow EMA rather than a raw price difference. That single change makes it comparable across instruments and across time: a PPO of 1.5 means the same "fast is 1.5% above slow" whether you're on EURUSD at 1.10 or a stock at $400, which raw MACD values can never claim.
How it works¶
The block computes (EMA_fast − EMA_slow) / EMA_slow × 100 over the Fast EMA (12) and Slow EMA (26) of the Source, giving the PPO line. A Signal line (EMA of PPO over Signal EMA, 9) provides the crossover trigger, and the Histogram plots PPO − signal. Bull ↑ / Bear ↓ fire on the signal cross. Everything sits in a sub-pane around a zero line, exactly like MACD — just on a percentage scale.
When to use it¶
Use PPO anywhere you'd use MACD but need cross-instrument comparability — scanning a basket of symbols for momentum, building a multi-asset score, or comparing the same indicator's strength across very different price levels. The signal cross times entries, the zero cross marks trend state, and divergence flags exhaustion. If you only ever trade one instrument, MACD and PPO behave identically in practice; PPO's edge is the moment you compare across symbols.
Example¶
Cross-symbol momentum scan: compute PPO on each instrument and compare the readings directly (impossible with raw MACD) to rank which has the strongest momentum, then trade the leader on a Bull ↑ signal into a Buy Signal. Backtest in the Tester.
Tips & gotchas¶
- MACD in percent — same signals, but comparable across instruments and time.
- Use it for scans and multi-asset scores — that's where the percentage scale pays off.
- Signal cross = timing, zero cross = trend, histogram leads the cross — identical playbook to MACD.
- Defaults 12/26/9 mirror MACD's conventions.
Related blocks¶
Inputs¶
| Socket | Type | What to wire in |
|---|---|---|
| Source | bars / series |
Price bars or any indicator series |
Outputs¶
| Output | Type | Plots as | Description |
|---|---|---|---|
| PPO | series |
Line · sub-pane | Percentage price oscillator |
| Signal | series |
Line · sub-pane | EMA of PPO |
| Histogram | series |
Histogram · sub-pane | PPO − signal |
| Bull ↑ | signal |
Signal arrows | PPO crosses above signal |
| Bear ↓ | signal |
Signal arrows | PPO crosses below signal |
Parameters¶
| Parameter | Type | Default | What it does |
|---|---|---|---|
| Fast EMA | number · 2–200 | 12 |
|
| Slow EMA | number · 3–400 | 26 |
|
| Signal EMA | number · 1–100 | 9 |
|
| Source | choice (close, open, high, low, hl2, hlc3, ohlc4) |
close |
|
| PPO color | colour | #42a5f5 |
|
| Signal color | colour | #ff7043 |
|
| Histogram color | colour | #90a4ae |
Chart guides
This indicator draws reference level(s): Zero.
Reference auto-generated from the block catalog · category Indicators.