Chande Momentum Oscillator
The Chande Momentum Oscillator sums every up-move and every down-move inside a fixed backward-looking window and expresses the net imbalance as a percentage of total movement: 100 times (sum of ups minus sum of downs) divided by (sum of ups plus sum of downs). Unlike RSI, which normalises this into a 0-100 range and loses the sign of net direction along the way, CMO keeps the sign - it runs -100 to +100 with a genuine zero crossing that marks the point where recent up-moves and down-moves are exactly balanced. The window used is a plain fixed slice ending at each bar, not a Wilder recursive smooth, so every bar's reading depends only on its own lookback and never on a chain of previously calculated bars. A window where total movement (ups plus downs) is exactly zero - every price in the window unchanged - has no defined ratio; this implementation returns zero for that bar rather than dividing by zero, a genuinely rare case documented here for completeness. Notes and limitations - Needs InpPeriod + 1 bars of history before it starts plotting. - A window with zero total movement is scored as zero rather than an undefined ratio - a documented simplification for a genuinely rare edge case. - This is an oscillator only - no signal-line smoothing, no alerts, no trade signals.
Indicator · MT5 · v1.0 · Free
About Chande Momentum Oscillator
Chande Momentum Oscillator is an indicator for MetaTrader 5. It has 2 settings, such as Period and Applied price. MQL source code included.
Files in the download: ChandeMomentumOscillator.ex5, ChandeMomentumOscillator.mq5, ChandeMomentumOscillator.txt.
Settings
| Setting | Default | What it does |
|---|---|---|
| Period | 14 | Lookback window (published default) |
| Applied price | PRICE_CLOSE | Price series the oscillator is applied to |
How to install
- Download the ZIP from your PolyMaria library and unzip it.
- In MetaTrader 5 open File → Open Data Folder, then go to MQL5 → Indicators.
- Copy the .mq5 file(s) there. Put any .mqh files in MQL5 → Include.
- Open the .mq5 file in MetaEditor and press Compile (F7) if MetaTrader does not show it.
- Drag the indicator from the Navigator onto a chart and adjust the settings.
Tags: RSI · Momentum · Oscillator · MT5 Indicator · MQL5 Source Code