Momentum & oscillators · TickAtlas Learn

Commodity Channel Index (CCI)

CCI measures the deviation of price from its statistical mean. Originally designed for commodities, it works on any market. Values above +100 or below -100 indicate extreme conditions.

10 min readUpdated 2026-03-21Momentum & oscillators
CCI · quick spec
GET /v1/indicator ?symbol=EURUSD&indicator=CCI_14&timeframe=H1
Family
Momentum & oscillators
Series
Periods 14 · 20
Best timeframes
H1 · H4 · D1
Last updated
2026-03-21

TL;DR

  • CCI is a oscillator indicator used in technical analysis
  • CCI above +100 indicates overbought/strong uptrend. Below -100 indicates oversold/strong downtrend. Zero-line crossovers signal trend changes.
  • Best timeframes: H1, H4, D1
  • Skip to API docs
Understand

What is Commodity Channel Index?

CCI measures the deviation of price from its statistical mean. Originally designed for commodities, it works on any market. Values above +100 or below -100 indicate extreme conditions.

Calculate

How CCI is calculated

formula
CCI = (Typical Price - SMA of TP) / (0.015 × Mean Deviation)

Typical Price = (High + Low + Close) / 3
Periods: 14, 20
Interpret

How to interpret CCI

CCI above +100 indicates overbought/strong uptrend. Below -100 indicates oversold/strong downtrend. Zero-line crossovers signal trend changes.

Apply

Trading strategies using CCI

Strategy 1: CCI Zero-Line Crossover

Trade when CCI crosses the zero line for trend direction.

Entry rules

Buy when CCI crosses above zero. Sell when CCI crosses below zero.

Exit rules

Exit when CCI reaches extreme level (+100/-100) or crosses back through zero.

Combine

Combining CCI with other indicators

CCI works best when combined with complementary indicators:

  • CCI + RSI: Combine for stronger confluence signals
  • CCI + Momentum: Combine for stronger confluence signals
  • CCI + Stochastic: Combine for stronger confluence signals
Timeframes

CCI across different timeframes

CCI works across all 7 timeframes but performs best on H1, H4, D1 for most trading styles.

H1H4D1

Learn about all 7 timeframes

Query

Accessing CCI via the TickAtlas API

GET https://tickatlas.com/v1/indicator

Python example

python
import requests

url = "https://tickatlas.com/v1/indicator"
headers = {"X-API-Key": "YOUR_API_KEY"}
params = {
  "symbol": "EURUSD",
  "indicator": "CCI_14",
  "timeframe": "H1"
}

response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)

Sample response

200 OK
{
  "success": true,
  "data": {
    "symbol": "EURUSD",
    "indicator": "CCI_14",
    "timeframe": "H1",
    "value": 58.43,
    "updated_at": 1711548000,
    "server_time": "2024-03-27T14:00:00+00:00",
    "bid": 1.0856,
    "ask": 1.0857
  }
}
Avoid

Common mistakes to avoid

  • Treating +100/-100 as rigid overbought/oversold levels — in strong trends, CCI can stay extreme
  • Not adjusting the period for different markets
FAQ

Frequently asked questions

What CCI settings should I use?

CCI(14) is standard. Use CCI(20) for smoother signals. Shorter periods like CCI(9) work for scalping but generate more noise.

Continue learning

From learning to building

Put CCI to work in your application.

Sign up with $2.50 of starting credit and query pre-calculated CCI data across 7 timeframes, from M1 to D1.