CMO (Chande Momentum Oscillator)
CMO (Chande Momentum Oscillator)
What is CMO?
The Chande Momentum Oscillator (CMO) is a technical momentum indicator developed by Tushar Chande. It measures the difference between the sum of recent gains and the sum of recent losses, then divides by the total sum of all price movement over a given period. The CMO oscillates between -100 and +100.
How it works
CMO calculates the raw momentum by comparing up-day sums versus down-day sums:
CMO = ((Sum of Gains - Sum of Losses) / (Sum of Gains + Sum of Losses)) * 100
A positive value indicates upward momentum, while a negative value indicates downward momentum.
Key levels
- Above +50 — Strong bullish momentum
- Below -50 — Strong bearish momentum
- 0 — Neutral, no net directional momentum
- +100 — Maximum bullish momentum (all bars closed up)
- -100 — Maximum bearish momentum (all bars closed down)
Trading signals
Buy signals
- CMO crosses above -50 from below (oversold exit)
- CMO crosses above 0 (momentum shift to bullish)
- Bullish divergence: price makes lower low, CMO makes higher low
Sell signals
- CMO crosses below +50 from above (overbought exit)
- CMO crosses below 0 (momentum shift to bearish)
- Bearish divergence: price makes higher high, CMO makes lower high
Parameters
| Parameter | Default | Description | |-----------|---------|-------------| | Period | 14 | Number of candles for calculation |
Example conditions
| Condition | Meaning |
|-----------|---------|
| CMO(14) > 50 | Strong bullish momentum |
| CMO(14) < -50 | Strong bearish momentum |
| CMO(14) cross_over 0 | Momentum turned bullish |
| CMO(14) cross_under 0 | Momentum turned bearish |
Tips
- CMO is similar to RSI but uses both up and down data in the numerator
- Values between -50 and +50 are considered a neutral zone
- Combine with trend filters to avoid false signals in ranging markets
- Shorter periods make CMO more responsive but noisier
- Works well as a confirmation tool alongside moving averages

