Most momentum indicators blend everything into one number and hope you trust it. The chande momentum oscillator is more honest about what it’s doing. It adds up the points a stock gained on its up days, adds up the points it lost on its down days, and then asks a simple question: of all the movement in this window, how much was in one direction? The answer lands somewhere between +100 and -100, and that’s the whole indicator.
We like it as a teaching tool because you can calculate it by hand with a notebook and a list of closing prices. Once you’ve done that once, the readings stop looking like magic. Below we’ll cover where it came from, the exact formula, a full worked example on a made-up stock, how traders read the +50 and -50 levels, and where it tends to mislead you on Indian charts.
In this article
- Where the chande momentum oscillator comes from
- The formula, step by step
- Worked example: a 20-day CMO on XYZ Ltd
- How traders read the +50 and -50 levels
- Signal lines, divergences and the zero line
- CMO versus RSI: the same ingredients, a different recipe
- Setting it up on Indian charts
- Where the CMO lets you down
- A quick checklist before you act on a CMO reading
Where the chande momentum oscillator comes from
The indicator is named after Tushar Chande. According to TradingView’s help page on the CMO, he introduced it in 1994 in his book The New Technical Trader, written with his colleague Stanley Kroll. The same pair also built the Chande Kroll Stop, a separate tool from the oscillator.
Incredible Charts describes the CMO as closer in approach to Welles Wilder’s Relative Strength Index than to the plain Momentum indicator, which simply subtracts an old price from today’s price. That comparison is useful, and we’ll come back to it, because the CMO and RSI are cousins that read differently.
The formula, step by step
You need a series of closing prices and a lookback period. TradingView says the period is usually 20. Then:
- For each day, work out the change from the previous close.
- Add up all the positive changes in the window. Call this Su, the sum of up moves.
- Add up the size of all the negative changes, ignoring the minus sign. Call this Sd, the sum of down moves.
- Days where the close didn’t change add nothing to either sum.
- CMO = 100 × (Su − Sd) ÷ (Su + Sd).
Two things fall straight out of that formula. If every change in the window was up, Sd is zero and the CMO is exactly +100. If every change was down, it’s exactly -100. And if the up points and down points cancel out, it sits at zero. The denominator, Su + Sd, is the total distance price travelled, so the CMO is really telling you how much of that distance was “net” travel.
One small practical detail: because you’re measuring changes, a 20-period CMO needs 21 closing prices. The first close only exists so the second one has something to be compared against.
The CMO doesn’t measure how far a stock moved. It measures how one-sided the movement was, which is a very different thing.
Worked example: a 20-day CMO on XYZ Ltd
Let’s take a hypothetical stock, XYZ Ltd, trading on the NSE. These prices are invented purely for illustration. Over 21 sessions it closes at:
₹412.0, 415.5, 414.0, 418.2, 421.0, 419.5, 423.8, 426.0, 424.1, 428.5, 431.0, 429.2, 433.6, 436.0, 434.5, 437.8, 440.1, 438.0, 441.5, 444.0 and 446.2.
That gives us 20 daily changes:
| Type of day | Daily changes (₹) | Sum (₹) |
|---|---|---|
| Up days (14) | 3.5, 4.2, 2.8, 4.3, 2.2, 4.4, 2.5, 4.4, 2.4, 3.3, 2.3, 3.5, 2.5, 2.2 | Su = 44.5 |
| Down days (6) | 1.5, 1.5, 1.9, 1.8, 1.5, 2.1 | Sd = 10.3 |
Now plug them in. Su − Sd = 44.5 − 10.3 = 34.2. Su + Sd = 44.5 + 10.3 = 54.8. So the CMO = 100 × 34.2 ÷ 54.8 = 62.41.
Read that plainly. Out of ₹54.8 of total back-and-forth movement over 20 sessions, ₹34.2 was net progress upward. That’s a strong, steady climb, and the reading is above +50.
Same stock, shorter window
Shorten the lookback to 10 periods and look only at the last ten changes. Su drops to ₹20.6, Sd to ₹5.4, and the CMO comes out at 58.46. If you roll that 10-period calculation forward day by day across our 21 closes, you get this sequence: 65.97, 50.55, 65.33, 63.12, 50.19, 63.76, 61.05, 45.11, 61.70, 58.94, 58.46.
Notice the swings. A single ₹1.9 dip drags the 10-period reading from 61.05 down to 45.11, and the next up day pushes it straight back to 61.70. Nothing meaningful changed about XYZ’s trend in those two sessions. That jumpiness is what TradingView means when it says the CMO doesn’t smooth its results and so triggers overbought and oversold readings more often. Shorter windows make it worse.
A sell-off and a sideways patch
Now picture XYZ reversing. Over eleven more hypothetical closes it goes 446.2, 441.0, 436.5, 438.0, 431.2, 427.0, 428.5, 422.0, 418.3, 419.0, 413.5. Three small up days add ₹3.7, seven down days take away ₹36.4, and the 10-period CMO is 100 × (3.7 − 36.4) ÷ (3.7 + 36.4) = -81.55. Deep in the negative zone.
Finally, a choppy range: closes of 430, 433, 429, 432, 428, 431, 430, 434, 429, 431, 430. The up moves add to ₹15 and the down moves add to ₹15. The CMO is exactly zero. Price moved ₹30 in total and went nowhere, and the oscillator says so without fuss.
How traders read the +50 and -50 levels
The scale runs from +100 to -100, but the commonly watched lines are +50 and -50. TradingView notes that a security isn’t considered overbought until the CMO is above +50, and oversold below -50. Incredible Charts says Tushar Chande used those same two levels as overbought and oversold.
There’s a neat way to think about +50. For the reading to be exactly +50, Su has to be three times Sd. So above +50, the up points in the window outweigh the down points by more than three to one. At -50 it’s the reverse. That is a statement about the size of the moves, not a count of green and red candles. A stock with eight small up days and two big down days can still read negative.
The contrarian rule Incredible Charts lays out is to go short when the CMO rises above +50 and go long when it falls below -50. Use that with care in India. In a strong trend, our XYZ example would have flashed “overbought” for most of the climb while price kept rising. TradingView makes the same point: in strongly trending markets, overbought and oversold readings can be less effective.
Signal lines, divergences and the zero line
Because the raw CMO is jumpy, many traders add a moving average of the CMO itself as a signal line. TradingView mentions a 10-period average, with a cross above it treated as bullish and a cross below as bearish. Incredible Charts mentions a 9-period average, used mainly on shorter time frames. The exact number matters less than testing it on the stocks you actually trade.
Divergence is the other popular use. If a stock makes a higher high but the CMO makes a lower peak, the push behind the move is fading. Incredible Charts treats divergences and trend changes on the oscillator as early warnings of a reversal.
The zero line tells you something too. According to Incredible Charts, a CMO that keeps swinging in a narrow band around zero without touching either extreme points to a ranging market. A CMO that oscillates between zero and +50, or between zero and -50, points to a strong trend in that direction. So a reading of +30 that keeps bouncing off zero and heading back up is a different story from a +30 that just crossed down from +70.
In a strong trend, an “overbought” CMO can stay overbought for weeks. Treat the extremes as a description of the move so far, not a forecast.
CMO versus RSI: the same ingredients, a different recipe
Both indicators use the same two ingredients: total up moves and total down moves. If you calculate RSI with plain sums instead of Wilder’s smoothed averages, the relationship is exact. Simple RSI = 100 × Su ÷ (Su + Sd). In our 20-day XYZ example that’s 100 × 44.5 ÷ 54.8 = 81.20. Double it and subtract 100 and you get 62.41, which is our CMO. So for the plain-sum version, CMO = 2 × RSI − 100.
In practice the numbers on your screen won’t match that neatly. As the Wikipedia entry on RSI explains, the standard RSI averages up and down moves with Wilder’s smoothed moving average, so older moves keep a fading influence. The CMO uses only the raw sums inside the window, so it reacts faster and drops old data abruptly. That’s the trade-off. More responsiveness, more noise. If you already use RSI, our guide to the Stochastic RSI indicator covers another way traders try to squeeze faster signals out of the same idea, and the Money Flow Index shows what happens when you bring volume into the mix.
Setting it up on Indian charts
TradingView lists the CMO among its built-in indicators, and you’ll find it on many other charting tools too. A few practical choices to make before you rely on it:
- Period. 20 is the common default. Shorter periods make the line twitchier, as our 10-period sequence showed. Longer periods smooth it but react later.
- Time frame. TradingView warns that signals are strongly affected by the time frame you pick. A CMO on a 5-minute Bank Nifty chart and one on a weekly chart of a large-cap stock are measuring very different things.
- Gaps. Indian stocks often gap at the open after results or global cues. Because the CMO works off close-to-close changes, a big gap day lands as one large up or down move and can dominate the window until it rolls out 20 sessions later. When that day drops off, the CMO can jump even though nothing happened that session.
- Thin stocks. In illiquid small caps, a couple of odd closing prints can swing the sums. The indicator is only as good as the closes you feed it.
Where the CMO lets you down
Every oscillator has blind spots, and this one’s are easy to name.
It ignores volume, so a move on thin trading counts the same as one on heavy delivery. It ignores intraday range, so a day that closed flat after a wild swing adds nothing to either sum. It drops old data like a cliff, which creates movements in the line that are really just yesterday’s data leaving the window. And it can’t tell you why momentum changed. A results surprise, a block deal and a sector-wide sell-off all look the same to it.
That’s why we’d treat the CMO as one input, not a system. Pair it with price structure, such as support, resistance and trend lines, and check whether the stock is trending or ranging before you decide whether a +60 reading is a warning or a confirmation. Our technical analysis guide for Indian stocks walks through those building blocks.
A quick checklist before you act on a CMO reading
- Is the stock trending or ranging? A zero-hugging CMO says range. A CMO living between zero and +50 says uptrend.
- Is the reading extreme because of one gap day that will drop out of the window soon?
- Does the signal-line crossover agree with what price is doing at a key level?
- Is there a divergence, and has price confirmed it by breaking a swing low or high?
- Have you decided where you’re wrong, and sized the trade so being wrong doesn’t hurt much?
Work through a CMO by hand once, on a stock you follow, with real closing prices from the exchange. You’ll get a feel for how much one day can move it, and you’ll read it far more calmly after that.
Disclaimer: This article is for educational purposes only and is not investment advice. XYZ Ltd and all prices in the examples are hypothetical. Technical indicators do not guarantee future price movements. Trading in equities and derivatives carries risk of loss; consult a SEBI-registered investment adviser before making investment decisions.

Leave a Reply
Join the conversation
Commenting is open to registered readers. Sign up with just your email — no password needed, and it takes under a minute.
Sign up to comment Log in