English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Italiano
preview
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 5Ticaret | 31 Mart 2023, 10:53
421 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Giriş

En popüler teknik göstergelere dayalı ticaret sistemleri geliştirdiğimiz serimizin bu yeni makalesinde, Williams %R göstergesine odaklanacağız. Onu ayrıntılı olarak inceleyeceğiz ve arkasındaki ana fikri iyi bir şekilde kavrayacağız. Eğer bir teknik göstergenin köklerine inerek özünü anlarsak, sadece onu etkili bir şekilde kullanmakla kalmayız, aynı zamanda onla ya da ilişkili herhangi bir teknik araçla ilgili olarak yeni içgörüler veya fikirler keşfedebiliriz; bu da ticaretimizde daha iyi ve istikrarlı sonuçlar elde etmemize yardımcı olacaktır. Dolayısıyla her şeyi daha iyi anlamak adına öğreneceğimiz materyalin köklerine inerek özünü anladığımız bir yaklaşım kullanıyorum.

Williams %R göstergesiyle çalışırken aşağıdaki konular üzerinde ilerleyeceğiz:

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

“Williams %R göstergesinin tanımı” başlıklı ilk bölümde, Williams %R göstergesinin ne olduğunu, neyi ölçtüğünü ve manuel olarak nasıl hesaplandığını öğreneceğiz. Daha sonra, “Williams %R göstergesi stratejileri” bölümünde, göstergenin arkasındaki konsepte dayanan bazı basit stratejileri ele alarak onu ticaretimizde bize fayda sağlayacak şekilde nasıl kullanabileceğimizden bahsedeceğiz. Devamında, “Williams %R 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 “Williams %R göstergesine dayalı ticaret sistemi” adlı en ilgi çekici bölümüne geçeceğiz - hazırladığımız plan çerçevesinde, ele aldığımız stratejilere dayalı olarak bir ticaret sistemi oluşturacağız.

Tüm bu konulardan sonra, Williams %R göstergesinin temellerini iyi bir şekilde anlamış ve MetaTrader 5’te kullanılmak üzere ona dayalı otomatik sinyaller üreten bir ticaret sisteminin nasıl oluşturulacağını öğrenmiş olacağız. Okuduğunuz bilgilerin kalıcı olmasını sağlamak için makaledeki her şeyi kendi başınıza uygulayarak pratik yapmanızı tavsiye ederim. Ayrıca her zaman olduğu gibi şu önemli detayı tekrar hatırlatmak istiyorum: herhangi bir stratejiyi gerçek hesabınızda kullanmadan önce, sizin için yararlı olup olmayacağını bilmek adına tam anlamıyla test ettiğinizden emin olmalısını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.

Sorumluluk reddi: Sağlanan tüm bilgiler 'olduğu gibi' yalnızca bilgilendirme amaçlıdır, ticaret tavsiyesi değildir. Bu bilgiler herhangi bir sonucu garanti etmemektedir. Bu materyalleri herhangi bir işlem hesabında kullanırsanız, ortaya çıkabilecek tüm riskler size ait olacaktır.

Şimdi, ticaretimizde daha iyi sonuçlar elde etmek amacıyla öğrenme yolculuğumuzda bir ilerleme noktası olabilecek yeni bir aracı incelemeye başlayalım.


Williams %R göstergesinin tanımı

Williams %R (WPR) göstergesi, Larry Williams tarafından geliştirilmiş bir momentum göstergesidir. WPR'ın Stochastic Oscillator’ın tersi olduğunu söyleyebiliriz, aralarındaki fark nasıl ölçeklendirildikleridir. Ayrıca WPR, Stochastic Oscillator ile aynı şekilde de kullanılabilir. Stochastic Oscillator göstergesine ilişkin bilgi birikiminizi artırmak istiyorsanız, “Stochastic Oscillator göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?” adlı makalemi okuyabilirsiniz. WPR, kapanış fiyatı ile en yüksek - en düşük aralığı arasındaki ilişkiyi ölçer. 0 ile -100 arasında salınır. WPR bir momentum göstergesi olduğundan, trendin gücünü ölçmek için kullanılabilir. 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. Göstergedeki önemli seviyeleri izlemek anlamlı olabilir: -80, -20 ve -50 orta noktası.

Bu göstergeyi; fiyat hareketini, grafik modellerini, hacmi vb. kullanan başka bir teknik araçla kombine etmeye çalışmak önemlidir. Bu makalede de “Williams %R göstergesi stratejileri” bölümünde bunu yapacağız. Çünkü bu sayede üzerinde çalıştığımız ticaret enstrümanına daha fazla perspektiften bakabileceğiz ve ticaretimizde daha isabetli kararlar verebileceğiz.

Şimdi WPR göstergesinin nasıl hesaplandığını görelim. Göstergeyi hesaplamak için aşağıdaki adımları izlememiz gerekiyor:

  1. Belirlenen periyodun en yüksek fiyatını al.
  2. Belirlenen periyodun en düşük fiyatını al.
  3. WPR = (periyodun en yüksek fiyatı - mevcut kapanış fiyatı)/(periyodun en yüksek fiyatı - periyodun en düşük fiyatı) * (-100)

Şimdi bu hesaplama adımlarını bir örnek üzerinde görelim. Bir finansal enstrüman için aşağıdaki verilere sahip olduğumuzu varsayalım:

Periyot Yüksek Düşük Kapanış
1 1.078 1.0678 1.0733
2 1.0788 1.0726 1.0777
3 1.0766 1.0697 1.0727
4 1.0733 1.0662 1,0724
5 1.074 1.0642 1.068
6 1.0749 1.0661 1.0734
7 1.0698 1.0558 1.0689
8 1.0599 1.0532 1.056
9 1.0608 1.046 1.0586
10 1.0565 1.046 1.0466
11 1.0556 1.0429 1.0547
12 1.0444 1.0388 1.0431
13 1.0421 1.035 1.0411
14 1.053 1.0353 1.0379
15 1,0577 1.0502 1.0511
16 1.0586 1.0525 1.0527
17 1.0594 1.0495 1.0555
18 1.0601 1.0482 1.0551
19 1.0642 1.0493 1.054
20 1.0632 1.0505 1.0621
21 1.0579 1.0491 1.052
22 1.0567 1.0491 1.051
23 1.0602 1.0381 1.0547
24 1.0509 1.0359 1.0443
25 1.0486 1.0396 1.0414
26 1.052 1.04 1.0408
27 1.0644 1.0505 1.0515
28 1.0775 1.0611 1.0614
29 1.0749 1.0671 1.0714
30 1.0715 1.0652 1.0699

WPR göstergesini hesaplamak adına yukarıda bahsettiğimiz adımları takip edeceğiz: Periyot için varsayılan ayar 14’tür.

1- Son 14 periyodun en yüksek fiyatını belirleyelim.

WPR göstergesini hesaplama örneği

2- Son 14 periyodun en düşük fiyatını belirleyelim.

WPR göstergesini hesaplama örneği

3- WPR göstergesinin değerini elde edelim.

Böylece WPR göstergesini manuel olarak hesapladık. 0 ile -100 seviyeleri arasında dalgalanan bir çizgiye sahip olacağız. Günümüzde, MetaTrader 5 platformuyla standart olarak gelen hazır bir gösterge bulunduğundan, WPR'ı manuel olarak hesaplamamıza gerek yoktur. Tek yapmamız gereken mevcut göstergeler arasından onu seçmektir:

WPR göstergesini ekleme

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

WPR göstergesi parametreleri

1- İstenen periyodu ayarlamak için.

2- WPR çizgisinin rengini ayarlamak için.

3- WPR çizgisinin stilini ayarlamak için.

4- WPR çizgisinin kalınlığını ayarlamak için.

Aşağıda gösterildiği gibi Seviyeler sekmesinden de göstergenin seviyeleri ayarlanabilir:

WPR göstergesi seviyeleri

Yukarıdaki görüntüde -80 ve -20 seviyelerine sahip olduğumuzu görüyoruz. Ek olarak, analizde faydalı olabilecek diğer seviyeler de eklenebilir, örneğin -50 seviyesi. Ekleye tıklanarak grafikteki gösterge penceresinde görüntülenecek yeni bir seviye eklenebilir.

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

Grafikte WPR göstergesi

Yukarıdaki grafikteki göstergeye bakacak olursak, momentumu yansıtan siyah çizgi 0 ile -100 arasında salınmaktadır. -50 orta noktası önemli bir seviyedir, fiyat hareketi hakkında anlamlı bilgiler sağlar. WPR -50 seviyesinin yukarısında seyrettiğinde, bu, fiyatın hesaplanan periyottaki en yüksek - en düşük aralığının üst yarısında işlem gördüğü anlamına gelir. Bunun tersi şekilde, WPR -50 seviyesinin aşağısında seyrettiğinde, bu da fiyatın hesaplanan periyottaki en yüksek - en düşük aralığının alt yarısında işlem gördüğü anlamına gelir. Ayrıca, -80 ve -20 seviyeleri açısından fiyat hareketini değerlendirecek olursak: gösterge -80'in aşağısında seyrettiğinde, bu, fiyatın hesaplanan periyottaki en yüksek - en düşük aralığının en düşük değerinin yakınında işlem gördüğü anlamına gelir. Gösterge -20 seviyesinin yukarısında seyrettiğinde, bu da fiyatın hesaplanan periyottaki en yüksek - en düşük aralığının en yüksek değerinin yakınında işlem gördüğü anlamına gelir. Bu -80 ve -20 seviyeleri, fiyatın aşırı alış veya aşırı satış bölgesine ulaştığını gösteren çok önemli alanlardır.


Williams %R göstergesi stratejileri

Bu bölümde, Williams %R göstergesini ana konseptine uygun olarak bazı basit stratejilerle nasıl kullanabileceğimizi göreceğiz. Üç farklı stratejiden bahsedeceğiz.

  • Birinci strateji: Williams %R - OB ve OS:

Bu strateji bize fiyatın aşırı alış veya aşırı satış alanında olduğuna dair bilgi verecektir. Mevcut WPR değeri -80 seviyesinden düşükse, bu, aşırı satış sinyali olacaktır. Mevcut WPR değeri -20 seviyesinden yüksekse, bu da aşırı alış sinyali olacaktır.

Fiyatın aşırı alış veya aşırı satış alanına ulaştığını belirledikten sonra momentumun durumuna göre yaklaşan hareketi öngörebiliriz.

Mevcut WPR değeri < -80 --> Aşırı satış

Mevcut WPR değeri > -20 --> Aşırı alış

  • İkinci strateji: Williams %R - Çaprazlama:

Bu strateji bize WPR’ın -50 seviyesini çaprazlama yönüne bağlı olarak alış veya satış sinyalinin varlığı hakkında bilgi verecektir. Önceki WPR değeri -50'den düşükken mevcut WPR değeri -50'den yüksek olduğunda, bu alış sinyali olacaktır. Önceki WPR değeri -50'den yüksekken mevcut WPR değeri -50'den düşük olduğunda, bu da satış sinyali olacaktır.

Bu sinyalleri doğrulamak adına WPR’ı başka bir teknik araçla kombine edersek daha etkili bir strateji elde edebiliriz.

Önceki WPR değeri < -50 ve Mevcut WPR değeri > -50 --> Alış sinyali

Önceki WPR değeri > -50 ve Mevcut WPR değeri < -50 --> Satış sinyali

  • Üçüncü strateji: Williams %R - MA:

Bu strateji de yine bize alış veya satış sinyalinin varlığı hakkında bilgi verecektir. Ancak bu sefer farklı bir koşul kullanılacaktır: alış (ask) fiyatı hareketli ortalamadan yüksekse ve aynı zamanda WPR da -50 seviyesinden yüksekse, bu, alış sinyali olacaktır. Satış (bid) fiyatı hareketli ortalamadan düşükse ve aynı zamanda WPR da -50 seviyesinden düşükse, bu da satış sinyali olacaktır.

Bu strateji, daha net alış ve satış sinyalleri almamıza olanak sağlayacaktır, çünkü burada, mevcut sinyali doğrulamak ve yanlış kırılmaları filtrelemek için WPR’ı başka bir teknik araçla, hareketli ortalamayla kombine ettik.

Mevcut alış (ask) fiyatı > Mevcut MA değeri ve Mevcut WPR değeri > -50 --> Alış sinyali

Mevcut satış (bid) fiyatı < Mevcut MA değeri ve Mevcut WPR değeri < -50 --> Satış sinyali


Williams %R 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: Williams %R - OB ve OS:

Bu stratejiye göre, ticaret sistemi her tikte mevcut WPR değerini kontrol etmeli ve belirli seviyelerle (-80 ve -20) karşılaştırmalıdır. Daha sonra bu karşılaştırmanın sonucuna göre ilgili sinyali grafik üzerinde yorum olarak görüntülemelidir. Mevcut WPR değeri -80 seviyesinden düşükse, grafik üzerinde aşırı satış yorumu görüntülenmelidir. Mevcut WPR değeri -20 seviyesinden yüksekse, grafik üzerinde aşırı alış yorumu görüntülenmelidir.

Aşağıdaki görüntü bu stratejinin planını göstermektedir:

Williams %R - OB ve OS planı

 

  • İkinci strateji: Williams %R - Çaprazlama:

Bu stratejiye göre, ticaret sistemi her tikte önceki WPR değerini ve mevcut WPR değerini kontrol etmeli ve bu değerleri -50 seviyesiyle karşılaştırmalıdır. Daha sonra bu karşılaştırmanın sonucuna göre ilgili sinyali grafik üzerinde yorum olarak görüntülemelidir. Önceki WPR değeri -50'den düşükken mevcut WPR değeri -50'den yüksek olduğunda, grafik üzerinde alış sinyali yorumu görüntülenmelidir. Önceki WPR değeri -50'den yüksekken mevcut WPR değeri -50'den düşük olduğunda ise grafik üzerinde satış sinyali yorumu görüntülenmelidir.

Aşağıdaki görüntü bu stratejinin planını göstermektedir:

Williams %R - Çaprazlama planı

  • Üçüncü strateji: Williams %R - MA:

Bu stratejiye göre, ticaret sistemi her tikte mevcut alış (ask) fiyatını, mevcut satış (bid) fiyatını, mevcut MA değerini ve mevcut WPR değerini kontrol etmelidir. Daha sonra bu değerleri stratejinin koşullarına uygun şekilde karşılaştırarak ilgili sinyali grafik üzerinde yorum olarak görüntülemelidir. Alış (ask) fiyatı hareketli ortalamadan yüksekse ve aynı zamanda WPR da -50 seviyesinden yüksekse, grafik üzerinde alış sinyali yorumu görüntülenmelidir. Satış (bid) fiyatı hareketli ortalamadan düşükse ve aynı zamanda WPR da -50 seviyesinden düşükse, bu kez de grafik üzerinde satış sinyali yorumu görüntülenmelidir.

Aşağıdaki görüntü bu stratejinin planını göstermektedir:

Williams %R - MA planı

Williams %R göstergesine dayalı ticaret sistemi

Şimdi makalenin en ilgi çekici bölüme geçiyoruz. Bu bölümde, hazırladığımız plan çerçevesinde ele aldığımız stratejilere dayalı olarak bir ticaret sistemi oluşturacağız. İlk olarak, stratejilerimizin programlarına temel olması adına mevcut WPR değerini grafik üzerinde yorum olarak görüntüleyecek basit bir program yazalım.

Adım adım nasıl yapılacağını görelim:

  • Değerlerin kesirli olarak ifade edilmesi için double fonksiyonunu kullanarak WPR için bir dizi oluşturalım.
double WPArray[];
  • ArraySetAsSeries fonksiyonunu kullanarak WPR dizisini mevcut veriden başlayarak sıralayalım - başarılı olması durumunda true, aksi takdirde false geri döner (bool türü). Parametreleri şunlardır: array[] ve bayrak.
ArraySetAsSeries(WPArray,true);
  • WPDef için int türü değişken oluşturduktan sonra iWPR fonksiyonunu kullanarak WPR'ı tanımlayalım. iWPR fonksiyonu WPR göstergesinin tanıtıcısını geri döndürür. Parametreleri şunlardır: sembol, periyot, MA periyodu.
    • Mevcut sembole uygulanmak üzere _Symbol ve mevcut zaman dilimine uygulanmak üzere _Period kullanacağız.
int WPDef = iWPR(_Symbol,_Period,14);
  • CopyBuffer fonksiyonunu kullanarak WPArray dizisini WPDef değerleriyle dolduralım - başarılı olması durumunda kopyalanan veri miktarı, aksi takdirde -1 geri döner. Parametreleri şunlardır: gösterge tanıtıcısı, gösterge arabellek numarası, başlangıç konumu, kopyalanacak veri miktarı, hedef dizi.
CopyBuffer(WPDef,0,0,3,WPArray);
  • WPVal için double türü değişken oluşturduktan sonra, double türünde değer geri döndüren NormalizeDouble fonksiyonunu kullanarak mevcut WPR değerini hesaplayalım. Parametreleri şunlardır: normalleştirilmiş sayı ve ondalık basamak sayısı.
double WPVal = NormalizeDouble(WPArray[0],2);
  • Comment fonksiyonunu kullanarak mevcut WPR değerini grafikte yorum olarak görüntüleyelim:
Comment("Williams' %R Value is",WPVal);

Mevcut WPR değerini grafikte yorum olarak görüntüleyen programın kodu aşağıdadır:

//+------------------------------------------------------------------+
//|                                            Simple Williams%R.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()
  {
   double WPArray[];

   ArraySetAsSeries(WPArray,true);

   int WPDef = iWPR(_Symbol,_Period,14);

   CopyBuffer(WPDef,0,0,3,WPArray);

   double WPVal = NormalizeDouble(WPArray[0],2);

   Comment("Williams' %R Value is",WPVal);

  }
//+------------------------------------------------------------------+

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

Kılavuz - Simple Williams%R

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

Simple Williams%R penceresi

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

Grafiğe eklenmiş Simple Williams%R

Böylece, program mevcut WPR değerini grafik üzerinde yorum olarak gösterecektir:

Grafikte mevcut WPR değeri

Yukarıdaki görüntüden görebileceğimiz gibi, Uzman Danışman mevcut WPR değerini grafiğin sol üst köşesinde yorum olarak görüntülemektedir. Programımızdaki değerlerin MetaTrader 5'teki yerleşik WPR göstergesi tarafından görüntülenen değerlerle aynı olup olmadığını da kontrol edebiliriz. Bunu yapmak için, oluşturduğumuz Uzman Danışmanı standart WPR göstergesiyle beraber grafik üzerinde çalıştıralım:

Simple Williams%R ile standart WPR aynı değeri görüntülemektedir

Uzman Danışmanın ve göstergenin aynı değerleri görüntülediğini görüyoruz. Sağ üst köşede Simple Williams%R Uzman Danışmanın eklendiğini, sol üst köşede ise Uzman Danışman tarafından yazılan -78.15 değeri görünmektedir; grafiğe eklenen yerleşik göstergenin penceresinde de sol üst tarafta aynı değer görünmektedir. 

  • Birinci strateji: Williams %R - OB ve OS:

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

//+------------------------------------------------------------------+
//|                                         Williams%R - OB & OS.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()
  {
   double WPArray[];
   
   ArraySetAsSeries(WPArray,true);
   
   int WPDef = iWPR(_Symbol,_Period,14);
   
   CopyBuffer(WPDef,0,0,3,WPArray);
   
   double WPVal = NormalizeDouble(WPArray[0],2);
   
   if(WPVal<-80)
   {
      Comment("Over Sold");
   }
   
   if(WPVal>-20)
   {
      Comment("Over Bought");
   }
   
  }
//+------------------------------------------------------------------+

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

Aşırı satış koşulu:

   if(WPVal<-80)
   {
      Comment("Over Sold");
   }

Aşırı alış koşulu:

   if(WPVal>-20)
   {
      Comment("Over Bought");
   }

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

Kılavuz - Williams%R - OB & OS

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

Williams%R - OB & OS penceresi

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

Grafiğe eklenmiş Williams%R - OB & OS

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

Aşırı alış:

Williams%R - OB & OS - Aşırı alış

Yukarıdaki görüntüden görebileceğimiz gibi, WPR değeri -20 seviyesinin yukarısında seyrettiğinden Uzman Danışman aşırı alış sinyali yazmaktadır, bu da ticaret enstrümanının son 14 periyottaki en yüksek - en düşük aralığının en yüksek değerinin yakınında işlem gördüğü anlamına gelir.

Aşırı satış:

Williams%R - OB & OS - Aşırı satış

Yukarıdaki görüntüde de WPR değeri -80 seviyesinin aşağısında seyrettiğinden Uzman Danışmanın aşırı satış sinyali yazdığını görüyoruz, bu da ticaret enstrümanının son 14 periyottaki en yüksek - en düşük aralığının en düşük değerinin yakınında işlem gördüğü anlamına gelir.

  • İkinci strateji: Williams %R - Çaprazlama:

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

//+------------------------------------------------------------------+
//|                                       Williams%R - Crossover.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()
  {
   double WPArray[];

   ArraySetAsSeries(WPArray,true);

   int WPDef = iWPR(_Symbol,_Period,14);

   CopyBuffer(WPDef,0,0,3,WPArray);

   double WPVal = NormalizeDouble(WPArray[0],2);
   double WPPrevVal = NormalizeDouble(WPArray[1],2);

   if(WPPrevVal<-50 && WPVal>-50)
     {
      Comment("Buy signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "Williams % R Previous Value is",WPPrevVal);
     }

   if(WPPrevVal>-50 && WPVal<-50)
     {
      Comment("Sell signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "Williams % R Previous Value is",WPPrevVal);
     }

  }
//+------------------------------------------------------------------+

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

WPPrevValue için double türü değişken oluşturduktan sonra, double türünde değer geri döndüren NormalizeDouble fonksiyonunu kullanarak önceki WPR değerini hesaplıyoruz. Parametreleri şunlardır: normalleştirilmiş sayı ve ondalık basamak sayısı.

double WPPrevVal = NormalizeDouble(WPArray[1],2);

Stratejinin koşulları:

Alış sinyali durumunda:

   if(WPPrevVal<-50 && WPVal>-50)
     {
      Comment("Buy signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "Williams % R Previous Value is",WPPrevVal);
     }

Satış sinyali durumunda:

   if(WPPrevVal>-50 && WPVal<-50)
     {
      Comment("Sell signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "Williams % R Previous Value is",WPPrevVal);
     }

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

Kılavuz - Williams%R - Crossover

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

Williams%R - Crossover penceresi

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

Grafiğe eklenmiş Williams%R - Crossover

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

Alış sinyali:

Williams%R - Crossover - Alış sinyali

Yukarıdaki görüntüden görebileceğimiz gibi, Uzman Danışman grafiğin sol üst köşesinde alış sinyalini, mevcut WPR değerini ve önceki WPR değerini yorum olarak görüntülemektedir. Çünkü stratejinin alış sinyali koşulu karşılanmıştır: önceki WPR değeri -55.93 değeriyle -50 seviyesinden düşükken, mevcut WPR değeri -41.09 değeriyle -50 seviyesinden yüksektir.

Satış sinyali:

Williams%R - Crossover - Satış sinyali

 

Yukarıdaki görüntüde de Uzman Danışmanın grafiğin sol üst köşesinde satış sinyalini, mevcut WPR değerini ve önceki WPR değerini yorum olarak görüntülediğini görüyoruz.

Çünkü stratejinin satış sinyali koşulu karşılanmıştır: önceki WPR değeri -29.95 değeriyle -50 seviyesinden yüksekken, mevcut WPR değeri -58.8 değeriyle -50 seviyesinden düşüktür.

  • Üçüncü strateji: Williams %R - MA:

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

//+------------------------------------------------------------------+
//|                                              Williams%R & MA.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()
  {
   double WPArray[];
   double MAArray[];

   double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
   double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);

   ArraySetAsSeries(WPArray,true);
   ArraySetAsSeries(MAArray,true);

   int WPDef = iWPR(_Symbol,_Period,14);
   int MADef = iMA(_Symbol,_Period,100,0,MODE_EMA,PRICE_CLOSE);

   CopyBuffer(WPDef,0,0,3,WPArray);
   CopyBuffer(MADef,0,0,3,MAArray);

   double WPVal = NormalizeDouble(WPArray[0],2);
   double MAVal = NormalizeDouble(MAArray[0],2);

   if(Ask>MAVal && WPVal>-50)
     {
      Comment("Buy signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "EMA Value is",MAVal);
     }

   if(Bid<MAVal && WPVal<-50)
     {
      Comment("Sell signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "EMA Value is",MAVal);
     }

  }
//+------------------------------------------------------------------+

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

WPR ve MA için diziler oluşturuyoruz:

double WPArray[];
double MAArray[];

Ask ve Bid için double türü değişkenler oluşturduktan sonra alış (ask) ve satış (bid) fiyatlarını alıyoruz:

double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);

Oluşturulan dizileri mevcut veriden başlayarak sıralıyoruz:

ArraySetAsSeries(WPArray,true);
ArraySetAsSeries(MAArray,true);

iWPR fonksiyonunu kullanarak WPR’ı ve iMA fonksiyonunu kullanarak MA’yı tanımlıyoruz. iWPR fonksiyonunun parametreleri şunlardır: sembol, periyot, MA periyodu. iMA fonksiyonunun parametreleri de şunlardır: sembol, periyot, MA periyodu, yatay kayma, yumuşatma türü ve fiyat türü.

int WPDef = iWPR(_Symbol,_Period,14);
int MADef = iMA(_Symbol,_Period,100,0,MODE_EMA,PRICE_CLOSE);

CopyBuffer fonksiyonu kullanarak fiyat verilerini oluşturulan dizilere kopyalıyoruz:

CopyBuffer(WPDef,0,0,3,WPArray);
CopyBuffer(MADef,0,0,3,MAArray);

Mevcut WPR ve MA değerlerini alıyoruz:

double WPVal = NormalizeDouble(WPArray[0],2);
double MAVal = NormalizeDouble(MAArray[0],2);

Stratejinin koşulları:

Alış sinyali durumunda:

   if(Ask>MAVal && WPVal>-50)
     {
      Comment("Buy signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "EMA Value is",MAVal);
     }

Satış sinyali durumunda:

   if(Bid<MAVal && WPVal<-50)
     {
      Comment("Sell signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "EMA Value is",MAVal);
     }

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

Kılavuz - Williams%R & MA

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

Williams%R & MA penceresi

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

Grafiğe eklenmiş Williams%R & MA

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

Alış sinyali durumunda:

Williams%R & MA - Alış sinyali

Yukarıdaki görüntüden görebileceğimiz gibi, Uzman Danışman grafiğin sol üst köşesinde şu değerleri yorum olarak görüntülemektedir:

  • Alış sinyali 
  • Mevcut WPR değeri
  • Mevcut MA değeri

Çünkü stratejinin alış sinyali koşulu karşılanmıştır: mevcut alış (ask) fiyatı mevcut MA değerinden yüksektir ve aynı zamanda mevcut WPR değeri de -50’den yüksektir.

Satış sinyali durumunda:

Williams%R & MA - Satış sinyali

Yukarıdaki görüntüde de Uzman Danışmanın grafiğin sol üst köşesinde şu değerleri yorum olarak görüntülediğini görüyoruz:

  • Satış sinyali 
  • Mevcut WPR değeri
  • Mevcut MA değeri

Çünkü stratejinin satış sinyali koşulu karşılanmıştır: mevcut satış (bid) fiyatı mevcut MA değerinden düşüktür ve aynı zamanda mevcut WPR değeri de -50’den düşüktür.


Sonuç

Williams %R göstergesi, momentumu değerlendirmek için kullanılan en popüler teknik göstergelerden biridir. Avantajlarından tam olarak yararlanmak adına diğer teknik göstergelerle de kombine edilebilir. Bu, teknik analizin en önemli özelliklerinden biridir - birden fazla perspektif elde etmek ve daha bilinçli kararlar vermek için birden fazla aracı birlikte kullanabiliriz.

Bu makalede Williams %R teknik göstergesini detaylıca inceledik. İlk olarak, ne olduğunu, neyi ölçtüğünü ve nasıl hesaplandığı hakkında konuştuk. Nasıl hesaplandığını daha iyi anlamak için onu bir örnek üzerinde de hesapladık.

Devamında, ana konseptine dayanan bazı basit stratejileri ele alarak onu ticaretimizde nasıl kullanabileceğimizi gördük:

  • Williams %R - OB ve OS: fiyat ilgili bölgelere ulaştığında aşırı alış ve aşırı satış sinyallerinin oluşturulması için.
  • Williams %R - Çaprazlama: belirli çaprazlama koşullarında alış ve satış sinyallerinin oluşturulması için.
  • Williams %R - MA: WPR ve MA değerleriyle ilişkili olarak alış ve satış sinyallerinin oluşturulması 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 otomatik ve hassas sinyaller üretecek bir ticaret sistemi oluşturduk.

Genel olarak bu makale, programlamanın algoritmik ticaret amacıyla nasıl kullanılabileceğine dair basit bir örnek niteliğindedir. Algoritmik ticaret, daha rahat, daha kolay ve daha etkili bir şekilde ticaret yapmamıza yardımcı olabilecek harika bir araçtır. Her şey doğru yapılırsa, kelimenin tam anlamıyla siz uyurken sizin için çalışacak bir araca sahip olabilirsiniz. Bu yüzden herkesi ticaret stratejilerinin nasıl programlandığını öğrenmeye ve kârınızı artırmanıza yardımcı olabilecek kendi aracınızı bulmaya teşvik ediyorum.

Burada yine 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. Ayrıca, bu makalenin ana amacı eğitimdir, dolayısıyla bu makalede ele aldığımız tüm stratejilerin optimize edilmesi, üzerinde ek ayarlamalar yapılması gerekebilir. Umarım okuduklarınızı kendi başınıza uygulamaya çalışmışsınızdır, çünkü bu, öğrendiklerinizi iyi bir şekilde anlamanız için çok önemlidir. Ve 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üşünceye kadar hoşça kalın.

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

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.
Ichimoku göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? Ichimoku göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
Bu makalede de en popüler teknik göstergelere dayalı ticaret sistemlerini nasıl oluşturacağımızı öğrendiğimiz serimize devam ediyoruz. Bu sefer Ichimoku göstergesi hakkında konuşacağız ve ona dayalı bir ticaret sistemi geliştireceğiz.
Veri Bilimi ve Makine Öğrenimi (Bölüm 06): Gradyan İniş Veri Bilimi ve Makine Öğrenimi (Bölüm 06): Gradyan İniş
Gradyan iniş, sinir ağlarının ve çeşitli makine öğrenimi algoritmalarının eğitiminde önemli bir rol oynamaktadır - hızlı ve akıllı bir algoritmadır. Etkileyici bir şekilde çalışmasına rağmen, birçok veri bilimci tarafından hala yanlış anlaşılmaktadır. Bu makalemizde onu detaylıca inceleyerek daha iyi anlayacağız.
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.