English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Italiano
CCI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?

CCI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?

MetaTrader 5Ticaret | 28 Temmuz 2022, 10:01
226 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

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:

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:

MT5 terminali

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:

MQL açılışı

Veya MetaTrader 5 araç çubuğundaki IDE düğmesine de tıklayabilirsiniz:

MT5 IDE düğmesi

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:

CCI hesaplaması örneği sonuçları

  • 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:

CCI hesaplaması örneği sonuçları

  • 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:

CCI hesaplaması örneği sonuçları

  • Ş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

CCI hesaplaması örneği sonuçları

  • Ş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 göstergesini ekleme

CCI seçildikten sonra aşağıdaki pencere görüntülenecektir:

CCI göstergesi parametreleri

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:

Grafikte CCI göstergesi

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

                İkinci strateji: Sıfırı çaprazlama stratejisi:

                  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.

                            Birinci strateji: Piyasa yönüne göre:
                              • 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.

                                CCI yükseliş trendi planı

                                  • 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.

                                    CCI düşüş trendi planı

                                      • 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.

                                        CCI yatay hareket planı

                                          İkinci strateji: Sıfırı çaprazlama stratejisi:
                                            • 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.

                                              Sıfırı çaprazlama stratejisi - Alış planı

                                                • Satış 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 altına düştüğünde satış sinyali, devamında -100'ün altına düştüğünde de kârı al sinyali ver.

                                                  Sıfırı çaprazlama stratejisi - Satış planı

                                                  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:

                                                  1. Fiyat dizisi oluşturma.
                                                  2. Geçerli verilerden fiyat dizisini sıralama.
                                                  3. CCI özelliklerini tanımlama.
                                                  4. Sonuçları sıralama.
                                                  5. Geçerli verilerin değerini alma.
                                                  6. 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:

                                                  Kılavuz - Simple CCI System

                                                  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:

                                                  Simple CCI System penceresi

                                                  "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:

                                                  Grafiğe eklenmiş Simple CCI System 

                                                  Ş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:

                                                  1. Fiyat dizisi oluşturma.
                                                  2. Geçerli verilerden fiyat dizisini sıralama.
                                                  3. CCI özelliklerini tanımlama.
                                                  4. Sonuçları sıralama.
                                                  5. Geçerli verilerin değerini alma.
                                                  6. 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:

                                                  Kılavuz - Uptrend CCI Strategy

                                                  Yine programı çift tıklayarak veya grafiğe sürükleyip bırakarak açın. Şu pencere açılacaktır:

                                                  Uptrend CCI Strategy penceresi

                                                  "Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Uptrend CCI Strategy programı (EA) grafiğe eklenecektir:

                                                  Grafiğe eklenmiş Uptrend CCI Strategy

                                                  Uptrend CCI Strategy programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:

                                                  Uptrend CCI Strategy - Alış sinyali

                                                  • Düşüş trendi sırasında:

                                                  CCI < -100 = Satış

                                                  Aşağıdaki adımları kodlayacağız:

                                                  1. Fiyat dizisi oluşturma.
                                                  2. Geçerli verilerden fiyat dizisini sıralama.
                                                  3. CCI özelliklerini tanımlama.
                                                  4. Sonuçları sıralama.
                                                  5. Geçerli verilerin değerini alma.
                                                  6. 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:

                                                  Kılavuz - Downtrend CCI Strategy

                                                  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:

                                                  Downtrend CCI Strategy penceresi

                                                  "Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Downtrend CCI Strategy programı (EA) grafiğe eklenecektir:

                                                  Grafiğe eklenmiş Downtrend CCI Strategy

                                                  Downtrend CCI Strategy programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:

                                                  Downtrend CCI Strategy - Satış sinyali

                                                  • Yatay hareket sırasında:
                                                    • Alış sinyalleri için:

                                                  CCI < -100 = Alış

                                                  CCI > 100 = Kârı al

                                                  Adımlar:

                                                  1. Fiyat dizisi oluşturma.
                                                  2. Geçerli verilerden fiyat dizisini sıralama.
                                                  3. CCI özelliklerini tanımlama.
                                                  4. Sonuçları sıralama.
                                                  5. Geçerli verilerin değerini alma.
                                                  6. 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:

                                                  Kılavuz - Sideways CCI Strategy - Buy

                                                  Çift tıklayarak veya sürükleyip bırakarak açın. Sonrasında şu pencere açılacaktır:


                                                  Sideways CCI Strategy - Buy penceresi

                                                  "Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Sideways CCI Strategy - Buy programı (EA) grafiğe eklenecektir:

                                                  Grafiğe eklenmiş Sideways CCI Strategy - Buy

                                                  Sideways CCI Strategy - Buy programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:

                                                  Sideways CCI Strategy - Buy - Alış

                                                  Kârı al sinyali: CCI > 100 = Kârı al. Örnek:

                                                  Sideways CCI Strategy - Buy - TP

                                                    • Satış sinyalleri için:

                                                  CCI > 100 = Satış

                                                  CCI < -100 = Kârı al

                                                  Bunu aşağıdaki adımlarla kodlayacağız:

                                                  1. Fiyat dizisi oluşturma.
                                                  2. Geçerli verilerden fiyat dizisini sıralama.
                                                  3. CCI özelliklerini tanımlama.
                                                  4. Sonuçları sıralama.
                                                  5. Geçerli verilerin değerini alma.
                                                  6. 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:

                                                  Kılavuz - Sideways CCI Strategy - Short

                                                  Sideways CCI Strategy - Short programına çift tıklayarak veya grafik üzerine sürükleyip bırakarak açın. Sonrasında şu pencere açılacaktır:

                                                  Sideways CCI Strategy - Short penceresi

                                                  "Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Sideways CCI Strategy - Short programı (EA) grafiğe eklenecektir:

                                                  Grafiğe eklenmiş Sideways CCI Strategy - Short

                                                  Sideways CCI Strategy - Short programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:

                                                  Sideways CCI Strategy - Short - Satış

                                                  Kârı al sinyali: CCI < -100 = Kârı al. Örnek:

                                                  Sideways CCI Strategy - Short - TP

                                                  • İ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:

                                                  1. Fiyat dizisi oluşturma.
                                                  2. Geçerli verilerden fiyat dizisini sıralama.
                                                  3. CCI özelliklerini tanımlama.
                                                  4. Sonuçları sıralama.
                                                  5. Geçerli verilerin değerini alma.
                                                  6. 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:

                                                  Kılavuz - Zero Crossover CCI Strategy - Buy

                                                  Programa çift tıklayarak veya grafik üzerine sürükleyip bırakarak açın. Aşağıdaki pencere açılacaktır:

                                                  Kılavuz - Zero Crossover CCI Strategy - Buy penceresi


                                                  "Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Zero Crossover CCI Strategy - Buy programı (EA) grafiğe eklenecektir:

                                                  Grafiğe eklenmiş Zero Crossover CCI Strategy - Buy

                                                  Zero Crossover CCI Strategy - Buy programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:

                                                  Zero Crossover CCI Strategy - Buy - Alış

                                                  Kârı al sinyali: CCI > 100 = Kârı al. Örnek:

                                                  Zero Crossover CCI Strategy - Buy - TP

                                                    • Satış sinyali için:

                                                  CCI < 0 = Satış
                                                  CCI < -100 = Kârı al

                                                  Bunu aşağıdaki adımlarla kodlayacağız:

                                                  1. Fiyat dizisi oluşturma.
                                                  2. Geçerli verilerden fiyat dizisini sıralama.
                                                  3. CCI özelliklerini tanımlama.
                                                  4. Sonuçları sıralama.
                                                  5. Geçerli verilerin değerini alma.
                                                  6. 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:

                                                  Kılavuz - Zero Crossover CCI Strategy - Short

                                                  Programa çift tıklayarak veya grafik üzerine sürükleyip bırakarak açın. Aşağıdaki pencere açılacaktır:

                                                  Zero Crossover CCI Strategy - Short penceresi

                                                  "Algoritmik ticarete izin ver" seçeneğini etkinleştirip Tamama tıklayın, Zero Crossover CCI Strategy - Short programı (EA) grafiğe eklenecektir:

                                                  Grafiğe eklenmiş Zero Crossover CCI Strategy - Short

                                                  Zero Crossover CCI Strategy - Short programının sinyalleri ilgili stratejisine dayalı olarak grafik üzerinde görüntülenecektir:

                                                  Zero Crossover CCI Strategy - Short - Satış

                                                  Kârı al sinyali: CCI < -100 = Kârı al. Örnek:

                                                  Zero Crossover CCI Strategy - Short - TP

                                                  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

                                                  Bir grafikte birden fazla gösterge (Bölüm 06): MetaTrader 5'i bir RAD sistemine dönüştürme (II) Bir grafikte birden fazla gösterge (Bölüm 06): MetaTrader 5'i bir RAD sistemine dönüştürme (II)
                                                  Bir önceki makalemde size MetaTrader 5 nesnelerini kullanarak bir ticaret arayüzünün nasıl oluşturulacağını ve böylelikle platformun bir RAD sistemine nasıl dönüştürüleceğini göstermiştim. Sistem çok iyi çalışıyor, şüphesiz birçok okuyucu önerilen sistemde daha fazla işlevselliğe sahip olmak için bir kütüphane oluşturmayı düşünmüştür. Böylece, daha hoş ve kullanımı daha kolay bir arayüze sahip daha sezgisel bir Uzman Danışman geliştirmek mümkün olacaktır.
                                                  Uzman Danışmanların Neden Başarısız Olduğunun Bir Analizi Uzman Danışmanların Neden Başarısız Olduğunun Bir Analizi
                                                  Bu makalede, uzman danışmanların neden zamanın bazı bölgelerinde iyi performans, bazı bölgelerinde kötü performans gösterebildiğini daha iyi anlamak adına döviz çiftleriyle ilgili verileri analiz edeceğiz.
                                                  MACD göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? MACD göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
                                                  Makale serimizin bu bölümünde de en popüler teknik göstergelerden biri olan Moving Average Convergence Divergence (MACD) göstergesine dayalı bir ticaret sisteminin nasıl tasarlanacağını öğreneceğiz.
                                                  RSI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? RSI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
                                                  Bu makalede, ticaret dünyasının en popüler göstergelerden biri olan RSI'ı sizlerle paylaşacağım. Bu göstergeyi kullanarak bir ticaret sisteminin nasıl tasarlayacağını öğreneceğiz.