CCI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
Giriş
Bu, en yaygın kullanılan teknik göstergeleri kullanarak basit stratejilere dayalı ticaret sistemlerinin nasıl tasarlanacağını öğrenmeye yönelik makale serimizin yeni makalesidir. Bu kez Commodity Channel Index (CCI) göstergesini ele alacağız. Her zaman olduğu gibi, ana fikrini ve kullanımını anlamanıza yardımcı olmak için konunun temellerini açıklamaya çalışacağım. Nihayetinde, bu açıklamalar size ticaretinizde kullanabileceğiniz içgörüler ve yeni fikirler sağlayabilir.
Bu makalede, CCI göstergesine dayalı bir ticaret sistemi tasarlayacağız. Neler hakkında konuşacağız:
- CCI göstergesinin tanımı
- CCI göstergesi stratejileri
- CCI göstergesine dayalı ticaret sisteminin planı
- CCI göstergesine dayalı ticaret sistemi
- Sonuç
Commodity Channel Index’in (CCI) ne olduğu, neyi ölçtüğü, nasıl hesaplandığı hakkında detaylı bilgilerle başlayacağız. Yaptığımız şeyin temellerini ve köklerini anladığımızda, daha etkili şekilde araçları kullanabilecek ve yeni fikirler üretebileceğiz. Bu konuyu "CCI göstergesinin tanımı" başlığı altında tartışacağız. Ardından, "CCI göstergesi stratejileri" bölümünde, farklı piyasa yönleri veya koşulları sırasında CCI ile kullanılabilecek iki basit stratejiyi ele alacağız. Sonrasında, "CCI göstergesine dayalı ticaret sisteminin planı" bölümünde, bu stratejilere dayalı bir ticaret sistemini nasıl tasarlayabileceğimize yönelik şekilde, programın neler yapması gerektiğini açıkça gösteren ayrıntılı bir plan oluşturacağız. Devamında, "CCI göstergesine dayalı ticaret sistemi" bölümünde de, plana göre ticaret sistemini nasıl tasarlayacağımızı öğreneceğiz.
Bu makalede MetaTrader 5 işlem platformunu ve MetaQuotes Language Düzenleyicisini kullanacağız. MetaTrader 5'i şu linkten indirebilirsiniz: https://www.metatrader5.com/en/download
MetaTrader 5'i indirip kurduktan sonra aşağıdaki terminal penceresini göreceksiniz:
Ardından, işlem terminali açıkken F4 tuşuna basarak veya terminaldeki Araçlar sekmesinden MetaQuotes Language Düzenleyicisine tıklayarak MetaEditor’ı açabilirsiniz:
Veya MetaTrader 5 araç çubuğundaki IDE düğmesine de tıklayabilirsiniz:
Burada, disiplinli olmamıza yardımcı olabileceğinden, ticarette programlamanın faydalarından bahsedeceğim. Disiplin, ticaret başarımız için önemli bir faktördür, çünkü duygular ticarete zarar verebilir: kararlar bir plana göre verilmelidir, ancak çoğu yatırımcının korku, hırs veya diğer duygular nedeniyle doğru eylemi veya kararı veremedikleri görülür.
Programlama, ticaret planımızı koşullarımıza göre bir program üzerine uygulayabilmemizi sağlar, böylece planımıza devamlı olarak bağlı kalmamız mümkün olur. Program, ticaretimizi etkileyebilecek duygular olmadan kurallarımıza göre ihtiyacımız olanı yapacaktır, bu da programlamanın disiplinli olmamıza yardımcı olacağı anlamına gelir. MQL5, ticaret stratejilerimizi ve planlarımızı işlem terminalinde otomatik olarak yürütülebilecek şekilde programlamamıza olanak sağladığı için bu noktada çok işe yaramaktadır. Bir program, ticaret planına bağlı olarak çok basitten aşırı karmaşığa kadar olabilir.
Sorumluluk reddi: Bu makalenin tüm içeriği yalnızca eğitim amaçlıdır, başka herhangi bir amaca yönelik değildir. Dolayısıyla, bu makalenin içeriğine dayalı olarak gerçekleştireceğiniz her şey, yalnızca kendi sorumluluğunuzda ve riskinizde olacaktır, bu makalenin içeriği herhangi bir sonucu garanti etmemektedir.
Şimdi, öğrenme yolculuğumuzda yeni bir blok daha inşa etmek için makalemize başlamaya hazırız. Hadi başlayalım.
CCI göstergesinin tanımı
Bu bölümde, Commodity Channel Index (CCI) göstergesi hakkında daha ayrıntılı bilgi edineceğiz: neyi ölçtüğü, nasıl hesaplandığı ve nasıl kullanılacağı.
Donald Lambert tarafından oluşturulan Commodity Channel Index (CCI) göstergesi, belirli bir periyodun ortalama fiyatına göre mevcut fiyatı ölçen bir momentum göstergesidir. Lambert bu göstergeyi oluşturduğunda asıl amacı emtiaların döngüsel hareketlerini ölçmekti. Ancak gösterge, diğer finansal enstrümanları da ölçebilir. CCI, momentum göstergesi doğası nedeniyle trendlerin gücünü ve geri dönüşleri belirlemek için kullanılabilir.
CCI'ın neyi ölçtüğüne ve hesaplanma mantığına göre: CCI yüksek olduğunda, fiyatların ortalamasının çok üzerinde olduğu anlamına gelir ve bunun tersi olarak, CCI düşük olduğunda da bu, fiyatların ortalamasının çok altında olduğu anlamına gelir.
CCI aşağıdaki adımlarla hesaplanır:
- Tipik fiyatları (TP, Typical Price) hesapla:
Her çubuk için TP = (Yüksek + Düşük + Kapanış)/3
- TP’lerin Simple Moving Average’ını hesapla:
TP’lerin SMA'sı = TP’lerin toplamı/n
- Ortalama sapmayı hesapla:
Ortalama sapma = her bir çubuğun abs(çubuğun TP’si - TP’lerin SMA’sı) sonuçlarının toplamı/n
- CCI'ı hesapla:
CCI = (mevcut çubuğun TP’si - TP’lerin SMA’sı)/(0.015 * ortalama sapma)
Şimdi, bu hesaplamayı uygulamak için bir örnek ele alalım:
14 gün için aşağıdaki fiyatlara sahip olduğumuzu varsayalım:
Gün | Yüksek | Düşük | Kapanış |
---|---|---|---|
1 | 100 | 90 | 110 |
2 | 130 | 100 | 120 |
3 | 140 | 110 | 130 |
4 | 130 | 100 | 120 |
5 | 120 | 95 | 110 |
6 | 140 | 120 | 130 |
7 | 160 | 130 | 150 |
8 | 170 | 150 | 160 |
9 | 155 | 130 | 140 |
10 | 140 | 120 | 130 |
11 | 160 | 140 | 150 |
12 | 180 | 160 | 170 |
13 | 190 | 170 | 190 |
14 | 200 | 180 | 210 |
Bu verileri kullanarak CCI'ı hesaplıyoruz:
- İlk olarak tipik fiyatları (TP) hesaplayacağız:
Her çubuk için TP = (Yüksek + Düşük + Kapanış)/3
Tipik fiyatlar şu şekilde olacaktır:
- Ardından, hesaplanan TP’lerin Simple Moving Average’ını (SMA) hesaplıyoruz:
TP’lerin SMA'sı = TP’lerin toplamı/n
Sonuç aşağıdaki gibidir:
- Sonrasında, ortalama sapmayı hesaplamak adına öncelikle her bir çubuğun TP’si ile TP’lerin SMA'sı arasındaki farkları hesaplıyoruz (mutlaklarını alarak):
abs(çubuğun TP’si - TP’lerin SMA’sı)
Şu şekilde ele ederiz:
- Şimdi ise ortalama sapmayı hesaplıyoruz:
Ortalama sapma = her bir çubuğun abs(çubuğun TP’si - TP’lerin SMA’sı) sonuçlarının toplamı/n
- Şimdi sıra CCI'ı hesaplamaya geldi:
CCI = (mevcut çubuğun TP’si - TP’lerin SMA’sı)/(0.015 * ortalama sapma)
CCI = (196.67-141.19)/(0.015*22.86)
CCI = 55.48/0.3429
CCI = 161,80
Ama aslında hiçbir şeyin manuel olarak hesaplanmasına gerek yok, çünkü MetaTrader 5 kullanıma hazır yerleşik göstergeler sağlıyor. Aşağıdaki görüntüde gösterildiği gibi platformdan CCI göstergesini seçerek hemen kullanmaya başlayabilirsiniz:
CCI seçildikten sonra aşağıdaki pencere görüntülenecektir:
Gösterge penceresi şu parametreleri içermektedir:
- 1: Göstergenin periyodunu tanımlar
- 2: Gösterge hesaplamasında kullanılacak fiyat türünü ayarlar, buradan tipik fiyatı seçeceğiz.
- 3: Gösterge stilini ayarlar: CCI rengi, CCI çizgi tipi ve CCI çizgi kalınlığı.
Tüm parametreleri belirledikten sonra Tamama tıklayın, gösterge grafikte görünecektir:
CCI, 100 ile -100 arasında salınan bir osilatördür.
CCI göstergesi stratejileri
Bu bölümde, CCI ile kullanılabilecek iki basit stratejiden bahsedeceğiz. Stratejilerden biri piyasa yönüne (yükseliş trendi, düşüş trendi ve yatay) göre kullanılır. Diğeri ise CCI göstergesinin 0, 100 ve -100 seviyelerini çaprazlamasına dayanmaktadır. Bu stratejiler hakkında konuşmadan önce, CCI ile kullanılabilecek birçok strateji olduğunu belirtmem gerekiyor. Hangi stratejiyi seçerseniz seçin, gerçek parayla gerçek ticarette kullanmadan önce, size uygun olup olmadığını görmek adına onu bir demo hesabında tam olarak test ettiğinizden emin olun.
Stratejiler şu şekildedir.
Birinci strateji: Piyasa yönüne göre
- Yükseliş trendi sırasında:
Yükseliş trendi, fiyatların daha yüksek pikler ve daha yüksek çukurlar oluşturduğu piyasa yönüdür, bu da alıcıların piyasada kontrolde olduğu ve fiyatların yukarı hareket ettiği anlamına gelir. Bu piyasa yönünde, CCI çizgisi 100 seviyesinin üzerine çıktığında alış sinyali oluşturmak için CCI'ı bir sinyal sağlayıcı olarak kullanabiliriz. Yani, CCI > 100. Sonrasında, kârı almak için fiyat hareketi gibi başka bir etkili aracı kullanabiliriz.
CCI > 100 = Alış
Kârı al sinyali için fiyatın bir önceki çukur seviyesinin altına inmesi şeklindeki fiyat hareketi gibi daha yararlı olabilecek başka bir araç kullanılabilir
- Düşüş trendi sırasında:
Düşüş trendi, yükseliş trendinin tam tersi trenddir: fiyatlar daha düşük dipler ve daha düşük çukurlar oluşturur, bu da piyasada satıcıların kontrolde olduğu ve fiyatların aşağı hareket ettiği anlamına gelir. Bu piyasa yönünde de CCI sinyal üretmek için kullanılabilir: CCI çizgisi - 100 seviyesinin altına düştüğünde satış sinyali oluşur. Yine aynı şekilde fiyat hareketi kârı almak için kullanılabilir.
CCI < -100 = Satış
Kârı al sinyali için fiyatın bir önceki çukur seviyesinin üzerine çıkması şeklindeki fiyat hareketi gibi daha yararlı olabilecek başka bir araç kullanılabilir
- Yatay hareket sırasında:
Yatay hareket sırasında, alıcılar ve satıcılar arasında bir denge mevcuttur, bu nedenle piyasada görsel olarak iki tarafta açıkça hakim değildir. Bu, yükseliş veya düşüş trendi ile ilişkilendirilemeyen herhangi bir harekettir.
Yatay hareket sırasında da sinyal üretmek için CCI'ı kullanabiliriz. CCI çizgisi -100 seviyesinin altına düştüğünde alış sinyali, devamında 100'ün üzerine çıktığında da kârı al sinyali olacaktır. Veya CCI çizgisi 100'ün üzerine çıktığında satış sinyali, devamında -100'ün altına düştüğünde de kârı al sinyali olacaktır.
CCI < -100 = Alış
CCI > 100 = Kârı al
CCI > 100 = Satış
CCI < -100 = Kârı al
Bu makalede, CCI için ek bir strateji kullanacağız. CCI çizgisi sıfırı seviyesini çaprazladığında piyasaya girilebilir ve pozisyon türüne göre (alış veya satış) 100 ve -100 seviyesini çaprazladığında da kâr alınabilir.
- Alış sinyali için:
CCI çizgisi sıfırın üzerine çıktığında alış sinyali, devamında 100'ün üzerine çıktığında da kârı al sinyali olacaktır.
CCI > 0 = Alış
CCI > 100 = Kârı al
- Satış sinyali için:
CCI çizgisi sıfırın altına düştüğünde satış sinyali, devamında -100'ün altına düştüğünde de kârı al sinyali olacaktır.
CCI < 0 = Satış
CCI < -100 = Kârı al
CCI göstergesine dayalı ticaret sisteminin planı
Şimdi, bu makalenin en ilginç kısmına geçiyoruz - incelediğimiz iki stratejideki sinyalleri otomatikleştirmek amacıyla onları programlayacağız.
Bu amaçla her bir alt strateji için bilgisayara vereceğimiz talimatların şematik bir planını oluşturacağız.
- Yükseliş trendi sırasında:
Program, her tikte CCI değerini kontrol etmeli ve CCI değerine bağlı olarak belirli işlemleri gerçekleştirmelidir.
CCI 100'ün üzerindeyse - alış, aksi takdirde - hiçbir şey yapma.
- Düşüş trendi sırasında:
Program, her tikte CCI değerini kontrol etmeli ve CCI değerine bağlı olarak belirli işlemleri gerçekleştirmelidir.
CCI 100'ün altındaysa - satış, aksi takdirde - hiçbir şey yapma.
- Yatay hareket sırasında:
Program, her tikte CCI değerini kontrol etmeli ve CCI değerine bağlı olarak belirli işlemleri gerçekleştirmelidir.
CCI değeri -100'ün altındaysa alış sinyali ver. Eğer artık CCI değeri -100'ün altında değilse, CCI’ın -100'ün üzerinde ve 100'ün altında olup olmadığını kontrol et, öyleyse, hiçbir şey yapma (tut). CCI 100'ün üzerine çıktığında alışın kârı al sinyalini ver ve de satış sinyali ver. Ardından eğer artık CCI değeri 100'ün üzerinde değilse, CCI’ın 100'ün altında ve -100'ün üzerinde olup olmadığını kontrol et, öyleyse, hiçbir şey yapma (tut). CCI -100'ün altına indiğinde satışın kârı al sinyalini ver ve de alış sinyali ver. Bu şekilde yatay hareket için strateji devam eder.
- Alış sinyali için:
Program, her tikte CCI değerini kontrol etmeli ve CCI değerine bağlı olarak belirli işlemleri gerçekleştirmelidir. CCI değeri sıfırın üzerine çıktığında alış sinyali, devamında 100'ün üzerine çıktığında da kârı al sinyali ver.
- Satış sinyali için:
CCI göstergesine dayalı ticaret sistemi
Şimdi, söz konusu stratejileri bilgisayarın ihtiyacımız olanı yapması için kod olarak yazmamız gerekiyor.
Öncelikle, grafikte CCI değerlerini gösteren basit bir program kodlayalım. Programlama aşağıdaki adımlardan oluşur:
- Fiyat dizisi oluşturma.
- Geçerli verilerden fiyat dizisini sıralama.
- CCI özelliklerini tanımlama.
- Sonuçları sıralama.
- Geçerli verilerin değerini alma.
- CCI değerlerini grafik üzerinde gösterme.
Aşağıdaki kod, bilgisayarın CCI değerlerini grafik üzerinde otomatik olarak yazmasına olanak sağlayan bir program oluşturmak için tüm bu adımları göstermektedir:
//+------------------------------------------------------------------+ //| Simple CCI System.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creating an array of prices double ArrayOfPrices[]; //Sorting price array from current data ArraySetAsSeries(ArrayOfPrices,true); //CCI properties Definition int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE); //Storing results CopyBuffer(CCIDef,0,0,3,ArrayOfPrices); //Getting value of current data double CCIValue = (ArrayOfPrices[0]); //Charting CCI values Comment ("CCI Value = ",CCIValue); } //+------------------------------------------------------------------+
Yazma ve derleme işleminden sonra program Kılavuzda (Simple CCI System) görünecektir. Seçin ve platformda çalıştırın:
Program (Simple CCI System) çift tıklanarak veya grafik üzerine sürüklenip bırakılarak açılabilir. Sonrasında aşağıdaki pencere görüntülenecektir:
"Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Simple CCI System programı (EA) grafiğe eklenecek ve CCI değeri grafikte görselleştirilecektir:
Şimdi, bahsedilen iki stratejiyi nasıl kodlayacağımızı öğreneceğiz:
- İlk strateji: Piyasa yönüne göre:
- Yükseliş trendi sırasında:
CCI > 100 = Alış
Aşağıdaki adımları uygulayacağız:
- Fiyat dizisi oluşturma.
- Geçerli verilerden fiyat dizisini sıralama.
- CCI özelliklerini tanımlama.
- Sonuçları sıralama.
- Geçerli verilerin değerini alma.
- Yükseliş trendi sırasında CCI sinyali için koşulları ayarlama.
Bu adımların nasıl kodlanacağı aşağıda açıklanmaktadır:
//+------------------------------------------------------------------+ //| Uptrend CCI Strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creating an array of prices double ArrayOfPrices[]; //Sorting price array from current data ArraySetAsSeries(ArrayOfPrices,true); //CCI properties Definition int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE); //Storing results CopyBuffer(CCIDef,0,0,3,ArrayOfPrices); //Getting value of current data double CCIValue = (ArrayOfPrices[0]); //CCI signals for uptrend if(CCIValue> 100) Comment ("UPTREND CCI - BUY SIGNAL "); } //+------------------------------------------------------------------+
Sonrasında, Uptrend CCI Strategy programını Kılavuzda bulabiliriz:
Yine programı çift tıklayarak veya grafiğe sürükleyip bırakarak açın. Şu pencere açılacaktır:
"Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Uptrend CCI Strategy programı (EA) grafiğe eklenecektir:
Uptrend CCI Strategy programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:
- Düşüş trendi sırasında:
CCI < -100 = Satış
Aşağıdaki adımları kodlayacağız:
- Fiyat dizisi oluşturma.
- Geçerli verilerden fiyat dizisini sıralama.
- CCI özelliklerini tanımlama.
- Sonuçları sıralama.
- Geçerli verilerin değerini alma.
- Düşüş trendi sırasında CCI sinyali için koşulları ayarlama.
İşlem platformunda başlatılabilen ve ihtiyacımız olanı otomatik olarak yürüten programın kodu aşağıda bulunmaktadır:
//+------------------------------------------------------------------+ //| Downtrend CCI Strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creating an array of prices double ArrayOfPrices[]; //Sorting price array from current data ArraySetAsSeries(ArrayOfPrices,true); //CCI properties Definition int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE); //Storing results CopyBuffer(CCIDef,0,0,3,ArrayOfPrices); //Getting value of current data double CCIValue = (ArrayOfPrices[0]); //CCI signals if(CCIValue< -100) Comment ("DOWNTREND CCI - SHORT SIGNAL "); } //+------------------------------------------------------------------+
Kılavuzdan Downtrend CCI Strategy programını bulun:
Downtrend CCI Strategy programına çift tıklayarak veya grafik üzerine sürükleyip bırakarak açın. Sonrasında şu pencere açılacaktır:
"Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Downtrend CCI Strategy programı (EA) grafiğe eklenecektir:
Downtrend CCI Strategy programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:
- Yatay hareket sırasında:
- Alış sinyalleri için:
CCI < -100 = Alış
CCI > 100 = Kârı al
Adımlar:
- Fiyat dizisi oluşturma.
- Geçerli verilerden fiyat dizisini sıralama.
- CCI özelliklerini tanımlama.
- Sonuçları sıralama.
- Geçerli verilerin değerini alma.
- Yatay hareket sırasında CCI alış sinyali için koşulları ayarlama.
İhtiyacımız olan şeyi yapabilecek bir program oluşturmak için şu adımları kodlayın:
//+------------------------------------------------------------------+ //| Sideways CCI Strategy - Buy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creating an array of prices double ArrayOfPrices[]; //Sorting price array from current data ArraySetAsSeries(ArrayOfPrices,true); //CCI properties Definition int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE); //Storing results CopyBuffer(CCIDef,0,0,3,ArrayOfPrices); //Getting value of current data double CCIValue = (ArrayOfPrices[0]); //CCI signals if(CCIValue< -100) Comment ("SIDEWAYS CCI - BUY SIGNAL "); if(CCIValue> 100) Comment ("SIDEWAYS CCI - TAKE PROFIT"); } //+------------------------------------------------------------------+
Kılavuzdan Sideways CCI Strategy - Buy programını bulun:
Çift tıklayarak veya sürükleyip bırakarak açın. Sonrasında şu pencere açılacaktır:
"Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Sideways CCI Strategy - Buy programı (EA) grafiğe eklenecektir:
Sideways CCI Strategy - Buy programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:
Kârı al sinyali: CCI > 100 = Kârı al. Örnek:
- Satış sinyalleri için:
CCI > 100 = Satış
CCI < -100 = Kârı al
Bunu aşağıdaki adımlarla kodlayacağız:
- Fiyat dizisi oluşturma.
- Geçerli verilerden fiyat dizisini sıralama.
- CCI özelliklerini tanımlama.
- Sonuçları sıralama.
- Geçerli verilerin değerini alma.
- Yatay hareket sırasında CCI satış sinyali için koşulları ayarlama.
Sideways CCI Strategy - Short programını oluşturmak için bu adımların nasıl kodlanacağı aşağıda açıklanmaktadır:
//+------------------------------------------------------------------+ //| Sideways CCI Strategy - Short.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creating an array of prices double ArrayOfPrices[]; //Sorting price array from current data ArraySetAsSeries(ArrayOfPrices,true); //CCI properties Definition int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE); //Storing results CopyBuffer(CCIDef,0,0,3,ArrayOfPrices); //Getting value of current data double CCIValue = (ArrayOfPrices[0]); //CCI signals if(CCIValue> 100) Comment ("SIDEWAYS CCI - SHORT SIGNAL "); if(CCIValue< -100) Comment ("SIDEWAYS CCI - TAKE PROFIT"); } //+------------------------------------------------------------------+
Sideways CCI Strategy - Short programını bulun:
"Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Sideways CCI Strategy - Short programı (EA) grafiğe eklenecektir:
Sideways CCI Strategy - Short programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:
Kârı al sinyali: CCI < -100 = Kârı al. Örnek:
- İkinci strateji: Sıfırı çaprazlama stratejisi:
- Alış sinyali için:
CCI > 0 = Alış
CCI > 100 = Kârı al
Bunu aşağıdaki adımlarla kodlayacağız:
- Fiyat dizisi oluşturma.
- Geçerli verilerden fiyat dizisini sıralama.
- CCI özelliklerini tanımlama.
- Sonuçları sıralama.
- Geçerli verilerin değerini alma.
- CCI değeri ve sıfır çaprazlaması için koşulları ayarlama.
Zero Crossover CCI Strategy - Buy programını oluşturma adımları:
//+------------------------------------------------------------------+ //| Zero crossover CCI Strategy - Buy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creating an array of prices double ArrayOfPrices[]; //Sorting price array from current data ArraySetAsSeries(ArrayOfPrices,true); //CCI properties Definition int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE); //Storing results CopyBuffer(CCIDef,0,0,3,ArrayOfPrices); //Getting value of current data double CCIValue = (ArrayOfPrices[0]); //CCI signals if(CCIValue > 0) Comment ("Zero crossover CCI - BUY SIGNAL "); if(CCIValue > 100) Comment ("Zero crossover CCI - TAKE PROFIT"); } //+------------------------------------------------------------------+
Kılavuzdan Zero Crossover CCI Strategy - Buy programını bulun:
"Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Zero Crossover CCI Strategy - Buy programı (EA) grafiğe eklenecektir:
Zero Crossover CCI Strategy - Buy programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:
Kârı al sinyali: CCI > 100 = Kârı al. Örnek:
- Satış sinyali için:
CCI < 0 = Satış
CCI < -100 = Kârı al
Bunu aşağıdaki adımlarla kodlayacağız:
- Fiyat dizisi oluşturma.
- Geçerli verilerden fiyat dizisini sıralama.
- CCI özelliklerini tanımlama.
- Sonuçları sıralama.
- Geçerli verilerin değerini alma.
- CCI değeri ve sıfır çaprazlaması için koşulları ayarlama.
Zero Crossover CCI Strategy - Short programını oluşturmak için kodlama adımları:
//+------------------------------------------------------------------+ //| Zero crossover CCI Strategy - Short.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //Creating an array of prices double ArrayOfPrices[]; //Sorting price array from current data ArraySetAsSeries(ArrayOfPrices,true); //CCI properties Definition int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE); //Storing results CopyBuffer(CCIDef,0,0,3,ArrayOfPrices); //Getting value of current data double CCIValue = (ArrayOfPrices[0]); //CCI signals if(CCIValue < 0) Comment ("Zero crossover CCI - SHORT SIGNAL "); if(CCIValue < -100) Comment ("Zero crossover CCI - TAKE PROFIT"); } //+------------------------------------------------------------------+
Kılavuzdan Zero Crossover CCI Strategy - Short programını bulun:
"Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Zero Crossover CCI Strategy - Short programı (EA) grafiğe eklenecektir:
Zero Crossover CCI Strategy - Short programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:
Kârı al sinyali: CCI < -100 = Kârı al. Örnek:
Sonuç
CCI (Commodities Channel Index) göstergesi, ticaretimize faydalı olması için lehimize kullanılabilecek başka bir araçtır. Tabii ki, tüm stratejiler kapsamlı test ve optimizasyon gerektirir. Bu makale, yeni araca bir giriş olarak kabul edilebilir. Bu göstergenin ticaret amaçlarınız için uygun olup olmadığını görmek için bu bilgileri kullanabilirsiniz.
Bu makalede CCI göstergesinin ne olduğunu, ne anlama geldiğini, ne ölçtüğünü ve nasıl hesaplanabileceğini öğrendik. Göstergenin özünü daha iyi anlamanıza ve böylece yeni ticaret fikirleri bulmanıza yardımcı olabilecek hesaplama örneklerini analiz ettik.
Daha sonra, farklı piyasa koşullarına (yükseliş trendi, düşüş trendi ve yatay hareket) ve ek olarak sıfırın çaprazlanmasına dayalı olan bazı basit stratejileri ele aldık. Önceden de bahsettiğim gibi, CCI’a dayalı daha birçok farklı strateji vardır. Onları inceleyin ve ticaret tarzınıza en uygun olanı bulun, çünkü artık bunun için gerekli temellere sahipsiniz.
Devamında, ele aldığımız stratejilere dayanan programımızı yazmamıza yardımcı olacak planı nasıl tasarlayacağımızı öğrendik. Ardından, bu planlara dayalı olarak programın MQL5 kodunu yazdık. Ve nihai olarak, grafik üzerinde otomatik olarak sinyaller üreten, MetaTrader 5 işlem platformunda çalıştırılabilen bir programa sahip olduk.
Şunu bir kez daha hatırlatmak istiyorum ki, herhangi bir yeni stratejiyi canlı hesabınızda kullanmadan önce onu tam anlamıyla test etmeniz gerekir. Umarım bu makale ticaretinizi daha iyi hale getirmenize yardımcı olur ve size yeni fikirler sağlar. Hepinize kârlı ticaretler diliyorum!
MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal makale: https://www.mql5.com/en/articles/10592
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz