CCI Indicator Explained: Using Commodity Channel Index
The Commodity Channel Index measures how far the current price sits from its own recent average, scaled by how much that price normally wanders. Readings above +100 mean price is unusually high for its recent behaviour, readings below -100 mean unusually low, and most of the time the line sits between the two.
CCI is an unbounded oscillator, so unlike RSI it has no ceiling at 100 and can print 250 or -300 in a strong trend. Donald Lambert built it in 1980 for commodity futures cycles, and it works on stocks and indices for the same reason: it is a standardised distance from a moving average.
We will build the formula by hand, read the zones, compare it against RSI, and name where it fails.
The formula, unpacked
CCI equals typical price minus a simple moving average of typical price, divided by 0.015 times the mean deviation. Three parts, each simple alone.
Typical price
Instead of the close, CCI averages the high, the low and the close of each bar. That makes it sensitive to the full session range rather than just where price finished.
Mean deviation
Measure how far each bar’s typical price sits from its moving average, ignore the signs, and average those distances. That is mean deviation, not standard deviation: deviations are not squared, so one wild bar does not dominate.
The 0.015 constant
Lambert chose 0.015 so roughly 70% to 80% of readings land inside the band from -100 to +100. That scaling choice is why those lines mean anything: they mark the edge of ordinary behaviour, not a mathematical limit.
Working it out by hand
Take a 5 period CCI. Real CCI usually runs 14 or 20 periods, but 5 keeps the arithmetic visible. The latest bar has a high of Rs 1,090, a low of Rs 1,070 and a close of Rs 1,080, so typical price is Rs 1,080.
| Bar | Typical price (Rs) | Distance from 1,040 |
|---|---|---|
| 1 | 1,000 | 40 |
| 2 | 1,020 | 20 |
| 3 | 1,040 | 0 |
| 4 | 1,060 | 20 |
| 5 (latest) | 1,080 | 40 |
The five typical prices sum to 5,200, so the average is Rs 1,040. Mean deviation is 40 plus 20 plus 0 plus 20 plus 40, which is 120, divided by 5, so 24.
Numerator: 1,080 minus 1,040 equals 40. Denominator: 0.015 times 24 equals 0.36. CCI is 40 divided by 0.36, about 111. Above +100, so this climb registers as unusually strong.
Now watch one flat bar. The next typical price is Rs 1,050, so the window becomes 1,020, 1,040, 1,060, 1,080 and 1,050. The average is Rs 1,050, mean deviation is 16, and the numerator is zero. CCI is zero.
From 111 to 0 in one bar, with price barely Rs 30 off its high. That is the honest character of CCI: fast, and fast means jumpy.
What do the +100 and -100 lines actually mean?
| Reading | What it describes | Common interpretation |
|---|---|---|
| Above +200 | Far above its recent norm | Strong trend, but stretched |
| +100 to +200 | Outside the band, upside | Strength, or a breakout entry |
| -100 to +100 | Ordinary behaviour | Mild bias only, no signal |
| -100 to -200 | Outside the band, downside | Bearish strength, or oversold |
| Below -200 | Far below its recent norm | Downtrend, exhaustion possible |
The ambiguity in that table is the whole problem with CCI. A reading of +150 is a buy signal to breakout traders and a sell to mean reversion traders. The number cannot tell you which; your view on whether the instrument is trending or ranging does.
Three ways traders actually use CCI
Zero line crossings
A cross above zero means typical price is above its own average. Slower, fewer signals, prone to whipsaws in a sideways market.
Band breakouts in a trend
Lambert’s own approach: enter when CCI pushes above +100, exit when it drops back below. Leaving the band signals a new cycle rather than an extreme. Decent in genuine trends, bad in chop.
Divergence against price
Price makes a higher high while CCI makes a lower high, suggesting the second push had less force. Usually the most useful of the three, though it needs confirmation. The rules in divergence analysis transfer directly to CCI.
A practical sequence for testing the band breakout method:
- Decide the regime first. Use a longer moving average or simple higher highs and lows to judge whether the instrument is trending.
- Pick a period and leave it alone. Changing it after every losing trade is curve fitting.
- Take signals only in the direction of the established trend.
- Set the stop on the chart, at a level price must not reach, never on the indicator value.
- Log 30 to 40 signals before deciding whether the method suits your instrument.
How is CCI different from RSI?
- RSI is bounded between 0 and 100. CCI has no bounds, so extreme trend strength shows up as extreme readings instead of pinning near a ceiling.
- RSI uses closing prices only. CCI uses high, low and close, so it reacts to intraday range expansion that RSI misses.
- RSI compares average gains to average losses. CCI compares distance from a mean to typical distance from that mean, making it volatility-adjusted.
- RSI’s 70 and 30 are fixed. CCI’s +100 and -100 adapt to how volatile the instrument has been.
- CCI is faster and noisier at the same period setting. Expect more signals and more false ones.
Neither replaces the other. The notes in the RSI and MACD guide will show whether CCI adds information or duplicates what you already run.
Settings, timeframes and where it fails
Lambert suggested a period roughly one third of the cycle length you want to catch. In practice 14 and 20 are the common defaults. Shorter settings such as 9 suit intraday work; 34 or 50 smooth it out for position trading.
Where CCI reliably disappoints: sideways, low volatility stocks. Mean deviation shrinks, the denominator shrinks with it, and CCI swings between extremes on tiny moves. You will see +180 on a stock that moved 0.4%. Gap-heavy small caps are the second problem, since one gap distorts both the average and the mean deviation for the whole window.
Use it as one input among several. Pairing it with a trend filter and a volume measure is covered in combining technical indicators, and the groundwork in what technical analysis is matters more than any single oscillator.
A plain risk note: no indicator predicts price. Every CCI signal will sometimes fail, and position size decides your outcomes far more than the setting you choose.
Frequently Asked Questions
Can I use CCI on Nifty and Bank Nifty charts?
Yes, and index charts often suit it better than small caps because gaps are smaller and liquidity deeper. Use a longer period such as 20 on daily bars to cut noise. Be careful around expiry, when index moves reflect derivatives positioning rather than the cycles the indicator detects.
Why does my CCI value differ from another platform’s for the same stock?
Usually the period setting or the price input. Some platforms allow the close instead of typical price, some apply an exponential average, and adjusted versus unadjusted prices around a split change the numbers too. Compare settings before assuming one is broken.
Is a CCI reading of -250 a buying opportunity?
Not on its own. In a strong downtrend CCI can stay below -200 for many bars while price keeps falling, and buying each extreme reading is how traders get hurt. Treat it as evidence that price is far below its norm, then wait for a turn, such as a higher low forming.
What period works best for intraday trading?
Shorter settings such as 9 or 14 on 5 minute or 15 minute bars are common, because the indicator has to respond within the session. The trade-off is a sharp rise in false signals. Pair it with a session trend filter and accept that many crossings are noise.
Should CCI be used alone as a complete system?
No. It has no view on trend direction, no position sizing rule and no risk control. On its own it gives conflicting readings depending on whether you treat extremes as strength or exhaustion. It is useful when a separate method has already told you the regime.
Key Takeaways
- CCI equals typical price minus its moving average, divided by 0.015 times mean deviation, where typical price averages high, low and close.
- The 0.015 constant puts roughly 70% to 80% of readings inside the -100 to +100 band, which is what makes those lines meaningful.
- CCI is unbounded, so it can print 250 or -300 and stay there through a strong trend. Extreme readings are not automatic reversal signals.
- The same +150 reading is a breakout entry to a trend trader and a sell to a mean reversion trader, so decide the regime first.
- Low volatility instruments shrink mean deviation and produce extreme readings on trivial moves, while gaps corrupt a full lookback window.
- Divergence between price and CCI is the more dependable use, and it still needs price confirmation.




