Commodity Channel Index: Measuring How Far Price Strays From Average
The commodity channel index divides price's distance from its own moving average by that window's mean deviation, which is why the scale has no ceiling. Donald Lambert's 1980 formula worked through a hand-checkable example, what the 0.015 constant is doing, the ±100 and ±200 bands, the cross-back trigger convention, the trend-line-break filter, and a mechanic-by-mechanic comparison against RSI.
Almost every oscillator on a standard charting platform is bounded. RSI runs 0 to 100. Stochastics run 0 to 100. Williams %R runs 0 to -100. You learn to read those scales as maps with edges, where the interesting territory is near the border. The Commodity Channel Index is not built that way. It divides a distance by a dispersion, and there is no arithmetic reason the result cannot print +340 or -410. That single structural fact is why traders who arrive at CCI from RSI keep misreading it, and why the conventional ±100 lines are something quite different from the ±100 lines they look like.
Quick Answer
The Commodity Channel Index (CCI) is a momentum oscillator that measures how far the current typical price sits from its own simple moving average, expressed in units of that window's average deviation. The formula is CCI = ( Typical Price − SMA of Typical Price ) / ( 0.015 × Mean Deviation ), where Typical Price is ( High + Low + Close ) / 3 and the standard lookback is 20 periods. Mean Deviation is computed in four steps: subtract the SMA from each period's typical price, take the absolute value, sum those over the lookback, then divide by the number of periods. The 0.015 is a scaling constant, chosen so that roughly 70 to 80 percent of readings land inside the -100 to +100 range. Donald Lambert introduced the indicator in 1980 in Commodities magazine, now Futures magazine, to identify cyclical turns in commodity markets, and it is used across every asset class today. Above +100 is conventionally read as overbought and below -100 as oversold, with ±200 as a harder-to-reach band on more volatile instruments. The signal convention is the cross back out of the zone rather than the tag itself. Unlike RSI, the scale is unbounded, so in a strong trend CCI can sit beyond ±100 for weeks without anything pulling it back.
Everything below is the detail that paragraph compresses: the arithmetic run over six bars you can check on a phone, what the 0.015 is actually doing and why that number and not some other, the three readings the same price move can produce depending only on how noisy the window was, the exact difference from RSI, and the two signal conventions most tutorials state backwards.
What Is the Commodity Channel Index?
A single line in its own pane under price, oscillating around a zero line, with horizontal reference lines conventionally drawn at +100 and -100. Zero is not an arbitrary midpoint the way 50 is on a bounded scale. Zero means the current typical price is sitting exactly on its own moving average, which is a real event you could verify by eye on the price chart above.
Donald Lambert published it in 1980 in Commodities magazine, which is now Futures magazine. The original design target was cyclical turns in commodity markets, which is where the name comes from and where most of the confusion about the indicator starts. Nothing in the formula is commodity-specific. It consumes a high, a low and a close, and any instrument that prints those three feeds it identically, which is why it ships as a built-in on equity, index, futures and currency charts, and why the overwhelming majority of people running it today have never traded a commodity contract. The name is an accident of where it was first published. Treat it the way you would treat any other name that stuck.
The premise underneath is that price tends to return toward its own average, and that the useful information is not the raw distance from that average but the distance graded against how far this instrument normally strays. A stock that routinely swings two dollars away from its 20-day average is not doing anything unusual when it swings two dollars away from it again. A stock that has been hugging that line for a month is. CCI is a way of asking that question with one number, and the grading step is the part that makes it genuinely different from the bounded oscillators sitting next to it in the same menu.
What Is the Commodity Channel Index Formula?
1. Typical Price = ( High + Low + Close ) / 3, computed for every bar
2. The average = a simple moving average of the typical price over N periods, where N defaults to 20
3. Mean Deviation= subtract that SMA from each period's typical price, take the absolute value of each result, sum all N of them, divide by N
4. CCI = ( current Typical Price − SMA of Typical Price ) / ( 0.015 × Mean Deviation )
Four inputs appear: high, low, close and time. Volume is not one of them, and neither is the open.
Step three is the step people get wrong, and the absolute value is the reason. Deviations from a mean always sum to zero. That is what a mean is. If you skipped the absolute value and averaged the signed deviations you would get 0.00 every single time, on every chart, forever. The absolute value is what turns a set of distances that cancel into a usable measure of how spread out the window was.
It is also worth noting what mean deviation is not. It is not the standard deviation. Standard deviation squares the distances before averaging and then takes a square root, which weights outliers more heavily. Mean deviation just averages the raw distances. Some platforms have quietly substituted standard deviation into this slot, which produces a systematically different denominator and therefore a different line, and it is one of the reasons two charts of the same ticker can show two different CCI values. Both the StockCharts ChartSchool entry on the Commodity Channel Index and the TradingView help page for CCI specify mean deviation, and that is the version the ±100 convention was built around.
Here is the whole thing over six bars with a six-period lookback, shortened from 20 so every sum stays checkable by hand. The prices are made up, picked to make the arithmetic visible rather than to describe any real security.
| Bar | High / Low / Close | Typical price | TP minus SMA | Absolute deviation |
|---|---|---|---|---|
| 1 | 24.22 / 23.78 / 24.00 | 24.00 | -0.60 | 0.60 |
| 2 | 24.55 / 24.05 / 24.30 | 24.30 | -0.30 | 0.30 |
| 3 | 24.48 / 23.82 / 24.00 | 24.10 | -0.50 | 0.50 |
| 4 | 24.90 / 24.20 / 24.70 | 24.60 | 0.00 | 0.00 |
| 5 | 25.45 / 24.75 / 25.40 | 25.20 | +0.60 | 0.60 |
| 6 | 25.68 / 25.02 / 25.50 | 25.40 | +0.80 | 0.80 |
| Totals | six bars, close 24.00 up to 25.50 | sum 147.60, SMA 24.60 | sums to exactly 0.00 | sum 2.80, mean deviation 0.4667 |
Mean deviation = 2.80 / 6 = 0.4667. The current typical price is 25.40 and the SMA is 24.60, so the numerator is 0.80. CCI = 0.80 / ( 0.015 × 0.4667 ) = 0.80 / 0.0070 = 114.29. Just over the +100 line, which under the conventional reading is the moment the chart becomes interesting rather than the moment it becomes a trade.
Note the signed column. It sums to exactly 0.00, as it must, which is the sanity check that tells you your SMA is right before you go any further.
What the 0.015 is doing there
The constant is the least explained part of the indicator and the easiest to reason about. It is a pure scaling factor with no market meaning, chosen so that the numbers coming out land in a range people find readable. Reference sources state the target directly: roughly 70 to 80 percent of CCI values fall between -100 and +100.
Work backwards and you can see where it comes from. Setting CCI to exactly 100 means the numerator equals 100 × 0.015 × Mean Deviation, which is 1.5 × Mean Deviation. So the ±100 lines are not thresholds in price terms at all. They are the points where typical price has strayed exactly one and a half mean deviations from its own average. If you were to assume price deviations were roughly normally distributed, mean absolute deviation runs to about 0.80 of a standard deviation, so 1.5 mean deviations is about 1.2 standard deviations, and a symmetric 1.2-sigma band captures a bit under 77 percent of a normal distribution. That is the 70 to 80 percent figure, and it is not a coincidence.
Two honest caveats on that. Price deviations are not normally distributed, they have fatter tails than the assumption allows, so the real-world hit rate drifts around the theoretical one depending on the instrument and the regime. And the whole calibration is tied to the default 20-period window. Change N and you change the typical size of the mean deviation, which changes how often the line reaches ±100, which means the inherited threshold is no longer describing the same rarity. That is the part worth carrying forward when you go fiddling with settings, and it is the same trap that catches people tuning any default-period indicator down for intraday charts.
A distance on top, an average distance underneath
Why Does the Scale Have No Ceiling?
Because nothing in the formula caps it. A bounded oscillator gets its ceiling from its construction. RSI feeds a ratio through 100 minus 100 over one plus that ratio, and that transformation cannot produce a number outside 0 to 100 no matter what you put into it. Williams %R divides a distance by a range that contains it, so the answer is always between 0 and -100. CCI divides a distance by an average distance, and there is no rule saying the current distance has to be smaller than the average one. It usually is not, in fact, whenever anything interesting is happening.
The practical consequence is that the ±100 lines are a statistical convention rather than a boundary. A CCI of +340 is unusual, and your platform will plot it without complaint. An RSI of 140 is not unusual, it is impossible, and if you see one your data is broken. Those are different kinds of statement and reading the first as though it were the second is the core misunderstanding this indicator produces.
The more useful consequence is that CCI grades every reading against local conditions. Take the exact same 0.80 gap between typical price and its average from the worked example above, and drop it into three different windows.
| Window character | Mean deviation | Denominator | CCI | Conventional read |
|---|---|---|---|---|
| Coiled and quiet | 0.20 | 0.0030 | +266.67 | Beyond the extreme ±200 band |
| The worked example | 0.4667 | 0.0070 | +114.29 | Just into overbought territory |
| Volatile and choppy | 1.20 | 0.0180 | +44.44 | Unremarkable, nowhere near a band |
Same move. Same distance from the average. Three verdicts spanning from "nothing to see" to "rarer than the harder band." That is the indicator working exactly as designed, and it is also the answer to the question people ask when they see a big number: what does +250 actually mean. It means price is 3.75 mean deviations from its own average, because +100 is 1.5 mean deviations and the scale runs linear from there. It does not mean the move was large in dollars, and it does not mean the same thing on the next chart you open.
That normalization is the clean structural split from every bounded oscillator already on this site. A reading of 82 on the volume-weighted 0 to 100 scale of the Money Flow Index means the same arithmetic thing on a $4 biotech and a $900 index tracker, because the scale is fixed by construction. A CCI of 82 does not. The same goes for the 0 to -100 close-position-in-range scale and for the 0 to 1 second derivation that runs a stochastic over the RSI line. Neither approach is better. Fixed scales are comparable across instruments and blind to local conditions. Normalized scales are the reverse. Knowing which one you are holding is the part that matters.
CCI just crossed back above -100 and the chart looks like it is turning. That is one number and one impression.
Upload the screenshot and SnapPChart reads that single image against a fixed rubric, then returns a setup grade, an entry, a stop with the reasoning behind the level, targets, and the reward-to-risk those levels imply. Arguing with the grade is cheaper than arguing with the fill.
Grade this chartCommodity Channel Index vs RSI
Both get filed under momentum oscillators, both live in a pane under price, both get read against zones at the top and bottom of their range. That is roughly where the similarity ends, and treating them as interchangeable readings of the same underlying quantity is the most common way people end up running two indicators that they believe confirm each other.
RSI measures the ratio of average gain to average loss over its lookback. It is a question about the balance of the moves: have the up-bars been bigger than the down-bars, and by how much. Volume is absent, the intrabar range is absent, and the only price that enters is the close. CCI measures the distance between one typical price and an average of typical prices, divided by the average distance in that window. It is a question about position and dispersion: where is price standing relative to its own centre, and is that unusual for this tape. Those are different inputs producing answers to different questions, and neither is a noisier version of the other.
The cleanest way to see the split is a chart that separates them. A slow, relentless one-way grind, the kind where every bar closes a little higher than the last, gives RSI a huge average gain against a tiny average loss and pushes it deep into overbought. CCI stays moderate through the same move, because the 20-period average is rising underneath price at nearly the same rate, so the gap between the two never widens much. Now invert it: a tight three-week range that breaks with one violent bar. RSI barely notices, because one bar is one period out of fourteen. CCI spikes hard, because the numerator jumped while the denominator is still averaging three weeks of quiet. Same two indicators, opposite reactions, both correct about what they measure.
| Mechanic | Commodity Channel Index | Relative Strength Index |
|---|---|---|
| The question it answers | How far is price from its own average, measured against how far it usually strays | How lopsided have the up-moves been against the down-moves |
| Price input | Typical price, ( high + low + close ) / 3, so all three prints matter | Closing price only. The high and the low never enter it |
| Scale | Unbounded. No ceiling, no floor, no theoretical maximum reading | Hard-bounded 0 to 100 by construction |
| Conventional lookback | 20 periods | 14 periods |
| Zone thresholds | +100 and -100, with +200 and -200 as the harder-to-reach band | 70 and 30, with 80 and 20 as the tighter variant |
| What the centre line means | Zero means typical price is sitting exactly on its own SMA | 50 means the average gain equals the average loss over the window |
| Does the window's volatility change the reading | Yes. Mean deviation is the denominator, so dispersion is baked in | No. The divisor is the average loss, which is not a dispersion measure |
| Can a reading run off the scale | Yes. +340 is unusual but valid, and platforms plot it | No. A reading of 101 is not rare, it is an arithmetic error |
| How it handles an overnight gap | Fully. A gap moves the high, low and close, so typical price jumps with it | Through the close-to-close change, which captures the gap but not the range |
| Smoothing | None. A simple average and a simple mean deviation, recomputed each bar | Wilder's recursive smoothing on both the average gain and the average loss |
| Comparing a raw value across two different charts | Risky. The denominator is local to that instrument and that window | Safe enough. 70 means the same arithmetic thing on every chart |
| Behaviour in a strong sustained trend | Pins beyond +100 or -100 and stays there with nothing to pull it back | Pins above 70 or below 30, compressed by the ceiling it cannot pass |
The row worth sitting with is the second to last. Because CCI normalizes against a local denominator and RSI does not, a CCI value is only comparable to other CCI values on the same instrument and the same timeframe, while an RSI of 72 means the same arithmetic thing wherever you find it. That makes RSI the easier indicator to build a mechanical rule around and CCI the more informative one about whether this particular move is out of character for this particular tape. If you run both, run them for the disagreement, which is the same argument as counting how many genuinely independent signals you have before committing rather than counting how many lines are on the screen.
How Do You Trade a CCI Signal?
Three named conventions, and the first one is stated backwards in most tutorials.
The trigger is the cross back out, not the tag
The conventional rule is not "buy when CCI goes below -100." It is: wait for CCI to drop below -100, then buy when it crosses back above -100. The sell side mirrors it, so you wait for a push above +100 and sell when the line crosses back below +100. The zone entry is the setup. The zone exit is the trigger.
This distinction is doing more work than it looks like. Because the scale is unbounded, entering a zone tells you nothing at all about how much further the line can go. A tag of -100 can be followed by -180, then -260, then -340, and each of those is an ordinary valid reading rather than a stretched one. Requiring the cross back out is what stops you from repeatedly buying into a move that has not finished, which is exactly what a bounded-oscillator instinct pushes you toward.
The ±200 band exists for the same reason. On more volatile instruments the line reaches ±100 often enough that the level stops being rare, and ±200 is the harder-to-reach substitute. There is no rule for when to switch. Look at your own chart, count how often the line visits each level over a few months, and pick the one that is actually uncommon on the instrument you trade.
The zero line gets used as a separate, weaker signal: a cross above zero says typical price has moved back above its own average, which some traders use as a trend-continuation filter rather than an entry. It is the mildest thing CCI says and it is worth treating that way.
Divergence
Bullish divergence: price makes a lower low while CCI makes a higher low. Bearish divergence: price makes a higher high while CCI makes a lower high. The read is that the second push covered less ground relative to its own average than the first one did, so whatever was driving it has less behind it.
Two caveats, and the second one is specific to CCI rather than generic divergence advice. First the generic one: a divergence is a description of something that already happened, with nothing in it to say how long the disagreement may run or which side resolves it, so it is a reason to start watching rather than a reason to act. Now the CCI-specific one. Because the denominator re-centres on every bar, a strong trend can produce divergence after divergence that never resolves: price keeps making new highs, the moving average keeps rising to meet it, so the gap between them stays roughly constant while the absolute price level climbs. Reference sources flag divergences as particularly misleading in a strong trend for exactly this reason. The reliable ones tend to show up where the trend is already losing structure, which is a judgement you make off the price chart and not off the oscillator.
The trend-line-break filter
This is the named technique that separates people who actually use CCI from people who read one article about it, and it is the direct answer to the whipsaw problem. Instead of only watching the ±100 crosses, you draw trend lines on the CCI line itself, connecting its own successive peaks or its own successive troughs inside the oscillator pane. A signal then requires two things: the zone cross, and a break of that trend line.
The logic is that a bare zone cross in a choppy market happens constantly and means almost nothing, while a break of a line drawn across the oscillator's own recent structure means the shape of the oscillator changed and not just its level. The drawing rules are the ordinary ones, so if you are comfortable with anchoring a line to swing points and requiring a clean break rather than a wick through it, you already know how to do this. It is the same skill applied one pane lower.
Worth being plain about the cost. Requiring two conditions rather than one means you enter later and you miss some moves entirely, because the line break often arrives after the best price. That is the trade you are making. Filters do not make signals better, they make them rarer, and whether rarer is better depends on how much the false ones were costing you.
The zone entry is the setup. The zone exit is the trigger
Where the Commodity Channel Index Breaks
None of these are faults. They are what a normalized, unbounded, rolling-window statistic does when its inputs stop behaving the way the construction assumed. Most of them trace back to one thing: the denominator is a moving target, and every reading is a ratio of two numbers that both change every bar.
| Condition | What CCI does | Why it misleads |
|---|---|---|
| A sustained one-way trend | Holds beyond +100 or -100 for days or weeks | Nothing in an unbounded oscillator pulls it back, because it is never running out of room. The pinned reading is reporting the trend correctly and fading it is a trade against the only thing the number is sure about |
| Volatility collapsing into a tight range | Mean deviation shrinks, so the denominator shrinks with it | A small price move divided by a small denominator prints a large CCI. A +250 out of a dead, coiled tape can come from a move you would not have noticed on the price chart |
| Volatility expanding hard | Mean deviation balloons and absorbs the numerator | A genuinely violent move can print a modest reading, because the window is full of other violent moves. The oscillator is grading against recent norms, and the norms moved |
| A choppy, range-bound tape | Crosses in and out of ±100 repeatedly | Every cross-back looks like the textbook trigger and almost none of them resolve. A bare zone-cross rule bleeds hardest in exactly this condition, which is what the trend-line filter exists to reduce |
| One outlier bar sitting inside the lookback | Inflates the mean deviation for the next N bars | Every reading in that window gets divided by a denominator that one earnings gap set. Real subsequent moves get systematically under-read until the outlier ages out |
| That outlier dropping off the back of the window | The line can step hard on a bar where price barely moved | The move came from the rolling window losing an old period, not from anything that happened today. Every rolling-window statistic does this and it always looks like news |
| Comparing +180 on one chart to +180 on another | Reports each against its own instrument-specific denominator | The normalization that makes CCI readable also makes it local. Two charts printing the same number are not describing the same size of event |
| A divergence forming inside a strong trend | Prints lower highs while price keeps grinding to new ones | Divergences are conventionally described as unreliable in a strong trend for the same reason the pinned reading is. The oscillator is normalizing against a window that keeps re-centring underneath the move |
| A lookback shortened well below 20 | Averages the mean deviation over very few periods | A short average of absolute deviations is an unstable denominator, and an unstable denominator produces an oscillator that swings on arithmetic rather than on participation |
The first row is the expensive one and every authoritative source on the indicator states some version of it. Reaching an overbought or oversold threshold does not mean a reversal is coming. In a genuine trend CCI can hold beyond ±100 for days, weeks or months, and unlike a bounded oscillator there is no compression against a ceiling to slow it down. The conventional response is to flip the reading: a sustained move past +100 in a confirmed uptrend is treated as strength rather than exhaustion. Which means you need something outside CCI telling you whether you are in a trend at all, and a trend-strength reading that has no opinion on direction is the usual candidate precisely because it answers a question CCI structurally cannot.
Rows two and three are the pair that catches people who have learned to read the number rather than the construction. A large CCI out of a dead tape and a modest CCI out of a violent one are both honest reports. The oscillator is grading against recent norms, and when the norms shift the same price behaviour maps to a different number. If you are going to act on a level, glance at what the price chart was doing over the lookback before you decide what the level means.
Where CCI Fits on a Real Chart
It answers one question and answers it well: is price unusually far from its own recent centre, graded against how far it usually gets. That is genuinely not readable off the price chart at a glance, and it is a different question from the ones the rest of your pane is answering. What it cannot contribute is where the levels are, whether the structure is clean, what the higher timeframe is doing, or how much you should risk. The ordering that works is structure and regime first, then CCI as a stretch check on what those already suggested, which is the same layering the broader technical analysis overview walks through, and the same reason an intraday momentum playbook treats extension as a reason to wait rather than a reason to enter. For the historical framing and the original 1980 attribution, the Wikipedia entry on the commodity channel index is the compact version.
What a screenshot read can and cannot see here
Worth being straight about, since this site sells a tool. SnapPChart has no Commodity Channel Index field. It does not compute a typical price, it does not hold a 20-period simple moving average of one, it does not calculate a mean deviation, and it carries no CCI state at all, the way it does for market structure and trend, breaks of structure and changes of character, liquidity sweeps, fair value gaps and order blocks, the moving average stack, the VWAP relationship, MACD, volume participation, support and resistance, and candlestick patterns. There is no RSI field either, which is worth saying plainly given how much of this post compares the two. What the engine does is read a chart screenshot you upload. So if you plot CCI in a lower pane on your own platform before taking that screenshot, that line is part of what the analysis sees, as a shape drawn beneath the price chart. That is a picture of an oscillator, not a verified computed value: it cannot confirm your period is 20, it cannot tell you the denominator is being held up by one gap bar from three weeks ago, and it cannot know whether your platform used mean deviation or standard deviation to draw it. Which chart states a screenshot-based read genuinely carries and which it only infers from shape is the subject of the wider guide to how AI reads a chart, and a neutral description of what a single chart read covers sits on the AI chart analysis page. If CCI is the reason you are taking the trade, verifying CCI stays your job.
Typical price is ( high + low + close ) / 3. Average it over 20 periods, then average the absolute distances from that average to get the mean deviation. CCI is the current gap between typical price and that average, divided by 0.015 times the mean deviation. The 0.015 is pure scaling, set so most readings land inside ±100, which works out to price sitting 1.5 mean deviations from its centre. The scale has no ceiling, so ±100 is a statistical convention and not a boundary, and the line can sit past it for weeks in a trend. The conventional trigger is the cross back out of the zone, not the tag. Divergence and a break of a trend line drawn on the CCI line itself are the two filters worth knowing. The thing to keep in your head is that both halves of the ratio are local: the same price move can print +44 or +267 depending only on how noisy the window underneath it was.
Frequently Asked Questions
What is the best CCI setting for day trading?
Twenty is the default and there is no tested replacement for it. Shorter lookbacks, 14 or 10 or 9, are common on intraday charts because a 20-bar window on 1-minute bars is only twenty minutes of tape, and a shorter window reacts sooner. The cost is arithmetic rather than stylistic: the mean deviation in the denominator is an average over N periods, so shrinking N makes that denominator jumpier, and a jumpy denominator produces a jumpy oscillator. The part most guides skip is that the ±100 bands were calibrated against the dispersion a 20-period window typically produces. Change the period and you have changed how often the line visits ±100, which means the thresholds you inherited no longer describe the same rarity. If you shorten the lookback, look at how often your chart actually tags ±100 afterwards and adjust the band rather than assuming it carried over.
What does a CCI reading of +250 actually mean?
Literally, that the current typical price sits 3.75 mean deviations above its own moving average, because +100 corresponds to exactly 1.5 mean deviations and the scale is linear from there. Practically, that price has moved much further from its recent average than that same window's own history of moving away from its average would suggest is normal. The catch is that both halves of the ratio are local. A quiet, coiled tape has a small mean deviation, so a modest price move divides by a small number and prints a large CCI. The same absolute move in a volatile week divides by a bigger number and prints something unremarkable. So +250 is a statement about this instrument on this timeframe over the last 20 bars, and carrying it across to another chart as if it were a fixed unit of extremity is the most common misreading of the whole indicator.
Is CCI better than RSI?
They answer different questions, so the comparison only makes sense once you know which question you were asking. RSI asks how lopsided the up-moves have been against the down-moves. CCI asks how far price has strayed from its own centre, measured in units of how far it usually strays. You can construct charts where those agree and charts where they flatly do not: a slow, relentless one-way grind gives RSI plenty to work with while keeping typical price close to a moving average that is rising alongside it, so CCI stays modest. A sharp spike out of a tight range does the reverse. If you run both, the reason is the disagreement. If you run both and only ever act when they agree, you have added a second screen and no information.
Why do two platforms show different CCI values for the same stock?
Check the lookback first, because it is usually the answer and the two most common defaults are 20 and 14. After that, check whether the platform is using the true mean deviation, the average of the absolute distances from the SMA, or has quietly substituted the standard deviation, which is a different dispersion statistic and produces a systematically different denominator. Both appear in the wild. Third candidate is extended-hours handling, since folding pre-market and after-hours trade into the daily bar changes the high, the low and the close together, which changes every typical price in the window and therefore both halves of the ratio at once. Split and dividend adjustment of the historical series is the fourth.
Does CCI only work on commodities?
No, and the name is the single most misleading thing about the indicator. Donald Lambert designed it around cyclical turns in commodity markets and named it for that use case, but nothing in the formula is commodity-specific. It takes a high, a low and a close, averages them, and compares the result to its own moving average. Any instrument with those three prints feeds it, which is why it ships as a standard built-in on equity, index and futures charts, and why the overwhelming majority of the people using it today are not trading commodities at all. The name is a historical artifact of where it was first published, nothing more.
Can CCI stay above +100 for a long time?
Yes, and this is the failure mode that costs the most money. A sustained one-way advance is exactly the input that keeps typical price above a rising SMA bar after bar, so the numerator stays positive while the denominator has no particular reason to blow out. The line can hold above +100 for days or weeks. There is no mechanism in the construction that pulls it back, because unlike a bounded oscillator it is not running out of room. When CCI is pinned it is describing the trend accurately, and a trader shorting every tag of +100 is taking the other side of the one thing the reading is confident about. Conventional practice is to reverse the reading in that situation and treat a sustained move beyond +100 as trend confirmation rather than as an exhaustion warning.
This article is for educational and informational purposes only and is not investment, financial or trading advice. The Commodity Channel Index formula, the typical price definition, the four-step mean deviation calculation, the 20-period default, the 0.015 scaling constant and its stated 70 to 80 percent design target, the ±100 and ±200 threshold conventions, the cross-back-out signal convention, the bullish and bearish divergence definitions, the trend-line-break filtering technique, and the attribution of the indicator to Donald Lambert in Commoditiesmagazine in 1980 are the conventional published accounts reproduced by charting platforms and reference sources. The six-bar worked example, including every high, low, close, typical price, deviation figure and the resulting 114.29 reading, is an illustrative construction built so the arithmetic can be checked by hand; it is not a real security, a real trading session or a market observation, and the lookback was shortened from 20 to 6 for that purpose. The three-scenario table holding the numerator at 0.80 while varying the mean deviation is the same illustrative construction, computed by me from the stated formula. The normal-distribution reasoning offered for where the 0.015 constant lands is my own arithmetic on a simplifying assumption that real price data does not satisfy, and is included to explain the constant rather than to make a claim about market behaviour. Nothing here is a backtest of my own, no threshold, period, filter or indicator pairing described is claimed to be profitable, and no edge is claimed or implied. Indicator readings describe what price has already done and do not predict what it will do next. Day trading and active trading carry a substantial risk of loss and are not suitable for every investor. SnapPChart grades a static chart screenshot you upload and returns a setup grade, entry, stop, targets and reasoning for that single image; it does not calculate a Commodity Channel Index, a typical price, a mean deviation, an RSI value or any other indicator or oscillator value itself, does not track indicator states it has not been shown, does not scan the market, and does not track your account, positions or P&L. It can only account for indicators that are visibly drawn on the image you upload. Do your own analysis, size positions so that being wrong is survivable, and consider speaking to a licensed financial professional about your own circumstances before trading.
Writes about AI-assisted day trading, technical analysis, and the systems traders actually use to stay disciplined.
CCI says price is 1.5 mean deviations from its average. It has no idea whether the chart in front of you is worth risking money on.
A normalized distance cannot see your entry, your stop, or the level price is sitting under. Upload the screenshot and SnapPChart reads that one image against a fixed rubric, then returns a setup grade, an entry, a stop with the reasoning behind the level, targets, and the reward-to-risk those levels imply. One skipped bad trade covers it.