The Commodity Channel Index (CCI) was developed by Donald Lambert and published in Commodities magazine in 1980. Despite its name, CCI works well on any asset class including cryptocurrencies. CCI measures the current price's deviation from its average price over a lookback period, normalized by the mean absolute deviation of that same data series. The result is an unbounded oscillator (unlike RSI's 0–100 range) that fluctuates around a zero line, with conventional overbought/oversold levels at +100 and -100. CCI is useful both as a mean-reversion oscillator (trading the extremes) and as a momentum/breakout signal (trading the zero-line cross), making it one of the more versatile single indicators in technical analysis.
Related guides: RSI, Williams %R, StochRSI, MACD zero-line cross.
CCI Formula
Typical Price (TP) = (High + Low + Close) / 3 SMA of TP over N periods = Mean Price Mean Absolute Deviation (MAD) = Average of |TP - Mean Price| over N periods CCI = (TP - Mean Price) / (0.015 × MAD) Standard period: 20 The 0.015 constant was chosen by Lambert to ensure approximately 70-80% of CCI values fall between -100 and +100 under normal conditions
CCI Signal Types
1. Oversold Bounce / Mean Reversion
When CCI drops below -100 (price is more than one standard deviation below its 20-period mean) and crosses back above -100, a mean-reversion long entry is signaled. Entry rule: CCI crosses from below -100 to above -100 AND price is above EMA 50 (uptrend filter) → long entry, stop below recent swing low. This is the most commonly used CCI strategy for crypto. See our EMA trend filter guide.
2. Zero-Line Crossover (Momentum/Trend)
When CCI crosses from negative to positive (above zero), it signals the start of positive momentum — price has moved above its mean. Entry rule: CCI crosses from below 0 to above 0 AND CCI was below -100 in the preceding 5 periods (recovering from oversold into positive momentum) → long entry. This "recovery crossover" approach filters out weak zero-line crosses that never reached oversold territory.
3. Overbought Rejection
CCI above +200 (two standard deviations above mean) is a highly overbought condition — in ranging markets, this often precedes a reversion. For take-profit exits: close long positions when CCI exceeds +200 in a trend-following strategy, or add a trailing stop when CCI first enters the +100 to +200 zone.
4. CCI Divergence
Bullish divergence: price makes a new low while CCI makes a higher low. This indicates the selling pressure is weakening even though price has continued to new lows. Add RSI below 35 as a complementary confirmation. See the divergence framework in our RSI guide.
CCI vs. RSI and Williams %R
| Indicator | Scale | Key Levels | Distinguishing Feature |
|---|---|---|---|
| CCI | Unbounded (-300 to +300+ typical range) | ±100, ±200, zero | Unbounded — can remain extreme for extended periods during strong trends |
| RSI | 0 to 100 | 30/70, 50 | Bounded — cannot exceed 0 or 100 |
| Williams %R | 0 to -100 | -20/-80 | Fast response, range-position based |
CCI's unbounded nature is both its strength and complication: unlike RSI, CCI can go to -200, -300, or beyond during strong selling pressure — there is no hard ceiling or floor. This means a CCI below -200 is genuinely extreme and represents a higher-quality mean-reversion signal than CCI at -100. Use this escalation: CCI at -100 = standard oversold entry; CCI at -200 = strong oversold entry (larger position size if strategy allows).
Configuring CCI in DennTech
- Navigate to Strategy → CCI (Commodity Channel Index)
- Set period: 20 (standard)
- Set overbought/oversold levels: +100/-100 (standard); +200/-200 for stronger signals only
- Select signal: Oversold Bounce, Zero-Line Crossover, or Divergence
- Enable EMA 50 trend filter for bounce signals
- Set stop-loss: ATR-based (1.5× ATR) below entry swing low
- Paper trade to validate on your selected pair and timeframe first — see paper trading guide
Full documentation at DennTech docs. All 25 strategies at the strategies page. Start at the pricing page.
CCI on Multiple Timeframes
A powerful multi-timeframe CCI approach: require Daily CCI to be below -100 (daily oversold context) AND 4H CCI to cross above -100 (the bounce entry on the smaller timeframe). This ensures you are entering a mean reversion during a genuinely oversold daily regime, not just a brief 4H dip during a healthy uptrend. The daily CCI provides the higher-timeframe context; the 4H CCI crossover provides the entry timing. This approach aligns with the multi-timeframe framework described in our timeframe guide. Combine with our stress testing guide to validate the multi-TF combination. Compare editions at the pricing page.
Frequently Asked Questions
- What makes CCI different from RSI for crypto bot trading?
- CCI and RSI both identify overbought and oversold conditions, but through different calculations. RSI's 0–100 bounded scale means the indicator cannot distinguish between "very slightly overbought" and "extremely overbought" — once RSI exceeds 70, all values look the same to a simple threshold rule. CCI's unbounded scale does distinguish: CCI at +150 is moderately overbought, CCI at +350 is extremely overbought, and the magnitude matters for position sizing decisions. This makes CCI slightly more nuanced for strategies that scale position size based on the extremity of the oscillator reading. See our RSI guide for the complementary comparison.
- Does CCI work better on specific timeframes for crypto?
- CCI performs consistently across timeframes but the -100/+100 oversold/overbought triggers occur at different frequencies. On 1H charts, CCI below -100 is common (many brief corrections reach this level). On Daily charts, CCI below -100 represents a more significant oversold condition that occurs less frequently but with stronger mean-reversion signals. For automated strategies, the 4H timeframe is the most practical balance — CCI's -100 signal on 4H represents a genuinely notable pullback that occurs 2–4 times per month on BTC, providing enough signal frequency while filtering intraday noise. See our timeframe guide. Get started at the pricing page.
- Is CCI suitable for altcoin pairs or primarily BTC and ETH?
- CCI is a normalized indicator — it adjusts to the volatility of any specific asset through the Mean Absolute Deviation calculation. A -100 CCI on BTC/USDT and a -100 CCI on an altcoin both represent the same statistical condition: price is approximately one standard deviation below its 20-period mean. The normalized nature makes CCI directly comparable across pairs regardless of absolute price levels or volatility differences. However, as with all oscillators, thin altcoin pairs are subject to single large orders creating extreme CCI readings that do not represent genuine market consensus. Use a minimum daily volume filter ($5M+) when selecting altcoin pairs for CCI strategies. See our OBV volume guide. Compare editions at the pricing page.
Oscillator suite: RSI, Williams %R, CCI (this guide). All strategies at the strategies page.