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

Bear’s Power göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?

MetaTrader 5Ticaret | 5 Temmuz 2023, 09:32
323 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Giriş

Serimizin bu yeni makalesinde, özellikle diğer teknik araçlarla kombine ettiğimizde lehimize kullanabileceğimiz yeni bir teknik araca odaklanacağız: Bear’s Power. Onu ticaretimizde etkili bir şekilde kullanabilmek adına detaylıca inceleyeceğiz. Bu amaçla aşağıdaki konular üzerinden ilerleyeceğiz:

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

“Bear’s Power göstergesinin tanımı” başlıklı ilk bölümde, Bear’s Power göstergesinin ne olduğunu, neyi ölçtüğünü, manuel olarak nasıl hesaplandığını, MetaTrader 5 işlem platformuna nasıl eklendiğini ve parametrelerinin neler olduğunu öğreneceğiz. Temel bilgileri ve göstergenin arkasındaki ana konsepti kavradıktan sonra, “Bear’s Power göstergesi stratejileri” bölümünde, göstergenin bu konseptine dayanan bazı basit stratejileri ele alarak onu ticaretimizde bize fayda sağlayacak şekilde nasıl kullanabileceğimizden bahsedeceğiz. Ardından, “Bear’s Power 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 “Bear’s Power göstergesine dayalı ticaret sistemi” başlıklı 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 (MetaQuotes Language 5) dili aracılığıyla bir ticaret sistemi oluşturacağı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. Çünkü pratik yapmak, öğrenme sürecindeki en önemli faktörlerden biridir. 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, konularımıza başlayalım.


Bear’s Power göstergesinin tanımı

Bu bölümde Bear’s Power göstergesini ayrıntılı bir şekilde tanıyacağız: ne olduğunu, neyi ölçtüğünü, manuel olarak nasıl hesaplandığını, MetaTrader 5 işlem platformuna nasıl eklendiğini ve parametrelerinin neler olduğunu göreceğiz. Bear’s Power göstergesi sıfır seviyesi etrafında salınan ve piyasadaki ayı gücünü (düşüş eğilimini) ölçen bir osilatör göstergesidir. Ayıların zayıfladığı ve dolayısıyla boğaların devreye girdiği bilgisini de verebilir. Arz ve talebin her piyasada çok önemli olduğunu biliyoruz, bunlar bir piyasayı yukarı veya aşağı hareket ettiren güçlerdir. Bu nedenle, piyasayı boğaların mı yoksa ayıların mı kontrol ettiğini ve bu kontrolün ne kadar güçlü olduğunu bilmek önemlidir. Bu gösterge, bu kavramı ölçmek ve ayıların piyasayı ne derecede kontrol ettiğini görmek için Dr. Alexander Elder tarafından oluşturulmuştur.

Peki bu gösterge bu ölçümü nasıl yapabiliyor? Nasıl hesaplandığını anlarsak bu sorunun cevabını elde edebiliriz. Göstergeyi hesaplamak için aşağıdaki adımları izlememiz gerekiyor:

  1. Periyodun en düşük değerini al.
  2. Exponential Moving Average (EMA) al. EMA hakkında daha fazla bilgi edinmek istiyorsanız, “Hareketli ortalamalara dayalı sistemler nasıl geliştirilir?” adlı makalemi okuyabilirsiniz.
  3. EMA’yı en düşük değerden çıkararak Bear’s Power değerini al.

En düşük değer = periyot boyuncaki en düşük değer.

EMA = Exponential Moving Average.

Bear’s Power = en düşük - EMA

Ayılar piyasayı kontrol ettiğinde, çoğu zaman piyasayı aşağı çekerler. Bu nedenle, göstergenin hesaplama formülünde en düşük değeri kullanırız. Sonrasında, en düşük değer ve EMA arasındaki farkı buluruz ve böylece sıfır seviyesi etrafında salınan bir osilatör elde ederiz. Gösterge değeri sıfır seviyesine yaklaştığında ve onu aşağıdan yukarıya doğru çaprazladığında, bu, ayıların zayıfladığının bir işareti olabilir.

Bu göstergeyi, daha etkili bilgiler sağlayacağı için başka bir trend göstergesiyle kullanmak iyidir. Bir sonraki bölümde ele alacağımız stratejilerden birinde de bunu yapacağız. Birden çok göstergenin bir arada kullanılması teknik analizin önemli özelliklerindendir. Finansal enstrümana birçok perspektiften bakmaya olanak sağlayarak, hakkında daha fazla bilgi edinmeyi ve büyük resmi daha net görmeyi mümkün kılar.

Bear’s Power göstergesini MetaTrader 5 platformunda bir grafiğe eklemek için Ekle --> Göstergeler --> Osilatörler --> Bear’s Power yolunu izleyin:

Bear’s Power göstergesini ekleme

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

Bear’s Power göstergesi parametreleri

1 - Hesaplamada kullanılacak periyodu ayarlamak için.

2 - Bear’s Power göstergesinin sütunlarının rengini ayarlamak için.

3 - Bear’s Power göstergesinin sütunlarının kalınlığını ayarlamak için.

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

Grafikte Bear’s Power göstergesi

Yukarıdaki görüntüde, Bear’s Power göstergesinin grafiğe eklendiğini ve sıfır seviyesinin etrafında salınan sütunlar halinde alt pencerede görüntülendiğini görüyoruz. Gösterge sıfırın altında olduğunda ayıların piyasayı kontrol ettiği, sıfıra yaklaştığında ve sıfırın üzerinde olduğunda ise ayıların gücünün zayıfladığı anlamına gelir.


Bear’s Power göstergesi stratejileri

Bu bölümde, Bear’s Power göstergesini ana konseptine uygun olarak bazı basit stratejilerle nasıl kullanabileceğimizi göreceğiz. Bu stratejilerin burada sunulmasının ana amacı, Bear’s Power göstergesinin ticarette nasıl kullanılabileceğini ve ona dayalı olarak bir ticaret sisteminin nasıl tasarlanacağını anlamaktır. Dolayısıyla, bu stratejilerden herhangi birini gerçek hesabınızda kullanmadan önce, onu tam anlamıyla test ettiğinizden emin olmalısınız.

    Birinci strateji: Bear’s Power hareketi:

      Bu stratejiye göre, göstergenin son iki değerine dayalı olarak Bear’s Power yükseliyor veya Bear’s Power düşüyor şeklinde sinyaller alacağız. Mevcut Bear’s Power değeri önceki Bear’s Power değerinden daha yüksekse, bu, Bear’s Power yükseliyor sinyali olacaktır. Tersi şekilde, mevcut Bear’s Power değeri önceki Bear’s Power değerinden daha düşükse, bu da Bear’s Power düşüyor sinyali olacaktır.

      Daha basit ifadeyle,

      Mevcut Bear’s Power > Önceki Bear’s Power --> Bear’s Power yükseliyor

      Mevcut Bear’s Power < Önceki Bear’s Power --> Bear’s Power düşüyor

        İkinci strateji: Bear’s Power - Güçlü hareket veya boğa türü diverjans:

          Bu stratejiye göre, mevcut düşük değerini önceki düşük değeriyle ve ayrıca mevcut Bear’s Power değerini de önceki Bear’s Power değeriyle karşılaştırarak güçlü hareket veya boğa türü diverjans sinyallerini alacağız. Mevcut düşük değeri önceki düşük değerinden daha düşükse ve bununla birlikte mevcut Bear’s Power değeri de önceki Bear’s Power değerinden daha düşükse, bu, güçlü hareket olacaktır. Diğer durumda, mevcut düşük değeri önceki düşük değerinden daha düşükken mevcut Bear’s Power değeri önceki Bear’s Power değerinden daha yüksekse, bu da boğa türü diverjans olacaktır.

          Daha basit ifadeyle,

          Mevcut düşük < Önceki düşük ve Mevcut Bear’s Power < Önceki Bear’s Power --> Güçlü hareket

          Mevcut düşük < Önceki düşük ve Mevcut Bear’s Power > Önceki Bear’s Power --> Boğa türü diverjans

            Üçüncü strateji: Bear’s Power sinyalleri:

              Bu stratejiye göre, belirli koşullara bağlı olarak alış veya satış sinyalleri alacağız. Mevcut kapanış fiyatı, mevcut EMA değerinden daha yüksekse ve aynı zamanda önceki Bear’s Power değeri sıfır seviyesinin altındayken, mevcut Bear’s Power değeri sıfır seviyesinin üzerine çıktıysa, bu, alış sinyali olacaktır. Tersi şekilde, mevcut kapanış fiyatı, mevcut EMA değerinden daha düşükse ve bununla beraber önceki Bear’s Power değeri sıfır seviyesinin üzerindeyken, mevcut Bear’s Power değeri sıfır seviyesinin altına indiyse, bu da satış sinyali olacaktır.

              Daha basit ifadeyle,

              Mevcut kapanış > Mevcut EMA, Önceki Bear’s Power < Sıfır seviyesi ve Mevcut Bear’s Power > Sıfır seviyesi --> Alış sinyali

              Mevcut kapanış < Mevcut EMA, Önceki Bear’s Power > Sıfır seviyesi ve Mevcut Bear’s Power < Sıfır seviyesi --> Satış sinyali


              Bear’s Power göstergesine dayalı ticaret sisteminin planı

              Bu bölümde, 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ırlayacağız.

                Birinci strateji: Bear’s Power hareketi:

                  Bu stratejiye göre, ticaret sistemi her tikte mevcut Bear’s Power değerini ve önceki Bear’s Power değerini kontrol etmeli ve bu iki değeri birbiriyle 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 Bear’s Power değeri önceki Bear’s Power değerinden daha yüksekse, şu ifadeleri grafik üzerinde yorum olarak görüntülemelidir:

                  • Bear’s Power yükseliyor
                  • Mevcut Bear’s Power değeri
                  • Önceki Bear’s Power değeri

                  Her bir ifade ayrı satırlarda görüntülenmelidir. 

                  Tersi şekilde, mevcut Bear’s Power değeri önceki Bear’s Power değerinden daha düşükse, bu kez de şu ifadeleri ayrı satırlar halinde grafik üzerinde yorum olarak görüntülemelidir:

                  • Bear’s Power düşüyor
                  • Mevcut Bear’s Power değeri
                  • Önceki Bear’s Power değeri

                  Aşağıda, bu strateji için bir program geliştirmemize yardımcı olacak adım adım plan yer almaktadır:

                  Bear’s Power hareketi planı

                    İkinci strateji: Bear’s Power - Güçlü hareket veya boğa türü diverjans:

                      Bu stratejiye göre, ticaret sistemi her tikte dört değeri (mevcut düşük, önceki düşük, mevcut Bear’s Power ve önceki Bear’s Power) kontrol etmeli ve bu değerleri stratejinin koşullarına uygun şekilde karşılaştırarak ilgili sinyali grafik üzerinde yorum olarak görüntülemelidir. Mevcut düşük değeri önceki düşük değerinden daha düşükse ve bununla birlikte mevcut Bear’s Power değeri de önceki Bear’s Power değerinden daha düşükse, şu ifadeleri ayrı satırlar halinde grafik üzerinde yorum olarak görüntülemelidir:

                      • Güçlü hareket
                      • Mevcut düşük değeri
                      • Önceki düşük değeri
                      • Mevcut Bear’s Power değeri
                      • Önceki Bear’s Power değeri

                      Diğer durumda, eğer mevcut düşük değeri önceki düşük değerinden daha düşükken mevcut Bear’s Power değeri önceki Bear’s Power değerinden daha yüksekse, bu kez de şu ifadeleri ayrı satırlar halinde grafik üzerinde yorum olarak görüntülemelidir:

                      • Boğa türü diverjans
                      • Mevcut düşük değeri
                      • Önceki düşük değeri
                      • Mevcut Bear’s Power değeri
                      • Önceki Bear’s Power değeri

                      Aşağıda, bu strateji için bir program geliştirmemize yardımcı olacak adım adım plan yer almaktadır:

                      Bear’s Power - Güçlü hareket veya boğa türü diverjans planı

                       

                        Üçüncü strateji: Bear’s Power sinyalleri:

                          Bu stratejiye göre, ticaret sistemi her tikte dört değeri (mevcut kapanış, mevcut EMA, mevcut Bear’s Power ve önceki Bear’s Power) kontrol etmeli ve bu değerleri stratejinin koşullarına uygun şekilde karşılaştırarak ilgili sinyali grafik üzerinde yorum olarak görüntülemelidir. Mevcut kapanış fiyatı, mevcut EMA değerinden daha yüksekse ve aynı zamanda önceki Bear’s Power değeri sıfır seviyesinin altındayken, mevcut Bear’s Power değeri sıfır seviyesinin üzerine çıktıysa, şu ifadeleri ayrı satırlar halinde grafik üzerinde yorum olarak görüntülemelidir:

                          • Alış sinyali
                          • Mevcut kapanış fiyatı
                          • Mevcut EMA değeri
                          • Mevcut Bear’s Power değeri

                          Tersi şekilde, mevcut kapanış fiyatı, mevcut EMA değerinden daha düşükse ve bununla beraber önceki Bear’s Power değeri sıfır seviyesinin üzerindeyken, mevcut Bear’s Power değeri sıfır seviyesinin altına indiyse, bu kez de şu ifadeleri ayrı satırlar halinde grafik üzerinde yorum olarak görüntülemelidir:

                          • Satış sinyali
                          • Mevcut kapanış fiyatı
                          • Mevcut EMA değeri
                          • Mevcut Bear’s Power değeri

                          Aşağıda, bu strateji için bir program geliştirmemize yardımcı olacak adım adım plan yer almaktadır:

                          Bear’s Power sinyalleri planı

                          Bear’s Power 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. İlk olarak, stratejilerimizin programlarına temel olması adına mevcut Bear’s Power 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:

                          double fonksiyonunu kullanarak Bear’s Power için bir dizi oluşturalım:

                          double bearpowerArray[];

                          ArraySetAsSeries fonksiyonunu kullanarak Bear’s Power dizisini mevcut veriden başlayarak sıralayalım - başarılı olması durumunda true, aksi takdirde false geri döner (bool türü):

                          ArraySetAsSeries(bearpowerArray,true);

                          bearpowerDef için int türü değişken oluşturduktan sonra iBearsPower fonksiyonunu kullanarak Bear’s Power’ı tanımlayalım. iBearsPower fonksiyonu Bear’s Power göstergesinin tanıtıcısını geri döndürür. Fonksiyonunun parametreleri şunlardır:

                          • Sembol adı - Mevcut sembole uygulanmak üzere _Symbol kullanacağız.
                          • Zaman dilimi - Mevcut zaman dilimine uygulanmak üzere _Period kullanacağız.
                          • Moving Average periyodu - Varsayılan olarak 13 ayarlayacağız.
                          int bearpowerDef = iBearsPower(_Symbol,_Period,13);

                          CopyBuffer fonksiyonunu kullanarak bearpowerArray dizisini bearpowerDef değerleriyle dolduralım. Fonksiyonunun parametreleri şunlardır:

                          • Gösterge tanıtıcısı - bearpowerDef gösterge tanımını kullanacağız.     
                          • Gösterge arabellek numarası - 0 ayarlayacağız.
                          • Başlangıç konumu - 0 ayarlayacağız.         
                          • Kopyalanacak veri miktarı - 3 ayarlayacağız.                
                          • Hedef dizi - bearpowerArray ayarlayacağız.
                          CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);

                          bearpowerVal 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 Bear’s Power değerini hesaplayalım. Fonksiyonunun parametreleri şunlardır:

                          • Normalleştirilmiş sayı - bearpowerArray[0] kullanacağız.
                          • Ondalık basamak sayısı - 6 ayarlayacağız.
                          double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);

                          Comment fonksiyonunu kullanarak mevcut Bear’s Power değerini grafikte yorum olarak görüntüleyelim:

                          Comment("Bear's Power Value is ",bearpowerVal);

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

                          //+------------------------------------------------------------------+
                          //|                                          Simple Bear's Power.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 bearpowerArray[];
                          
                             ArraySetAsSeries(bearpowerArray,true);
                          
                             int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                          
                             CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                          
                             double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                          
                             Comment("Bear's Power Value is ",bearpowerVal);
                          
                            }
                          //+------------------------------------------------------------------+

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

                          Kılavuz - Simple Bear’s Power

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

                          Simple Bear’s Power penceresi

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

                          Grafiğe eklenmiş Simple Bear’s Power

                          Gördüğümüz üzere, grafiğin sağ üst köşesinde Uzman Danışmanın grafik üzerinde çalıştığına dair bir ifade ortaya çıktı. Böylece, program mevcut Bear’s Power değerini grafik üzerinde yorum olarak gösterecektir:

                          Grafikte mevcut Bear’s Power değeri

                          Yukarıdaki görüntüden görebileceğimiz gibi, Uzman Danışman mevcut Bear’s Power değerini grafiğin sol üst köşesinde yorum olarak görüntülemektedir.

                            Birinci strateji: Bear’s Power hareketi:

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

                              //+------------------------------------------------------------------+
                              //|                                        Bear's Power Movement.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 bearpowerArray[];
                              
                                 ArraySetAsSeries(bearpowerArray,true);
                              
                                 int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                              
                                 CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                              
                                 double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                 double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                              
                                 if(bearpowerVal>bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is rising","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }
                              
                                 if(bearpowerVal<bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is declining","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }
                                }
                              //+------------------------------------------------------------------+

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

                              Mevcut Bear’s Power değerini (bearpowerVal) ve önceki Bear’s Power değerini (bearpowerPrevVal) tanımlıyoruz:

                                 double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                 double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);

                              Stratejinin koşulları:

                              Bear’s Power yükseliyor:

                                 if(bearpowerVal>bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is rising","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }

                              Bear’s Power düşüyor:

                                 if(bearpowerVal<bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is declining","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }

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

                              Kılavuz - Bear’s Power Movement

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

                              Bear’s Power Movement penceresi

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

                              Grafiğe eklenmiş Bear’s Power Movement

                              Gördüğümüz üzere, grafiğin sağ üst köşesinde Uzman Danışmanın grafik üzerinde çalıştığına dair bir ifade ortaya çıktı. Devamında program onun için belirlediğimiz koşullara uygun olarak yorumları gösterecektir:

                              Mevcut verilerle Veri Penceresi ve Bear’s Power yükseliyor sinyali:

                              Mevcut verilerle Veri Penceresi ve Bear’s Power yükseliyor sinyali

                              Yukarıdaki görüntüden görebileceğimiz gibi, Uzman Danışman grafiğin sol üst köşesinde Bear’s Power yükseliyor sinyalini, mevcut Bear’s Power değerini ve önceki Bear’s Power değerini yorum olarak görüntülemektedir. Veri Penceresinde de yerleşik Bear’s Power göstergesinin mevcut değeri görülmektedir. Bu değer, programda görüntülenen mevcut Bear’s Power değeriyle aynıdır.

                              Önceki verilerle Veri Penceresi ve Bear’s Power yükseliyor sinyali:

                              Önceki verilerle Veri Penceresi ve Bear’s Power yükseliyor sinyali

                              Yukarıdaki görüntüde ise Veri Penceresinde yerleşik Bear’s Power göstergesinin önceki değeri görülmektedir. Bu değer, programda görüntülenen önceki Bear’s Power değeriyle aynıdır.

                              Mevcut verilerle Veri Penceresi ve Bear’s Power düşüyor sinyali:

                              Mevcut verilerle Veri Penceresi ve Bear’s Power düşüyor sinyali

                              Yukarıdaki görüntüden görebileceğimiz gibi, Uzman Danışman grafiğin sol üst köşesinde Bear’s Power düşüyor sinyalini, mevcut Bear’s Power değerini ve önceki Bear’s Power değerini yorum olarak görüntülemektedir. Veri Penceresinde de yerleşik Bear’s Power göstergesinin mevcut değeri görülmektedir. Bu değer, programda görüntülenen mevcut Bear’s Power değeriyle aynıdır.

                              Önceki verilerle Veri Penceresi ve Bear’s Power düşüyor sinyali:

                              Önceki verilerle Veri Penceresi ve Bear’s Power düşüyor sinyali

                              Yukarıdaki görüntüde ise Veri Penceresinde yerleşik Bear’s Power göstergesinin önceki değeri görülmektedir. Bu değer, programda görüntülenen önceki Bear’s Power değeriyle aynıdır.

                                İkinci strateji: Bear’s Power - Güçlü hareket veya boğa türü diverjans:

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

                                  //+------------------------------------------------------------------+
                                  //|                          Bear's Power - Strong or Divergence.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 bearpowerArray[];
                                     MqlRates priceArray[];
                                  
                                     ArraySetAsSeries(bearpowerArray,true);
                                     int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
                                  
                                     int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                  
                                     CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                  
                                     double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                     double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                                  
                                     double currentLowVal=NormalizeDouble(priceArray[2].low,6);
                                     double prevLowVal=NormalizeDouble(priceArray[1].low,6);
                                  
                                     if(currentLowVal<prevLowVal && bearpowerVal<bearpowerPrevVal)
                                       {
                                        Comment("Strong Move","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }
                                  
                                     if(currentLowVal<prevLowVal && bearpowerVal>bearpowerPrevVal)
                                       {
                                        Comment("Bullish divergence","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }
                                    }
                                  //+------------------------------------------------------------------+

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

                                  bearpowerArray ve priceArray olmak üzere iki dizi oluşturuyoruz:

                                     double bearpowerArray[];
                                     MqlRates priceArray[];

                                  Oluşturulan bu dizileri sıralıyoruz. bearpowerArray için daha önce yaptığımız gibi ArraySetAsSeries fonksiyonunu kullanacağız. priceArray için de MqlRates geçmiş verilerini almak için CopyRates fonksiyonunu kullanacağız. CopyRates fonksiyonunun parametreleri şunlardır:

                                  • Sembol adı - Mevcut sembole uygulanmak üzere _Symbol kullanacağız.
                                  • Zaman dilimi - Mevcut zaman dilimine uygulanmak üzere _Period kullanacağız.
                                  • Başlangıç zamanı - 0 ayarlayacağız.
                                  • Bitiş zamanı - 3 ayarlayacağız.
                                  • Hedef dizi - priceArray ayarlayacağız.
                                     ArraySetAsSeries(bearpowerArray,true);
                                     int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

                                  NormalizeDouble fonksiyonunu kullanarak mevcut ve önceki Bear’s Power değerlerini tanımlıyoruz:

                                     double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                     double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                                  
                                     double currentLowVal=NormalizeDouble(priceArray[2].low,6);
                                     double prevLowVal=NormalizeDouble(priceArray[1].low,6);

                                  Stratejinin koşulları:

                                  Güçlü hareket:

                                     if(currentLowVal<prevLowVal && bearpowerVal<bearpowerPrevVal)
                                       {
                                        Comment("Strong Move","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }

                                  Boğa türü diverjans:

                                     if(currentLowVal<prevLowVal && bearpowerVal>bearpowerPrevVal)
                                       {
                                        Comment("Bullish divergence","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }

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

                                  Kılavuz - Bear’s Power - Strong or Divergence

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

                                  Bear’s Power - Strong or Divergence penceresi

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

                                  Grafiğe eklenmiş Bear’s Power - Strong or Divergence

                                  Gördüğümüz üzere, grafiğin sağ üst köşesinde Uzman Danışmanın grafik üzerinde çalıştığına dair bir ifade ortaya çıktı. Devamında program onun için belirlediğimiz koşullara uygun olarak yorumları gösterecektir:

                                  Mevcut verilerle Veri Penceresi ve güçlü hareket sinyali:

                                  Mevcut verilerle Veri Penceresi ve güçlü hareket sinyali

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

                                  • Güçlü hareket
                                  • Mevcut düşük değeri
                                  • Önceki düşük değeri
                                  • Mevcut Bear’s Power değeri
                                  • Önceki Bear’s Power değeri 

                                  Önceki verilerle Veri Penceresi ve güçlü hareket sinyali:

                                  Önceki verilerle Veri Penceresi ve güçlü hareket sinyali

                                  Yukarıdaki görüntüde, bu sefer Veri Penceresinde yerleşik Bear’s Power göstergesinin önceki değeri görülmektedir. Bu değer, programda görüntülenen önceki Bear’s Power değeriyle aynıdır.

                                  Mevcut verilerle Veri Penceresi ve boğa türü diverjans sinyali:

                                  Mevcut verilerle Veri Penceresi ve boğa türü diverjans sinyali

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

                                  • Boğa türü diverjans
                                  • Mevcut düşük değeri
                                  • Önceki düşük değeri
                                  • Mevcut Bear’s Power değeri
                                  • Önceki Bear’s Power değeri  

                                  Önceki verilerle Veri Penceresi ve boğa türü diverjans sinyali:

                                  Önceki verilerle Veri Penceresi ve boğa türü diverjans sinyali

                                  Yukarıdaki görüntüde, bu sefer Veri Penceresinde yerleşik Bear’s Power göstergesinin önceki değeri görülmektedir. Bu değer, programda görüntülenen önceki Bear’s Power değeriyle aynıdır.

                                    Üçüncü strateji: Bear’s Power sinyalleri:

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

                                      //+------------------------------------------------------------------+
                                      //|                                         Bear's Power signals.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 bearpowerArray[];
                                         double maArray[];
                                         MqlRates priceArray[];
                                      
                                         ArraySetAsSeries(bearpowerArray,true);
                                         ArraySetAsSeries(maArray,true);
                                         int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
                                      
                                         int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                         int maDef = iMA(_Symbol,_Period,13,0,MODE_EMA,PRICE_CLOSE);
                                      
                                         CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                         CopyBuffer(maDef,0,0,3,maArray);
                                      
                                         double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                      
                                         double emaVal = NormalizeDouble(maArray[0],6);
                                      
                                         double currentClose=NormalizeDouble(priceArray[2].close,6);
                                      
                                         if(bearpowerVal>0 && currentClose>emaVal)
                                           {
                                            Comment("Buy Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }
                                      
                                         if(bearpowerVal<0 && currentClose<emaVal)
                                           {
                                            Comment("Sell Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }
                                        }
                                      //+------------------------------------------------------------------+
                                      

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

                                      bearpowerArray, naArray ve priceArray olmak üzere üç dizi oluşturuyoruz:

                                         double bearpowerArray[];
                                         double maArray[];
                                         MqlRates priceArray[];

                                      Oluşturulan bu dizileri sıralıyoruz:

                                         ArraySetAsSeries(bearpowerArray,true);
                                         ArraySetAsSeries(maArray,true);
                                         int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

                                      iBearsPower fonksiyonunu kullanarak Bear’s Power için bearpowerDef’i ve iMA fonksiyonunu (Moving Average göstergesinin tanıtıcısını geri döndürür) kullanarak da Moving Average için maDef’i tanımlıyoruz:

                                         int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                         int maDef = iMA(_Symbol,_Period,13,0,MODE_EMA,PRICE_CLOSE);

                                      CopyBuffer fonksiyonunu kullanarak, bearpowerArray ve maArray dizilerini sırasıyla bearpowerDef ve maDef değerleriyle dolduruyoruz:

                                         CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                         CopyBuffer(maDef,0,0,3,maArray);

                                      Mevcut Bear’s Power, mevcut Exponential Moving Average ve mevcut kapanış fiyatı olmak üzere üç değeri tanımlıyoruz:

                                         double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                         double emaVal = NormalizeDouble(maArray[0],6);
                                         double currentClose=NormalizeDouble(priceArray[2].close,6);

                                      Stratejinin koşulları:

                                      Alış sinyali:

                                         if(bearpowerVal>0 && currentClose>emaVal)
                                           {
                                            Comment("Buy Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }

                                      Satış sinyali:

                                         if(bearpowerVal<0 && currentClose<emaVal)
                                           {
                                            Comment("Sell Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }

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

                                      Kılavuz - Bear’s Power signals

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

                                      Bear’s Power signals penceresi

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

                                      Grafiğe eklenmiş Bear’s Power signals

                                      Gördüğümüz üzere, grafiğin sağ üst köşesinde Uzman Danışmanın grafik üzerinde çalıştığına dair bir ifade ortaya çıktı. Devamında program onun için belirlediğimiz koşullara uygun olarak yorumları gösterecektir:

                                      Alış sinyali:

                                      Bear’s Power signals - Alış sinyali

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

                                      • Alış sinyali
                                      • Mevcut kapanış fiyatı
                                      • Mevcut EMA değeri
                                      • Mevcut Bear’s Power değeri

                                      Satış sinyali:

                                      Bear’s Power signals - Satış sinyali

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

                                      • Satış sinyali
                                      • Mevcut kapanış fiyatı
                                      • Mevcut EMA değeri
                                      • Mevcut Bear’s Power değeri


                                      Sonuç

                                      Bu makalede Bear’s Power göstergesi hakkında konuştuk. İlk olarak, ne olduğunu, neyi ölçtüğünü, manuel olarak nasıl hesaplandığını ve MetaTrader 5’te bulunan yerleşik Bear’s Power göstergesinin nasıl kullanılacağını öğrendik. Göstergeyi ayrıntılı olarak anladıktan sonra, göstergenin arkasındaki ana fikre dayanan birkaç basit strateji aracılığıyla göstergenin ticarette nasıl kullanılabileceğinden bahsettik. Bu stratejilerin temel amacı, bu göstergenin ticarette ne şekilde kullanılabileceğini öğrenmektir, dolayısıyla, gerçek hesabınızda kullanmadan önce, sizin için uygun olduklarından ve onlardan kâr edebileceğinizden emin olana kadar onları iyi bir şekilde test ettiğinizden emin olmalısınız. Ele aldığımız stratejileri hatırlayalım:

                                      Bear’s Power hareketi: Bear’s Power yükseliyor veya Bear’s Power düşüyor şeklinde sinyaller almak için.

                                      Bear’s Power - Güçlü hareket veya boğa türü diverjans: güçlü hareket veya boğa türü diverjans şeklinde sinyaller almak için.

                                      Bear’s Power sinyalleri: Alış veya satış sinyalleri almak için.

                                      Devamı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. Son olarak 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 makale boyunca gösterilen kodları kendi başınıza yazmaya çalışmışsınızdır, çünkü bu, kod yazma becerilerinizi daha da geliştirerek programlamanın inceliklerini öğrenmenizi sağlayacaktır. Bu amaçla, kodları olabildiğince dikkatli bir şekilde analiz etmeli ve ortaya çıkan problemleri çözmeye çalışmalısınız. Programlama, sorunsuz, kolay, etkili ve disiplinli bir şekilde ticaret yapmamıza yardımcı olması için geliştirmemiz gereken önemli bir beceridir. Programlar, yapılması gereken görevleri istikrarlı bir şekilde, belirli adımlarla otomatik olarak gerçekleştirerek bize zaman kazandırır. Bu yaklaşım aynı zamanda ticaretimizi olumsuz olarak etkileyebilecek duygulardan kaçınmamıza da yardımcı olur, çünkü program ihtiyacımız olanı herhangi bir duygu olmadan gerçekleştirecektir.

                                      Umarım bu makaleyi ticaret sonucunuzu geliştirmeniz ve bu konu veya ilgili herhangi bir konu hakkında yeni fikirler edinmeniz için yararlı bulursunuz. Bu makaleyi beğendiyseniz ve buna benzer makaleler 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. Moving Average, MACD, Stochastic Oscillator, RSI ve ADX gibi en popüler teknik göstergelerin çoğunu bu makalelerde bulabilirsiniz. Bir sonraki makalede görüşmek dileğiyle.

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

                                      Popülasyon optimizasyon algoritmaları: Karınca kolonisi optimizasyonu (Ant Colony Optimization, ACO) Popülasyon optimizasyon algoritmaları: Karınca kolonisi optimizasyonu (Ant Colony Optimization, ACO)
                                      Bu sefer karınca kolonisi optimizasyonu algoritmasını analiz edeceğiz. Bu algoritma çok ilginç ve karmaşıktır. Makalede, yeni bir ACO türü oluşturma girişiminde bulunacağız.
                                      Force Index göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? Force Index göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
                                      En popüler teknik göstergelere dayalı ticaret sistemlerini nasıl tasarlayacağımızı öğrendiğimiz serimizin yeni makalesine hoş geldiniz. Bu makalede, yeni bir teknik göstergeyi, Force Index göstergesini kullanarak bir ticaret sisteminin nasıl oluşturulacağını öğreneceğiz.
                                      Popülasyon optimizasyon algoritmaları: Yapay arı kolonisi (Artificial Bee Colony, ABC) Popülasyon optimizasyon algoritmaları: Yapay arı kolonisi (Artificial Bee Colony, ABC)
                                      Bu makalede, yapay arı kolonisi algoritmasını inceleyeceğiz ve bilgi birikimimizi fonksiyon uzaylarıyla çalışmanın yeni ilkeleriyle destekleyeceğiz. Ayrıca algoritmanın klasik versiyonuna yorumumuzu katarak değiştirilmiş bir versiyonunu uygulayacağız.
                                      Sıfırdan bir ticaret Uzman Danışmanı geliştirme (Bölüm 19): Yeni emir sistemi (II) Sıfırdan bir ticaret Uzman Danışmanı geliştirme (Bölüm 19): Yeni emir sistemi (II)
                                      Bu makalede, grafiksel bir emir sistemi geliştireceğiz. Ama sıfırdan başlamayacağız, ticaret yaptığımız varlığın grafiğine daha fazla nesne ve olay ekleyerek mevcut sistemi değiştireceğiz.