
CCI (Commodity Channel Index): Formül, Eşik Değerler ve Pine Script Kodu
CCI, fiyatın tipik değerinin hareketli ortalamasından ortalama sapma cinsinden ne kadar uzaklaştığını ölçer. +100/-100 eşikleri, 0,015 sabiti ve doğru periyot seçimini örneklerle anlatıyoruz.
⚡ TL;DR — Hızlı Özet
CCI = (Tipik Fiyat − SMA) / (0,015 × Ortalama Sapma). Donald Lambert'in orijinal kullanımında CCI +100'ü yukarı keserse trend başlangıcı, −100'ü aşağı keserse düşüş başlangıcı sayılır. Kısa vadede 14, orta vadede 20 periyot yaygındır.
CCI tam olarak neyi ölçer?
Commodity Channel Index (CCI), 1980'de Donald Lambert tarafından emtia döngülerini yakalamak için geliştirildi. Ölçtüğü şey basit: fiyatın "tipik değeri", kendi hareketli ortalamasından kaç birim sapmış? Bu sapmayı ortalama mutlak sapmaya bölerek normalize eder, böylece farklı enstrümanlarda karşılaştırılabilir bir sayı elde edilir.
Formül
CCI dört adımda hesaplanır:
- Tipik Fiyat (TP) = (Yüksek + Düşük + Kapanış) / 3
- SMA(TP, n) = son n mumun tipik fiyat ortalaması
- Ortalama Sapma = son n mumda |TP − SMA| değerlerinin ortalaması
- CCI = (TP − SMA) / (0,015 × Ortalama Sapma)
0,015 sabiti, Lambert'in seçtiği bir ölçekleme faktörüdür; amacı değerlerin yaklaşık %70-80'inin −100 ile +100 arasında kalmasını sağlamaktır. Bu yüzden ±100, "normalin dışı" anlamına gelir.
±100 eşiklerini iki farklı okuma
CCI'yi kullanmanın birbiriyle çelişen iki yolu var; hangisini seçtiğin stratejinin karakterini belirler:
| Yaklaşım | +100 yukarı kesildiğinde | −100 aşağı kesildiğinde |
|---|---|---|
| Lambert (trend takip) | AL — yeni yükseliş trendi başladı | SAT — yeni düşüş trendi başladı |
| Aşırı alım/satım (dönüş) | Aşırı alım — SAT'a hazırlan | Aşırı satım — AL'a hazırlan |
Trend takip okuması trendli piyasada, dönüş okuması yatay piyasada çalışır. İkisini aynı anda kullanmak, en sık yapılan hatadır (bkz. aşağı).
Periyot seçimi
- 14: Gün içi / kısa vadeli, daha çok sinyal, daha çok gürültü.
- 20: En yaygın varsayılan; günlük grafikte swing işlemler için dengeli.
- 50+: Yalnızca ana trend yönünü filtrelemek için (ör. "CCI(50) > 0 ise sadece AL sinyallerini dinle").
TradingView için Pine Script v5
//@version=5
indicator("CCI + Eşik Sinyalleri", overlay=false)
length = input.int(20, "Periyot")
src = input.source(hlc3, "Kaynak") // hlc3 = tipik fiyat
upper = input.int(100, "Üst Eşik")
lower = input.int(-100, "Alt Eşik")
cciVal = ta.cci(src, length)
plot(cciVal, "CCI", color=color.new(color.teal, 0))
hline(upper, "Üst", color=color.gray)
hline(lower, "Alt", color=color.gray)
hline(0, "Sıfır", color=color.new(color.gray, 60))
// Lambert (trend) okuması — mum KAPANDIKTAN sonra
buy = ta.crossover(cciVal, upper)
sell = ta.crossunder(cciVal, lower)
plotshape(buy, title="AL", style=shape.triangleup, location=location.bottom, color=color.green, size=size.tiny)
plotshape(sell, title="SAT", style=shape.triangledown, location=location.top, color=color.red, size=size.tiny)
alertcondition(buy, "CCI AL", "CCI +100 yukarı kesildi")
alertcondition(sell, "CCI SAT", "CCI -100 aşağı kesildi")
ta.cci() yerleşik fonksiyonu tam olarak yukarıdaki 4 adımı uygular; elle yazmana gerek yok.
CCI'de en sık 4 hata
- İki okumayı karıştırmak: "+100'de aşırı alım diye sattım ama fiyat 3 gün daha yükseldi." Çünkü güçlü trendde CCI haftalarca +100'ün üstünde kalabilir. Trendli enstrümanda dönüş okuması kullanma.
- Tek başına kullanmak: CCI yön verir, zamanlama vermez. Bir trend filtresi (ör. 200 EMA) veya hacim teyidi olmadan sinyal sayısı çok yüksek olur.
- Mum kapanışını beklememek: Mum içinde CCI ±100'ü kesip mum kapanışında geri dönebilir. Sinyali
barstate.isconfirmedile veya kapanışta değerlendir — yoksa "repaint" yaşarsın. - Uyumsuzluğu (divergence) mekanik sinyal sanmak: Fiyat yeni tepe yaparken CCI daha düşük tepe yapıyorsa bu bir "uyarı"dır, giriş emri değil. Teyit için fiyat yapısı (trend çizgisi kırılımı) bekle.
İndikatörünüzü kod haline getirelim
Bu yazıdaki mantığı kendi stratejinize göre uyarlanmış, repaint etmeyen bir TradingView (Pine Script) veya MetaTrader (MQL5) indikatörüne dönüştürüyoruz; istersen sinyalleri webhook ile borsa hesabına bağlıyoruz. Özel indikatör tasarımı sayfasına bakabilir ya da bize kısaca projenizi anlatabilirsiniz.
İlgili Yazılar
Stochastic RSI: RSI'nin RSI'si — Ayarlar, 80/20 Bölgeleri ve Kod
Stochastic RSI, RSI değerinin kendi son N günlük aralığındaki konumunu ölçer. Bu yüzden RSI'den çok daha hızlı ve çok daha oynak sinyal verir — avantajı da riski de budur.
Devamını Oku →On Balance Volume (OBV): Hacim Fiyatı Doğruluyor mu?
OBV'nin mutlak değeri anlamsızdır; önemli olan yönü ve fiyatla uyumudur. Fiyat yükselirken OBV yükselmiyorsa, o yükseliş hacimle desteklenmiyor demektir.
Devamını Oku →VWAP ve TWAP: Kurumsal Referans Fiyat Nasıl Kullanılır?
VWAP, gün içinde işlem gören her fiyatın hacimle ağırlıklandırılmış ortalamasıdır. Kurumsal masalar emirlerini VWAP'e göre değerlendirir; bu yüzden fiyat VWAP'e sık sık geri döner.
Devamını Oku →