Chande Momentum Oscillator (CMO)

Pure momentum oscillator on a −100 to +100 scale. Less smoothing than RSI — sharper signals, more responsiveness, more whipsaws.

IndicatorBy AlgoLiftUpdated 3 min read
On this page 13What it measuresFormulaInputs in AlgoLiftRecommended periodsOutputs in AlgoLiftHow to read itBest in / worst inThree setups1. CMO direction as a regime filter2. Extreme mean-reversion entry3. Zero-line breakout entryAdvanced patterns in AlgoLiftCommon mistakes

A momentum oscillator that measures net price movement over a lookback period, scaled to a −100 to +100 range. Mathematically similar to RSI but without the smoothing — sharper, more responsive, more noisy.

What it measures

  • Net momentum. Sum of up-day price changes minus sum of down-day price changes, normalized to total absolute movement.
  • Pure (unsmoothed) momentum reading. Where RSI smooths the averages, CMO sums them raw — more responsive, more volatile.
  • Direction certainty. The bundled Direction output (1 or −1) gives a binary momentum-direction flag.

Formula

Inputs in AlgoLift

SettingDefaultRangeNotes
Period142–200Lookback for the up/down sums.
  • 5–9 (fast): Short-term scalping.
  • 14 (default): Standard. Works for most intraday strategies.
  • 20–30: Smoother readings for swing setups.

Outputs in AlgoLift

HandleTypePlottedNotes
CMONumericAlwaysThe oscillator (−100 to +100).
SlopeNumericOn selectRate of change of CMO — useful for momentum acceleration detection.
DirectionNumericOn selectBinary: 1 when CMO > 0, −1 when CMO < 0. Convenient as a regime flag.

How to read it

  • CMO > +50: Strong upside momentum — possibly overextended.
  • CMO < −50: Strong downside momentum — possibly overextended.
  • CMO crossing zero: Net momentum flipped direction. The Direction output handles this for you.
  • CMO near zero with low slope: Sideways action, no directional bias.
  • CMO at extreme with flat slope: Momentum has plateaued — possible reversal warning.

The ±50 thresholds are less established than RSI's 70/30 — some traders use ±60 or ±70 for tighter filters.

Key Takeaway

CMO is RSI without the smoothing. Sharper signals, more responsiveness, more whipsaws. Use it when you want momentum readings that react faster than RSI; use RSI when you want smoother readings that survive more noise.

Best in / worst in

Best in instruments with clean trends and clear momentum shifts, on liquid futures and major equity indices during regular trading hours, and as a confirmation indicator alongside slower trend filters.

Worst in sideways chop (whipsaws across zero continuously), low-liquidity windows (the unsmoothed structure amplifies tape noise), and on instruments with frequent gaps that create artificially extreme readings.

Three setups

1. CMO direction as a regime filter

Use the Direction output (1 or −1) as a clean binary trend flag.

  • Long-only mode: Direction = 1 — strategy permitted to take longs only.
  • Short-only mode: Direction = −1 — short entries only.

A simple, no-tuning regime classifier that can sit alongside any other strategy.

2. Extreme mean-reversion entry

Trade against CMO extremes when conditions support mean reversion.

  • Long: CMO < −50 AND CMO slope > 0 (turning back up) AND KAMA ER < 0.3 (range regime).
  • Short: Symmetric.

The KAMA ER filter is what makes this safe — CMO extremes in trends don't reverse; only in ranges.

3. Zero-line breakout entry

Use CMO crossing zero as a momentum-shift entry trigger.

  • Long: CMO crosses above 0 AND price > EMA(50) AND CMO slope > some threshold (genuine acceleration, not noise drift).
  • Short: Symmetric.

The slope requirement filters out lazy zero-line drifts that don't represent real momentum changes.

Advanced patterns in AlgoLift

CMO Direction in a Cluster. CMO + a fast moving average + ATR-based stops forms a compact short-term momentum kit. Save the combination as a Cluster once, drop it into any new short-horizon strategy.

CMO and RSI agreement. Run both indicators in parallel — only trade when they agree on extreme conditions (CMO > +50 AND RSI > 70 = strong confirmed momentum). The two indicators have different smoothing structures, so requiring agreement filters out noise that either alone would produce.

Direction output as a regime switch. Use the Direction output to choose between long-bias logic (Direction = 1) and short-bias logic (Direction = −1): either as the detection condition of two regimes in regime mode (Activate Regime), or by ANDing each entry with its own Direction check. One strategy adapts to the current regime instead of two separate ones.

Common mistakes

  • Treating CMO and RSI as interchangeable. CMO at +60 is not the same as RSI at 70. The scaling is different (CMO is −100 to +100; RSI is 0 to 100) and the underlying smoothing is different. Setting "CMO overbought = 60" requires its own validation.
  • Using CMO alone as a primary signal. The unsmoothed structure makes CMO whip too much for standalone use. Always pair with a trend filter, regime detector, or second oscillator.
  • Ignoring the Slope output. Slope flips precede zero-line crosses. Strategies that only read CMO value miss the early-warning signal.
Common Misconception
Myth
CMO is better than RSI because it's more responsive.
Reality
More responsive = more false signals. CMO and RSI represent different points on the responsiveness-vs-noise curve. For high-frequency strategies that filter aggressively, CMO's sensitivity is useful. For lower-frequency strategies that need stable readings, RSI's smoothing is what you actually want.