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

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

MetaTrader 5Ticaret | 28 Mart 2023, 09:45
538 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Giriş

En popüler teknik göstergelere dayalı ticaret sistemlerini nasıl oluşturacağımızı öğrendiğimiz serimizin yeni makalesine hoş geldiniz. Bu makalemizde yeni bir teknik aracı inceleyeceğiz: Ichimoku. Onu detaylı olarak ele alarak ticaretimizde bize fayda sağlayacak şekilde nasıl kullanabileceğimizi göreceğiz.

Bu amaçla aşağıdaki konular üzerinden ilerleyeceğiz:

  1. Ichimoku göstergesinin tanımı
  2. Ichimoku göstergesi stratejileri
  3. Ichimoku göstergesine dayalı ticaret sisteminin planı
  4. Ichimoku göstergesine dayalı ticaret sistemi
  5. Sonuç

“Ichimoku göstergesinin tanımı” bölümünde, göstergenin ne olduğunu, neyi ölçtüğünü, yapısının nelerden oluştuğunu ve manuel olarak nasıl hesaplandığını öğreneceğiz. Arkasındaki konsepti kavrayabilmek adına bu bölümde gösterge hakkında ayrıntılı olarak konuşacağız. Devamında, "Ichimoku göstergesi stratejileri" bölümünde, göstergenin bu arkasındaki konsepte dayanan bazı basit stratejileri ele alacağız. Ardından, “Ichimoku göstergesine dayalı ticaret sisteminin planı” bölümünde, bu stratejiler için ticaret sistemini oluştururken bize yardımcı olması adına ilgili her strateji için olmak üzere adım adım ifadeler içeren bir plan hazırlayacağız. Son olarak da makalenin en ilgi çekici bölümüne geçeceğiz - hazırladığımız plan çerçevesinde, MetaTrader 5 işlem platformunda kullanılmak üzere, ele aldığımız stratejilere dayalı olarak MQL5 dili aracılığıyla bir ticaret sistemi oluşturacağız.

Bu makale boyunca, kodlarımızı yazmak için MetaQuotes Language 5 (MQL5) programlama dilini ve MetaTrader 5 işlem platformunda yerleşik MetaEditor kod düzenleyicisini kullanacağız. MetaTrader 5'in nasıl kurulacağı ve MetaEditor’ın nasıl kullanılacağı hakkında daha fazla bilgi edinmek istiyorsanız, önceki makalelerimden birinde yer alan "MetaEditor'da MQL5 kodu yazma" bölümünü okuyabilirsiniz.

Konuyu daha iyi anlamanıza ve yeni fikirler bulmanıza büyük ölçüde yardımcı olacağından, bu makaledeki tüm okuduklarınızı kendi başınıza pratik yapmanızı tavsiye ederim.

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.

Ticaretimizde bize yararlı olabilecek yeni bir aracı daha öğrenmek adına konularımızı irdelemeye başlayalım.


Ichimoku göstergesinin tanımı

Bu bölümde, Ichimoku göstergesinin ne olduğunu, neyi ölçtüğünü, yapısının nelerden oluştuğunu ve manuel olarak nasıl hesaplandığını öğreneceğiz. Göstergeyi dikkatlice inceledikten sonra, onu ticaretimizde daha etkili bir şekilde kullanabileceğiz.

Ichimoku göstergesi Goichi Hosoda tarafından geliştirilmiştir. Bu gösterge, finansal enstrüman hakkında daha fazla bilgi edinmek amacıyla kullanılabilecek Japon teknik göstergelerinden biridir - trendin yönünü, momentumu, destek ve direnci ve ticaret sinyallerini belirlememize olanak tanır. Trend hakkında daha fazla bilgi edinmek istiyorsanız, daha önce yayınladığım bir makalemde yer alan "Trendin tanımı" bölümünü okuyabilirsiniz.

Beş çizgiye sahiptir:

  • Tenkan Sen
  • Kijun Sen
  • Senkou Span A
  • Senkou Span B
  • Chikou Span
Senkou Span A ve Senkou Span B çizgileri bulutu (Kumo) oluşturur.

Şimdi Ichimoku göstergesinin manuel olarak nasıl hesaplandığını görelim. Bu amaçla, Ichimoku göstergesinin her bir öğesinin nasıl hesaplandığını görmemiz gerekir.

Tenkan Sen = (9 periyodun en yükseği + 9 periyodun en düşüğü)/2

Kijun Sen = (26 periyodun en yükseği + 26 periyodun en düşüğü)/2

Senkou Span A = (Tenkan Sen + Kijun Sen)/2 ancak 26 periyot gelecekte çizilir

Senkou Span B = (52 periyodun en yükseği + 52 periyodun en düşüğü)/2 ancak 26 periyot gelecekte çizilir

Chikou Span = bugünün kapanışı ancak 26 periyot geçmişte çizilir

Günümüzde, MetaTrader 5 platformuyla standart olarak gelen hazır bir gösterge bulunduğundan, Ichimoku göstergesini manuel olarak hesaplamamıza gerek yoktur. Tek yapmamız gereken mevcut göstergeler listesinden onu seçmektir, devamında bizim tarafımızdan herhangi bir hesaplama yapılmadan grafikte görünecektir. Ichimoku göstergesini MetaTrader 5 platformunda bir grafiğe eklemek için Ekle --> Göstergeler --> Ichimoku Kinko Hyo yolunu izleyin.

Ichimoku Kinko Hyo, Ichimoku göstergesinin tam adıdır.

Ichimoku göstergesini ekleme

Gösterge seçildiğinde, aşağıdaki gösterge parametreleri penceresi açılacaktır:

Ichimoku göstergesi parametreleri

Bu pencerede, göstergenin istenilen parametreleri ayarlanır.

1- Tenkan Sen çizgisinin periyodu

2- Kijun Sen çizgisinin periyodu

3- Senkou Span B çizgisinin periyodu

Renkler sekmesinden de göstergenin istenilen stili ayarlanabilir:

Ichimoku göstergesi stili

1- Tenkan Sen çizgisinin rengi

1A- Tenkan Sen çizgisinin türü

1B- Tenkan Sen çizgisinin kalınlığı


2- Kijun Sen çizgisinin rengi

2A- Kijun Sen çizgisinin türü

2B- Kijun Sen çizgisinin kalınlığı


3- Chikou Span çizgisinin rengi

3A- Chikou Span çizgisinin türü

3B- Chikou Span çizgisinin kalınlığı


4- Yukarıya doğru hareket durumunda bulutun (yukarı Kumo) rengi

4A- Yukarıya doğru hareket durumunda bulutun (yukarı Kumo) stili

4B- Yukarıya doğru hareket durumunda bulutun (yukarı Kumo) kalınlığı


5- Aşağıya doğru hareket durumunda bulutun (aşağı Kumo) rengi

5A- Aşağıya doğru hareket durumunda bulutun (aşağı Kumo) stili

5B- Aşağıya doğru hareket durumunda bulutun (aşağı Kumo) kalınlığı


Gösterge için uygun seçenekleri ayarladıktan sonra gösterge aşağıdaki gibi grafiğe eklenecektir:

Grafikte Ichimoku göstergesi

Yukarıdaki grafikteki göstergeye bakacak olursak, mavi ve kırmızı çizgiler sırasıyla Tenkan Sen ve Kijun Sen’i, yeşil çizgi de 26 periyot geçmişte çizilen kapanış fiyatı olan Chikou Span’ı temsil etmektedir. Ayrıca 26 periyot gelecekte çizilen bulut da (Senkou Span A ve Senkou Span B) görünmektedir ve kırmızı rengindedir (aşağı Kumo), bu da bulutun aşağıya doğru hareket ettiği anlamına gelir.


Ichimoku göstergesi stratejileri

Bu bölümde, Ichimoku göstergesinin arkasındaki konsepte dayanan birkaç basit stratejiyi ele alacağız. Dört strateji hakkında konuşacağız. Birinci strateji (Ichimoku trend tanımlayıcı stratejisi) bize trendin yönü hakkında bilgi verecektir. İkinci strateji (Ichimoku trendin gücü stratejisi) bize trendin gücü hakkında bilgi verecektir. Üçüncü ve dördünce stratejiler ise (Ichimoku fiyat-Ki sinyali stratejisi ve Ichimoku Ten-Ki sinyali stratejisi) bize yükseliş veya düşüş sinyalinin varlığı hakkında bilgi verecektir.

Stratejilere başlamadan önce, her zaman hatırlattığım gibi burada da tekrar hatırlatmak istiyorum: herhangi bir yeni stratejiyi gerçek hesabınızda kullanmadan önce, onu tam anlamıyla test ettiğinizden emin olmalısınız. Karakterimize ve alışkanlıklarımıza bağlı olarak her birimizin kendi bireysel ticaret tarzımız vardır. Dolayısıyla, benim için uygun olabilecek bir şey, sizin için de uygun olacağı anlamına gelmez.

Buna ek olarak, stratejinin fikir veya konsept olarak sizin için uygun olduğunu düşünseniz bile, onun sizin için yararlı olabilmesi adına optimizasyona ihtiyacınız olabilir. Bu nedenle, herhangi bir stratejiyi gerçek hesapta kullanmadan önce, demo hesapta test etmeniz ve sizin için yararlı olup olmayacağını görmeniz çok önemlidir.

  • Birinci strateji: Ichimoku trend tanımlayıcı:

Bu strateji bize trendin yönü hakkında yükseliş trendi veya düşüş trendi şeklinde bilgi verecektir. Bunu yapmak için şu üç değeri kontrol edeceğiz: mevcut kapanış fiyatı, mevcut Senkou Span A değeri ve mevcut Senkou Span B değeri. Mevcut kapanış fiyatı mevcut Senkou Span B değerinden yüksekse ve aynı zamanda mevcut Senkou Span A değerinden de yüksekse, bu yükseliş trendi olacaktır. Tersi şekilde, mevcut kapanış fiyatı mevcut Senkou Span B değerinden düşükse ve aynı zamanda mevcut Senkou Span A değerinden de düşükse, bu da düşüş trendi olacaktır.

Mevcut kapanış fiyatı > Mevcut Senkou Span B ve Mevcut kapanış fiyatı > Mevcut Senkou Span A --> Yükseliş trendi

Mevcut kapanış fiyatı < Mevcut Senkou Span B ve Mevcut kapanış fiyatı < Mevcut Senkou Span A --> Düşüş trendi

  • İkinci strateji: Ichimoku trendin gücü:

Bu strateji bize trendin gücü hakkında yükseliş trendi güçlü veya düşüş trendi güçlü şeklinde bilgi verecektir. Bunu yapmak için şu üç değeri kontrol edeceğiz: mevcut Senkou Span A değeri, önceki Senkou Span A değeri ve mevcut Senkou Span B değeri. Mevcut Senkou Span A değeri önceki Senkou Span A değerinden yüksekse ve aynı zamanda mevcut Senkou Span B değerinden de yüksekse, bu yükseliş trendi güçlü olacaktır. Tersi şekilde, mevcut Senkou Span A değeri önceki Senkou Span A değerinden düşükse ve aynı zamanda mevcut Senkou Span B değerinden de düşükse, bu da düşüş trendi güçlü olacaktır.

Mevcut Senkou Span A > Önceki Senkou Span A ve Mevcut Senkou Span A > Mevcut Senkou Span B --> Yükseliş trendi güçlü

Mevcut Senkou Span A < Önceki Senkou Span A ve Mevcut Senkou Span A < Mevcut Senkou Span B --> Düşüş trendi güçlü 

  • Üçüncü strateji: Ichimoku fiyat-Ki sinyali:

Bu strateji bize yükseliş veya düşüş sinyalinin varlığı hakkında bilgi verecektir. Bunu yapmak için şu iki değeri kontrol edeceğiz: mevcut kapanış fiyatı ve mevcut Kijun Sen değeri. Mevcut kapanış fiyatı mevcut Kijun Sen değerinden yüksekse, bu yükseliş sinyali olacaktır. Tersi şekilde, mevcut kapanış fiyatı mevcut Kijun Sen değerinden düşükse, bu da düşüş sinyali olacaktır.

Mevcut kapanış fiyatı > Mevcut Kijun Sen --> Yükseliş sinyali

Mevcut kapanış fiyatı < Mevcut Kijun Sen --> Düşüş sinyali

  • Dördüncü strateji: Ichimoku Ten-Ki sinyali:

Bu strateji de yine bize yükseliş veya düşüş sinyalinin varlığı hakkında bilgi verecektir. Bunu yapmak için şu iki değeri kontrol edeceğiz: mevcut Tenkan Sen değeri ve mevcut Kijun Sen değeri. Mevcut Tenkan Sen değeri mevcut Kijun Sen değerinden yüksekse, bu yükseliş sinyali olacaktır. Tersi şekilde, mevcut Tenkan Sen değeri mevcut Kijun Sen değerinden düşükse, bu da düşüş sinyali olacaktır.

Mevcut Tenkan Sen > Mevcut Kijun Sen --> Yükseliş sinyali

Mevcut Tenkan Sen < Mevcut Kijun Sen --> Düşüş sinyali


Ichimoku göstergesine dayalı ticaret sisteminin planı

Bu bölümde, ele aldığımız her strateji için olmak üzere adım adım ifadeler içeren bir plan hazırlayacağız. Bu adımı bir ticaret sistemi oluşturma sürecindeki en önemli adım olarak görüyorum çünkü oluşturacağımız bu plan, ticaret sisteminin kodunu yazarken bize bir kılavuz olarak hizmet edecektir.

  • Birinci strateji: Ichimoku trend tanımlayıcı:

Bu stratejiye göre, ticaret sistemi her tikte mevcut kapanış fiyatını, mevcut Senkou Span A değerini ve mevcut Senkou Span B değerini kontrol etmelidir. Ticaret sistemi daha sonra bu değerleri stratejinin koşullarına uygun şekilde karşılaştırarak ilgili sonucu grafik üzerinde yorum olarak yazmalıdır. Mevcut kapanış fiyatı mevcut Senkou Span B değerinden yüksekse ve aynı zamanda mevcut Senkou Span A değerinden de yüksekse, grafik üzerinde yükseliş trendi yorumu yazılmalıdır. Tersi şekilde, mevcut kapanış fiyatı mevcut Senkou Span B değerinden düşükse ve aynı zamanda mevcut Senkou Span A değerinden de düşükse, bu sefer de grafik üzerinde yükseliş trendi yorumu yazılmalıdır.

Ichimoku trend tanımlayıcı planı

  • İkinci strateji: Ichimoku trendin gücü:

Bu stratejiye göre, ticaret sistemi her tikte mevcut Senkou Span A değerini, önceki Senkou Span A değerini ve mevcut Senkou Span B değerini kontrol etmelidir. Ticaret sistemi daha sonra bu değerleri stratejinin koşullarına uygun şekilde karşılaştırarak ilgili sonucu grafik üzerinde yorum olarak yazmalıdır. Mevcut Senkou Span A değeri önceki Senkou Span A değerinden yüksekse ve aynı zamanda mevcut Senkou Span B değerinden de yüksekse, grafik üzerinde yükseliş trendi güçlü yorumu yazılmalıdır. Tersi şekilde, mevcut Senkou Span A değeri önceki Senkou Span A değerinden düşükse ve aynı zamanda mevcut Senkou Span B değerinden de düşükse, bu sefer de grafik üzerinde düşüş trendi güçlü yorumu yazılmalıdır.

Ichimoku trendin gücü planı

  • Üçüncü strateji: Ichimoku fiyat-Ki sinyali:

Bu stratejiye göre, ticaret sistemi her tikte mevcut kapanış fiyatını ve mevcut Kijun Sen değerini kontrol etmelidir. Ticaret sistemi daha sonra bu değerleri stratejinin koşullarına uygun şekilde karşılaştırarak ilgili sonucu grafik üzerinde yorum olarak yazmalıdır. Mevcut kapanış fiyatı mevcut Kijun Sen değerinden yüksekse, grafik üzerinde yükseliş sinyali yorumu yazılmalıdır. Tersi şekilde, mevcut kapanış fiyatı mevcut Kijun Sen değerinden düşükse, bu sefer de grafik üzerinde düşüş sinyali yorumu yazılmalıdır.

Ichimoku fiyat-Ki sinyali planı

  • Dördüncü strateji: Ichimoku Ten-Ki sinyali:

Bu stratejiye göre, ticaret sistemi her tikte mevcut Tenkan Sen değerini ve mevcut Kijun Sen değerini kontrol etmelidir. Ticaret sistemi daha sonra bu değerleri stratejinin koşullarına uygun şekilde karşılaştırarak ilgili sonucu grafik üzerinde yorum olarak yazmalıdır. Mevcut Tenkan Sen değeri mevcut Kijun Sen değerinden yüksekse, grafik üzerinde yükseliş sinyali yorumu yazılmalıdır. Tersi şekilde, mevcut Tenkan Sen değeri mevcut Kijun Sen değerinden düşükse, bu sefer de grafik üzerinde düşüş sinyali yorumu yazılmalıdır.

Ichimoku Ten-Ki sinyali planı

Ichimoku göstergesine dayalı ticaret sistemi

Bu bölümde, hazırladığımız plan çerçevesinde ele aldığımız stratejilere dayalı olarak bir ticaret sistemi oluşturacağız.

Stratejilerimizin programlarına temel olması adına tüm Ichimoku değerlerini grafik üzerinde yorum olarak görüntüleyecek basit bir program yazarak başlayalım:

Indicators/Trend.mqh dosyası için #include komutunu yerleştiriyoruz ve Ichimoku göstergesinin değerlerini elde etmek için CiIchimoku sınıfını kullanıyoruz.

#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;

Void OnInit() aracılığıyla, göstergeyi çağırıyoruz ve Tenkan Sen, Kijun Sen, Senkou Span A, Senkou Span B ve Chikou Span değerlerine double türünde değişkenler oluşturuyoruz.

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

Bu değerleri, her bir değer ayrı bir satırda olacak şekilde grafik üzerinde yorum olarak görüntülüyoruz.

   Comment("Tenkan Sen Value is: ",TenkanVal,"\n",
           "Kaijun Sen Value is: ",KijunVal,"\n",
           "Senkou Span A Value is: ", SpanAVal,"\n",
           "Senkou Span B Value is: ",SpanBVal,"\n",
           "Chikou Span Value is: ",ChikouVal);

Ichimoku göstergesinin mevcut değerlerini grafikte yorum olarak görüntüleyen programın kodu aşağıdadır:

//+------------------------------------------------------------------+
//|                                       Simple Ichimoku 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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   Comment("Tenkan Sen Value is: ",TenkanVal,"\n",
           "Kaijun Sen Value is: ",KijunVal,"\n",
           "Senkou Span A Value is: ", SpanAVal,"\n",
           "Senkou Span B Value is: ",SpanBVal,"\n",
           "Chikou Span Value is: ",ChikouVal);
  }
//+------------------------------------------------------------------+

Derledikten sonra, programın dosyasını Kılavuz penceresinden bulabiliriz:

Kılavuz - Simple Ichimoku system

Programa çift tıklayarak veya onu grafiğe sürükleyerek başlatıyoruz. Devamında, aşağıdaki pencere açılacaktır:

Simple Ichimoku system penceresi

Tamama tıkladıktan sonra, program aşağıdaki gibi grafiğe eklenecektir:

Grafiğe eklenmiş Simple Ichimoku system

Böylece, program Ichimoku göstergesinin mevcut değerlerini grafik üzerinde yorum olarak gösterecektir:

Grafikte Ichimoku göstergesinin mevcut değerleri

Yukarıdaki görüntüden görebileceğimiz gibi, program aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Mevcut Tenkan Sen değeri
  • Mevcut Kaijun Sen değeri
  • Mevcut Senkou Span A değeri
  • Mevcut Senkou Span B değeri
  • Mevcut Chikou Span değeri
Bunlar, Ichimoku göstergesinin tüm öğelerinin değerleridir.
  • Birinci strateji: Ichimoku trend tanımlayıcı:

Bu stratejiye dayalı Uzman Danışmanın tam kodu aşağıda gösterilmektedir:

//+------------------------------------------------------------------+
//|                                    Ichimoku trend identifier.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlRates PArray[];
   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);


   if(PArray[0].close>SpanBVal&&PArray[0].close>SpanAVal)
     {
      Comment("The trend is up","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

   if(PArray[0].close<SpanBVal&&PArray[0].close<SpanAVal)
     {
      Comment("The trend is down","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }
  }
//+------------------------------------------------------------------+

Bu koddaki farklılıklar şunlardır:

Fiyat bilgilerini depolayan MqlRates fonksiyonunu kullanarak bir fiyat dizisi oluşturuyoruz.

MqlRates PArray[];

Veriler için int türünde değişken oluşturulduktan sonra, CopyRates fonksiyonu kullanılarak fiyat dizisini dolduruyoruz: CopyRates fonksiyonu MqlRates'in geçmiş verilerini alır.

int Data=CopyRates(_Symbol,_Period,0,1,PArray);

Trendin yönüne bağlı olarak Ichimoku trend tanımlayıcı stratejisinin koşulları,

Yükseliş trendi durumunda:

   if(PArray[0].close>SpanBVal&&PArray[0].close>SpanAVal)
     {
      Comment("The trend is up","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

Düşüş trendi durumunda:

   if(PArray[0].close<SpanBVal&&PArray[0].close<SpanAVal)
     {
      Comment("The trend is down","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

Uzman Danışmanın kodunu derliyoruz, böylece onu MetaTrader 5 terminalinde Kılavuz penceresinde bulabiliriz:

Kılavuz - Ichimoku trend identifier

Programa çift tıklayarak veya onu grafiğe sürükleyerek başlatıyoruz. Devamında, aşağıdaki pencere açılacaktır:

Ichimoku trend identifier penceresi

Tamama tıkladıktan sonra, program aşağıdaki gibi grafiğe eklenecektir:

Grafiğe eklenmiş Ichimoku trend identifier

Devamında program onun için belirlediğimiz koşullara uygun olarak yorumları görüntüleyecektir:

Yükseliş trendi:

Ichimoku trend identifier - Yükseliş trendi

Yukarıdaki görüntüden görebileceğimiz gibi, program yükseliş trendi koşulunda aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Yükseliş trendi
  • Mevcut kapanış fiyatı
  • Mevcut Tenkan Sen değeri
  • Mevcut Kaijun Sen değeri
  • Mevcut Senkou Span A değeri
  • Mevcut Senkou Span B değeri
  • Mevcut Chikou Span değeri

Düşüş trendi:

Ichimoku trend identifier - Düşüş trendi

Yukarıdaki görüntüden görebileceğimiz gibi, program düşüş trendi koşulunda aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Düşüş trendi
  • Mevcut kapanış fiyatı
  • Mevcut Tenkan Sen değeri
  • Mevcut Kaijun Sen değeri
  • Mevcut Senkou Span A değeri
  • Mevcut Senkou Span B değeri
  • Mevcut Chikou Span değeri

  • İkinci strateji: Ichimoku trendin gücü:

Bu stratejiye dayalı Uzman Danışmanın tam kodu aşağıda gösterilmektedir:

//+------------------------------------------------------------------+
//|                                      Ichimoku trend strength.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanAPrevVal= Ichimoku.SenkouSpanA(-25);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(SpanAVal>SpanAPrevVal&&SpanAVal>SpanBVal)
     {
      Comment("The trend is up and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

   if(SpanAVal<SpanAPrevVal&&SpanAVal<SpanBVal)
     {
      Comment("The trend is down and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }
  }
//+------------------------------------------------------------------+

Bu koddaki farklılıklar şunlardır:

Güçlü yükseliş trendi durumunda:

   if(SpanAVal>SpanAPrevVal&&SpanAVal>SpanBVal)
     {
      Comment("The trend is up and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

Güçlü düşüş trendi durumunda:

   if(SpanAVal<SpanAPrevVal&&SpanAVal<SpanBVal)
     {
      Comment("The trend is down and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

Derledikten sonra, programın dosyasını Kılavuz penceresinden bulabiliriz:

Kılavuz - Ichimoku trend strength

Programa çift tıklayarak veya onu grafiğe sürükleyerek başlatıyoruz. Devamında, aşağıdaki pencere açılacaktır:

Ichimoku trend strength penceresi

Tamam düğmesine bastıktan sonra program grafiğe eklenecektir:

Grafiğe eklenmiş Ichimoku trend strength

Devamında program onun için belirlediğimiz koşullara uygun olarak yorumları görüntüleyecektir. Yükseliş trendi güçlü:

Ichimoku trend strength - Yükseliş trendi güçlü

Yukarıdaki görüntüden görebileceğimiz gibi, program yükseliş trendi güçlü koşulunda aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Yükseliş trendi güçlü
  • Mevcut Tenkan Sen değeri
  • Mevcut Kaijun Sen değeri
  • Önceki Senkou Span A değeri
  • Mevcut Senkou Span A değeri
  • Mevcut Senkou Span B değeri
  • Mevcut Chikou Span değeri

Düşüş trendi güçlü:

 Ichimoku trend strength - Düşüş trendi güçlü

Yukarıdaki görüntüden görebileceğimiz gibi, program düşüş trendi güçlü koşulunda aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Düşüş trendi güçlü
  • Mevcut Tenkan Sen değeri
  • Mevcut Kaijun Sen değeri
  • Önceki Senkou Span A değeri
  • Mevcut Senkou Span A değeri
  • Mevcut Senkou Span B değeri
  • Mevcut Chikou Span değeri

  • Üçüncü strateji: Ichimoku fiyat-Ki sinyali:

Bu stratejiye dayalı Uzman Danışmanın tam kodu aşağıda gösterilmektedir:

//+------------------------------------------------------------------+
//|                                     Ichimoku Price-Ki signal.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlRates PArray[];

   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(PArray[0].close>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

   if(PArray[0].close<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }
  }
//+------------------------------------------------------------------+

Bu koddaki farklılıklar şunlardır:

Fiyat dizisinin oluşturulması ve doldurulması:

   MqlRates PArray[];

   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

 Ichimoku fiyat-Ki stratejisinin yükseliş sinyali koşulu:

   if(PArray[0].close>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

Ichimoku fiyat-Ki stratejisinin düşüş sinyali koşulu:

   if(PArray[0].close<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

Derledikten sonra, programın dosyasını Kılavuz penceresinden bulabiliriz:

Kılavuz - Ichimoku Price-Ki signal

Programa çift tıklayarak veya onu grafiğe sürükleyerek başlatıyoruz. Devamında, aşağıdaki pencere açılacaktır:

Ichimoku Price-Ki signal penceresi

Tamama tıkladıktan sonra, program aşağıdaki gibi grafiğe eklenecektir:

Grafiğe eklenmiş Ichimoku Price-Ki signal

Devamında program onun için belirlediğimiz koşullara uygun olarak yorumları görüntüleyecektir. Yükseliş sinyali:

Ichimoku Price-Ki signal - Yükseliş sinyali

Yukarıdaki görüntüden görebileceğimiz gibi, program yükseliş sinyali koşulunda aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Yükseliş sinyali
  • Mevcut kapanış fiyatı
  • Mevcut Kijun Sen değeri

Düşüş sinyali:

Ichimoku Price-Ki signal - Düşüş sinyali

Yukarıdaki görüntüden görebileceğimiz gibi, program düşüş sinyali koşulunda aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Düşüş sinyali
  • Mevcut kapanış fiyatı
  • Mevcut Kijun Sen değeri

  • Dördüncü strateji: Ichimoku Ten-Ki sinyali:

Bu stratejiye dayalı Uzman Danışmanın tam kodu aşağıda gösterilmektedir:

//+------------------------------------------------------------------+
//|                                       Ichimoku ten-Ki signal.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(TenkanVal>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

   if(TenkanVal<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }
  }
//+------------------------------------------------------------------+

Bu koddaki farklılıklar, Ichimoku Ten-Ki sinyali stratejisinin koşullarıdır:

Yükseliş sinyali durumunda:

   if(TenkanVal>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

Düşüş sinyali durumunda:

   if(TenkanVal<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

Derledikten sonra, programın dosyasını Kılavuz penceresinden bulabiliriz:

Kılavuz - Ichimoku ten-Ki signal

Programa çift tıklayarak veya onu grafiğe sürükleyerek başlatıyoruz. Devamında, aşağıdaki pencere açılacaktır:

Ichimoku ten-Ki signal penceresi

Tamam düğmesine bastıktan sonra program grafiğe eklenecektir:

Grafiğe eklenmiş Ichimoku ten-Ki signal

Devamında program onun için belirlediğimiz koşullara uygun olarak yorumları görüntüleyecektir. Yükseliş sinyali:

Ichimoku ten-Ki signal - Yükseliş sinyali

Yukarıdaki görüntüden görebileceğimiz gibi, program yükseliş sinyali koşulunda aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Yükseliş sinyali
  • Mevcut Tenkan Sen değeri
  • Mevcut Kijun Sen değeri

Düşüş sinyali:

Ichimoku ten-Ki signal - Düşüş sinyali   

Yukarıdaki görüntüden görebileceğimiz gibi, program yükseliş sinyali koşulunda aşağıdaki değerleri grafikte yorum olarak görüntülemektedir:

  • Düşüş sinyali
  • Mevcut Tenkan Sen değeri
  • Mevcut Kijun Sen değeri


Sonuç

Ichimoku göstergesi, grafiğe birden fazla perspektiften bakmamıza olanak tanıyan kapsamlı bir sistem olarak kullanılabilir: trendin yönü, trendin gücü, yükseliş ve düşüş sinyalleri. Bu nedenle, doğru kullanıldığında ticaret sonuçlarını iyileştirebilen kullanışlı bir ticaret aracıdır - grafiği tek bir göstergeyle birden çok perspektifle inceleyerek daha bilinçli kararlar verebiliriz.

Bu makalede bu gösterge hakkında olabildiğince çok şey öğrendiğimizi düşünüyorum. Ancak eminim ki daha fazla bilgiye ihtiyaç duyacaksınız çünkü burada yalnızca temel bilgilere odaklandık. Dolayısıyla, onu ticaretinizde kullanmak istiyorsanız, onun üzerinde daha fazla araştırma ve çalışma yapmanızı tavsiye ederim.

Makale boyunca Ichimoku göstergesiyle ilgili birçok konuyu ele aldık. İlk olarak, Ichimoku göstergesinin ne olduğu, neyi ölçtüğü, yapısının nelerden oluştuğu ve manuel olarak nasıl hesaplandı hakkında konuştuk. Devamında, arkasındaki konsepte dayanan bazı basit stratejileri ele alarak onu ticaretimizde nasıl kullanabileceğimizi gördük:

  • Ichimoku trend tanımlayıcı: trendin yönü hakkında yükseliş trendi veya düşüş trendi şeklinde bilgi almak için.
  • Ichimoku trendin gücü: trendin gücü hakkında yükseliş trendi güçlü veya düşüş trendi güçlü şeklinde bilgi almak için.
  • Ichimoku fiyat-Ki sinyali: yükseliş veya düşüş sinyali şeklinde bilgi almak için.
  • Ichimoku Ten-Ki sinyali: diğer bir çaprazlama yöntemiyle yükseliş veya düşüş sinyali şeklinde bilgi almak için.

Sonrasında, ele aldığımız stratejiler için ticaret sistemini oluştururken bize yardımcı olması adına ilgili her strateji için olmak üzere adım adım ifadeler içeren bir plan hazırladık. Ardından da hazırladığımız plan çerçevesinde, MetaTrader 5 işlem platformunda kullanılmak üzere, ele aldığımız stratejilere dayalı olarak MQL5 dili aracılığıyla bir ticaret sistemi oluşturduk. Umarım bu makale süresince öğrendiklerinizi kendiniz başınıza pratik yapmaya çalışmışsınızdır, çünkü pratik yapmak herhangi bir öğrenme sürecindeki en önemli faktörlerden biridir. Ve daha önce de söylediğim gibi şunu tekrar hatırlatmak istiyorum: herhangi bir stratejiyi bir gerçek hesapta kullanmadan önce onu tam anlamıyla test ettiğinizden emin olmalısınız. Başkaları için yararlı olan bir şey, sizin için mutlaka yararlı olmayabilir.

Algoritmik ticaret, zarar meydana getirebilecek insan duygularından kaçınmanıza yardımcı olarak ticaretimizi geliştirmemize olanak tanıyan harika bir araçtır. Duyguların ticarette büyük bir rol oynadığını ve başarısızlıklara neden olabileceğini bilmelisiniz. Dolayısıyla, ticaret işlemlerimizi kazanan stratejimize dayalı olarak otomatik şekilde gerçekleştirebilecek bir araç bulduğumuzda, bu tam anlamıyla bir hazine olacaktır. Buna ek olarak, ticaret sistemimiz bizim için çalışırken başka faydalı şeyler yapabilmemiz için de bize zaman kalacaktır.

Umarım makale sizin için faydalı olur ve ticaret hedeflerinize ulaşmanıza yardım sağlar. Bu makaleyi beğendiyseniz ve buna benzer daha fazla makale okumak istiyorsanız, en popüler teknik göstergelere dayalı ticaret sistemlerinin nasıl geliştirileceğini öğrenme konulu bu serideki diğer makaleleri de okuyabilirsiniz. Bir sonraki makalede görüşmek üzere.

MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal makale: https://www.mql5.com/en/articles/11081

Williams %R göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? Williams %R göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
MetaTrader 5’te kullanılmak üzere MQL5 dili aracılığıyla en popüler teknik göstergelere dayalı ticaret sistemleri geliştirdiğimiz serimizin yeni makalesindeyiz. Bu makalemizde, Williams %R göstergesiyle basit bir ticaret sisteminin nasıl geliştirileceğini öğreneceğiz.
Sıfırdan bir ticaret Uzman Danışmanı geliştirme (Bölüm 15): İnternetteki verilere erişme (I) Sıfırdan bir ticaret Uzman Danışmanı geliştirme (Bölüm 15): İnternetteki verilere erişme (I)
MetaTrader 5’te internetteki verilere nasıl erişilir? İnternet üzerinde devasa miktarda bilginin yer aldığı çok sayıda web sitesi vardır. Bilinmesi gereken, nereye bakılacağı ve bu bilgilerin en iyi şekilde nasıl kullanılacağıdır.
CCI göstergesi: Yeni hesaplama yöntemleri CCI göstergesi: Yeni hesaplama yöntemleri
Bu makalede, CCI göstergesini yeni hesaplama yöntemleriyle iyileştirmeye çalışacağız.
Sıfırdan bir ticaret Uzman Danışmanı geliştirme (Bölüm 14): Hacim profili ekleme (II) Sıfırdan bir ticaret Uzman Danışmanı geliştirme (Bölüm 14): Hacim profili ekleme (II)
Bugün Uzman Danışmanımıza birkaç özellik daha ekleyeceğiz. Bu makalenin size bilgilerin sunumu konusunda yeni fikirler ve yöntemler sağlayacağını düşünüyorum. Aynı zamanda projelerinizdeki küçük kusurları düzeltmeniz sırasında da size yardımcı olacaktır.