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

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

MetaTrader 5Ticaret | 6 Temmuz 2022, 09:25
239 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Giriş

Bir önceki makalemde, bantlarla ticaret yapma konseptinde kullanılan en popüler göstergelerden biri olan Bollinger Bands hakkında konuşmuştum. Henüz okumadıysanız, okumanızı tavsiye ederim, şu linkten ulaşabilirsiniz: Bollinger Bands göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?

Bollinger Bands hakkında konuştuğum makalede bahsettiğim gibi, bantlarla ticaret yapma yönteminde kullanabileceğimiz birçok farklı araç mevcuttur. Araçlar, yaklaşımlarında hesaplamalar ve stratejiler açısından farklılık gösterir, ancak onları birleştiren ortak fikir ticaret için bantların kullanılmasıdır.

Bu makalede de bantlarla ticaret yapma yöntemi çerçevesinde başka bir araca bakacağız - Envelopes göstergesi. Gösterge, fiyatı çevreleyen iki banttan ve fiyatın hareketli ortalamasından oluşur. Göstergeyi aşağıdaki başlıklarda daha ayrıntılı olarak ele alacağız:

Bu başlıklar aracılığıyla göstergeyi derinlemesine anlaşılmasını sağlayacak şekilde açıklamaya çalışacağım. Anlatacağım bilgiler, daha iyi sonuçlar üretebilecek daha iyi bir ticaret planı veya stratejisi geliştirmenize yardımcı olacaktır. Bu amaçla, “Envelopes göstergesinin tanımı” başlığı altında, Envelopes göstergesi hakkında daha fazla ayrıntıyı sizlerle paylaşacağım. Daha iyi anlaşılması için nasıl hesaplandığından bahsedeceğiz. Ardından, ticaret sonuçlarımızı iyileştirecek stratejiler geliştirmeye çalışacağız.

“Envelopes göstergesi stratejileri” bölümünde, göstergeyi ticarette nasıl kullanabileceğimizin bir örneği olarak bazı temel stratejileri göstereceğim. Bunlar daha farklı ve karmaşık stratejiler oluşturmamıza yol teşkil edebilir. Ardından, çok ilginç bir konu olduğunu düşündüğüm “Envelopes göstergesine dayalı ticaret sisteminin planı” bölümünde, Envelopes göstergesi stratejilerini kullanarak bir ticaret sisteminin nasıl oluşturulacağına dair bir plan üzerinde çalışacağız. Daha sonra, “Envelopes göstergesine dayalı ticaret sistemi” bölümünde, MetaTrader 5'te kullanılabilecek MQL5 dilindeki Envelopes gösterge stratejilerine dayalı bir ticaret sisteminin nasıl tasarlanacağını sizlerle paylaşacağım.

Umarım bu makale sizin için faydalı olur ve kendi ticaret sisteminizi geliştirmenize veya daha iyi ticaret sonuçlarını elde etmenize yardımcı olacak fikirler edinirsiniz.

Dikkat!Bu makaledeki tüm kodlar MQL5 ile yazılmıştır. Bu kodlar MetaTrader 5'te çalıştırılabilir. Dolayısıyla, geliştirilen uygulamaları çalıştırmak için MetaTrader 5'e ihtiyacınız vardır. Eğer henüz MetaTrader 5 terminaline sahip değilseniz, şu linkten indirebilirsiniz: https://www.metatrader5.com/en/download

Kurulumdan sonra aşağıdaki MetaTrader 5 platformu penceresi görünecektir:

MT5 platformu

Kod yazmak için MetaQuotes Language Düzenleyicisini (MetaEditor) kullanacağız. Aşağıdaki görüntüler, düzenleyiciyi açmanın farklı yollarını göstermektedir:

Metaeditor açılışı 1

Metaeditor açılışı 2

Veya MetaTrader 5 penceresi açıkken F4 tuşuna basabilirsiniz.

Açılan MetaEditor kod düzenleyicisi penceresi şu şekilde görünecektir:

Metaeditor penceresi

Yeni bir dosyanın nasıl oluşturulacağı aşağıda açıklanmıştır:

Metaeditor penceresi


Metaeditor - Yeni dosya


  1. Uzman Danışman yazmak için yeni bir dosya açar
  2. Özel gösterge yazmak için yeni bir dosya açar
  3. Komut dosyası yazmak için yeni bir dosya açar

Daha fazla bilgi için bu makale serisinin ilk makalesini okuyabilirsiniz: Algoritmik Ticaret Sisteminizi Neden ve Nasıl Tasarlayacağınızı Öğrenin

Sorumluluk reddi: Bu makalenin tüm içeriği yalnızca eğitim amaçlıdır, başka herhangi bir amaca yönelik değildir. Dolayısıyla, bu makalenin içeriğine dayalı olarak gerçekleştireceğiniz her şey, yalnızca kendi sorumluluğunuzda ve riskinizde olacaktır, bu makalenin içeriği herhangi bir sonucu garanti etmemektedir.

Şimdi, ticaretimiz için nasıl faydalı olabileceğini görmek için Envelopes göstergesini inceleme yolculuğumuza başlayalım.


Envelopes göstergesinin tanımı

Envelopes göstergesi, bantlarla ticaret yapma yönteminde kullanılan araçlarından biridir ve daha önce bahsettiğim gibi, Bollinger Bands, Channels, Envelopes vb. gibi bu yöntemde kullanılan birçok araç vardır.

Basitçe ifade etmek gerekirse, Envelopes göstergesi hareketli ortalamayı belirli bir sabit yüzde mesafede çevreleyen iki banda sahiptir ve bu bantlar genellikle fiyatları da çevreler. Gösterge, trend hareketlerini filtrelemek ve yatay hareket sırasında ticaret yapmak için kullanılabilir.

Bazen trendler sırasında, yanlış kırılmalar veya testere dişi hareketleri gibi ters yönde bazı hareketlerle karşılaşırız. Bu tür hareketler yanlış bir sinyal üretebilir, ardından da fiyat önceki yöndeki hareketini devam etmeye geri dönebilir. Örneğin, fiyat hareketli ortalamayı yukarı doğru çaprazladığında, bu yukarı yönlü bir hareketin sinyali olarak işlev görür. Ancak daha sonrasında fiyat dönüp hareketli ortalamayı aşağı doğru çaprazlayabilir, yani yukarı doğru yaptığı hareketin tersi yönde devam edebilir. Bu arada, önceki makalemden, hareketli ortalamalar hakkında, onların nasıl kullanılacağı ve onlara dayalı ticaret sisteminin nasıl oluşturulacağı konusunda daha fazla bilgi edinebilirsiniz: Hareketli ortalamalara dayalı sistemler nasıl geliştirilir?

MA’da yanlış kırılma

Yukarıdaki görüntüde, fiyat hareketli ortalamayı aşağıdan yukarıya doğru çaprazlıyor ve sonrasında tekrar aşağı yönlü hareketine devam ediyor (yanlış kırılma).

Bazen alıcılar ve satıcılar arasında bir denge olduğunda veya net bir trend olmadığında yatay hareket seyrederiz, ancak bu hareketten de bir şekilde faydalanmalıyız.

Yukarıdaki bahsettiğim durumlarda, Envelopes göstergesi trendler sırasındaki hareketler için bir filtre görevi görebileceğinden bize yararlı olabilir. Fiyat hareketli ortalamayı yukarı doğru çaprazladığında, fiyatın Envelopes göstergesinin üst bandının üzerine çıkmasını bekleriz.

Envelopes doğrulaması olmadan MA çaprazlaması


Konuştuğumuz aynı hareket yukarıdaki görüntüde de Envelopes göstergesiyle birlikte gösterilmektedir: fiyat hareketli ortalamayı aşağıdan yukarıya doğru çaprazlıyor, ancak Envelopes göstergesinin üst bandına ulaşmıyor. Dolayısıyla, bu çaprazlamaya göre harekete geçmiyoruz ve gerçekten de fiyat tersine döndü ve tekrar aşağı yönlü hareketine devam etti.

Teknik analizin devreye girdiği yer burasıdır - en iyi sonuçları elde etmek için birleştirilebilecek birçok farklı strateji vardır.

Daha önce bahsettiğim gibi, Envelopes göstergesi fiyatları çevreleyen iki banda sahiptir, bu nedenle daha geniş aralığa sahip bantlara fiyatın ulaşma olasılığı daha düşükken, daha dar aralığa sahip bantlara fiyatın ulaşma olasılığı daha yüksektir.

Peki Envelopes göstergesi nasıl hesaplanmaktadır? Envelopes göstergesinin bantları, hareketli ortalamadan belirli bir yüzdelik uzaklıkta olacak şekilde ayarlanır. Bu yüzde, fiyat hareketine, zaman dilimine ve yatırımcının stratejisine bağlıdır.

Envelopes göstergesinin hesaplanması için gerekenler:

  1. Moving Average
  2. Envelopes’un %'si = Moving Average * %
  3. Envelopes’un üst bandı = Moving Average + Envelopes’un %'si
  4. Envelopes’un alt bandı = Moving Average - Envelopes’un %'si

Örnek bir hesaplamaya bakalım.

Varsayalım ki 14 gün için şu fiyatlara sahibiz:

Hesaplama örneği

Envelopes göstergesinin hesaplanması

  • Tercihe göre belirlenen Envelopes’un %'sini hesaplıyoruz

Envelopes göstergesinin hesaplanması

  • Envelopes’un üst bandını hesaplıyoruz

Envelopes göstergesinin hesaplanması

  • Envelopes’un alt bandını hesaplıyoruz

Envelopes göstergesinin hesaplanması

Bu hesaplama her tikte gerçekleştirilecek ve üst bandın değerleri fiyatların üzerinde, alt bandın değerleri de fiyatların altında çizilecektir.

Ancak, platformda yerleşik olarak bulunup otomatik olarak hesapladığından, göstergeyi manuel olarak hesaplamamız gerekmiyor.

Göstergeyi ekleme


Göstergeyi ekleme


Göstergenin parametreleri


Yukarıdaki görüntü, Envelopes göstergesinin parametrelerini göstermektedir:

  1. Hareketli ortalamanın periyodunu tanımlar
  2. Envelopes’un %'si
  3. Fiyat türü (kapanış, medyan fiyat, tipik fiyat, vb.)
  4. Grafikte Envelopes göstergesini kaydırma değeri
  5. Hareketli ortalama türü
  6. Envelopes’un üst bandının rengi
  7. Envelopes’un üst bandının çizgi stili
  8. Envelopes’un alt bandının rengi
  9. Envelopes’un alt bandının çizgi stili

Ve tüm parametreler belirlendikten sonra, aşağıdaki görüntüde gösterildiği gibi gösterge grafikte görünecektir:

Grafik üzerinde gösterge



Envelopes göstergesi stratejileri

Bu bölümde sizlerle bazı Envelopes göstergesi stratejilerini paylaşacağım. Bu stratejiler piyasanın durumuna veya piyasanın yönüne bağlı olarak kullanılır.

Hepimizin bildiği gibi, piyasada yükseliş trendi, düşüş trendi ve yatay hareket vardır. Belirli piyasa yönüne uygun olarak, bu piyasa hareketinden yararlanmamızı sağlayacak belirli bir strateji kullanacağız.

Envelopes göstergesi diğer araçlarla birleştirilebilir ve ilgili kombinasyona dayalı stratejiler oluşturulabilir. Bu şekilde birlikte kullanımda, sonuçlar tek bir araçla çalışmaktan daha iyi olabilir. Envelopes göstergesini örneğin fiyat hareketi modeli gibi başka bir araçla birleştirebilirsiniz: Envelopes göstergesinden sinyal geldiğinde fiyat hareketi modelinden de onay için sinyal bekleyebilirsiniz. İsteğe bağlı olarak, onay için başka bir teknik analiz göstergesi de kullanabilirsiniz. Birden fazla aracı daha doğru kararlar almak ve daha iyi sonuçlar elde etmek amacıyla birleştirmenin teknik analize dayalı ticarette harika bir yaklaşım olduğunu düşünüyorum.

Bahsedeceğim stratejileri trendde ve yatay harekette kullanılabilecek olarak ikiye ayıracağım. 

    Trend sırasında
      • Strateji 1: Yükseliş trendi

        Yükseliş trendindeki piyasalarda fiyatlar daha yüksek pikler ve daha yüksek çukurlar yapar. Şimdi ise fiyatların yükseliş trendinde Envelopes göstergesiyle nasıl ilişkide olduğunu bilmemiz gerekiyor.

        Bu gösterge, belirli bir fiyat döneminin (periyodun) ortalaması olan hareketli ortalamanın yüzdesi mesafede olduğundan, yükseliş trendi sırasında fiyatlar Envelopes göstergesinin üst bandının üzerine çıkacaktır. Dolayısıyla, yükseliş trendi sırasında buradaki stratejimiz şu şekilde olacaktır:

        Fiyat Envelopes’un üst bandını aşağıdan yukarıya doğru çaprazladığında alış sinyali elde ederiz, ardından fiyat Envelopes’un alt bandını yukarıdan aşağıya doğru çaprazladığında da kârı alırız.

        • Fiyat > Üst bant = alış
        • Fiyat < Alt bant = kârı al

        Strateji 1 - Yükseliş trendi

        • Strateji 2: Düşüş trendi

        Düşüş trendindeki piyasalarda fiyatlar daha düşük dipler ve daha düşük çukurlar yapar. Şimdi ise fiyatların düşüş trendinde Envelopes göstergesiyle nasıl ilişkide olduğunu bilmemiz gerekiyor.

        Düşüş trendi sırasında fiyatlar Envelopes göstergesinin alt bandının altına inecektir. Dolayısıyla, düşüş trendi sırasında buradaki stratejimiz şu şekilde olacaktır:

        Fiyat Envelopes’un alt bandını yukarıdan aşağıya doğru çaprazladığında satış sinyali elde ederiz, ardından fiyat Envelopes’un üst bandını aşağıdan yukarıya doğru çaprazladığında da kârı alırız.

        • Fiyat < Alt bant = satış
        • Fiyat > Üst bant = kârı al

        Strateji 2 - Düşüş trendi


        • Strateji 3: Yatay hareket:

        Yatay harekette fiyatlar, net yeni pik veya dip olmaksızın belirsiz bir yanal hareketle hareket eder. Piyasada, bir tarafın diğeri üzerinde belirgin bir kontrolü olmaksızın alıcılar ve satıcılar arasında bir denge vardır. Yatay hareketi tanımlamanın başka yolları da var, ancak bu hareket tipinin yukarı ve aşağı trend dışındaki herhangi bir hareket olduğunu bilmek bence yeterli. Şimdi ise fiyatların yatay harekette Envelopes göstergesiyle nasıl ilişkide olduğunu bilmemiz gerekiyor.

        Yatay hareket sırasında fiyatlar, Envelopes göstergesinin alt ve üst bantları arasında hareket edecektir. Dolayısıyla, yatay hareket sırasında buradaki stratejimiz şu şekilde olacaktır:

        Fiyat Envelopes’un alt bandına dokunduğunda alış sinyali elde ederiz, ardından fiyat Envelopes’un üst bandına dokunduğunda da kârı alırız. Fiyat Envelopes’un üst bandına dokunduğunda satış sinyali elde ederiz, ardından fiyat Envelopes’un alt bandına dokunduğunda da kârı alırız.

        • Fiyat = Alt bant = alış
        • Fiyat = Üst bant = kârı al
        • Fiyat = Üst bant = satış
        • Fiyat = Alt bant = kârı al

        Strateji 3 - Yatay hareket

        Bu stratejilerin, göstergenin olası kullanımlarını göstermek için yalnızca eğitim amaçlı sunulduğunu lütfen unutmayın. Elbette, stratejilerin kullanımdan önce daha da iyileştirilmesi ve geliştirilmesi gerekiyor. Okuduğunuz veya öğrendiğiniz her stratejiyi her zaman iyice test ettiğinizden emin olun. Özellikle stratejiler eğitim amaçlı sunuluyorsa, onları asla test etmeden ve sonuçları kontrol etmeden kullanmayın.


        Envelopes göstergesine dayalı ticaret sisteminin planı

        Bu bölümde, tam olarak programdan ne istediğimizi ve programın ne yapması gerektiğini belirlemek amacıyla söz konusu stratejilerimizi bir plan olarak tasarlayacağız. Öyleyse, başlayalım.

          Trend sırasında
            • Strateji 1: Yükseliş trendi
                • Fiyat > Üst bant = alış
                • Fiyat < Alt bant = kârı al

              Dolayısıyla, bu stratejinin planı şu şekilde olacaktır:

              Yükseliş trendi stratejisi planı


                • Strateji 2: Düşüş trendi:
                    • Fiyat < Alt bant = satış
                    • Fiyat > Üst bant = kârı al

                  Dolayısıyla, bu stratejinin planı şu şekilde olacaktır:

                  Düşüş trendi stratejisi planı

                    Yatay hareket sırasında,
                      • Strateji 3: Yatay hareket:
                          • Fiyat = Alt bant = alış
                          • Fiyat = Üst bant = kârı al
                          • Fiyat = Üst bant = satış
                          • Fiyat = Alt bant = kârı al
                        Dolayısıyla, bu stratejinin planı şu şekilde olacaktır:

                        Yatay hareket stratejisi planı



                        Envelopes göstergesine dayalı ticaret sistemi

                        Bu bölümde, MQL5’i kullanarak bu stratejileri Uzman Danışman (EA, Expert Advisor) şeklinde nasıl kodlayabileceğinizi sizlerle paylaşacağım. Bu program, ticaret sinyallerini otomatik olarak algılayacaktır, böylece ticaretinizin gelişmesine yardımcı olacaktır. Şimdi size temel bir Envelopes Uzman Danışmanının nasıl kodlanacağını göstereceğim. Programımıza Envelopes göstergesinin üst ve alt bantlarının değerlerini grafik üzerinde yorum olarak ifade etmesi için talimatlar vererek başlayalım.

                        Envelopes göstergesinin üst ve alt bantlarının değerlerini grafik üzerinde yorum olarak görmemizi sağlayacak bir program tasarlayalım:

                        //+------------------------------------------------------------------+
                        //|                                          Simple Envelopes EA.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"
                        
                        //+------------------------------------------------------------------+
                        //| Expert tick function                                             |
                        //+------------------------------------------------------------------+
                        void OnTick()
                          {
                           //Creating an array for price info
                           MqlRates PriceInfo[];
                           
                           //Sorting it from current data to old data
                           ArraySetAsSeries(PriceInfo, true);
                           
                           //Copy prices data to array
                           int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                           
                           //Creating two arrays for prices of upper and lower band
                           double UpperBandArray[];
                           double LowerBandArray[];
                           
                           //Identify Envelopes indicator
                           int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                           
                           //Copying prices data to arrays
                           CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                           CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                           
                           //Calculation for the current data
                           double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                           double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                           
                           //Comments on the chart with values of Band of Envelopes
                           Comment("Envelopes Upper Band =",UpperBandValue,"\n" "Envelopes Lower Band =",LowerBandValue,"\n");
                           
                          }
                        //+------------------------------------------------------------------+
                        

                        Aşağıdaki görüntü, kodu MetaTrader 5 terminalinde nasıl çalıştırabileceğinizi göstermektedir:

                        Simple Envelopes EA ekleme

                        Dosyayı grafiğe sürükleyebilir veya üzerine çift tıklayabilirsiniz. Program çalışacak ve aşağıdaki pencere açılacaktır.

                        1

                        Ardından program grafikte görüntülenecektir:

                        11

                        MetaTrader 5 ticaret terminalinde kodu çalıştırdıktan sonra aşağıdaki şekildeki gibi grafiği ve üzerindeki sinyalleri göreceğiz:

                        Simple Envelopes EA


                        Envelopes göstergesi iki banda sahiptir - alt bant ve üst bant - ve değerlerini grafikte görebiliriz.

                        Şimdi, yukarıda bahsettiğimiz üç stratejiyi kodlayacağız: birinci strateji yükseliş trendi sırasında alış yapmak ve sonrasında kârı almak içindir, ikinci strateji düşüş trendi sırasında satış yapmak ve sonrasında kârı almak içindir, üçüncü strateji de yatay hareket sırasında alt bantta alış yapmak ve sonrasında üst bantta kârı almak, ayrıca üst bantta satış yapmak ve sonrasında alt bantta kârı almak içindir. 

                          Trend sırasında
                            • Strateji 1: Yükseliş trendi:
                                • Fiyat > Üst bant = alış
                                • Fiyat < Alt bant = kârı al

                              Bu stratejiyi çalıştıracak programın kodu şu şekilde olacaktır:

                              //+------------------------------------------------------------------+
                              //|                                   Envelopes uptrend Strategy.mq5 |
                              //|                                  Copyright 2022, MetaQuotes Ltd. |
                              //|                                             https://www.mql5.com |
                              //+------------------------------------------------------------------+
                              #property copyright "Copyright 2022, MetaQuotes Ltd."
                              #property link      "https://www.mql5.com"
                              #property version   "1.00"
                              
                              //+------------------------------------------------------------------+
                              //| Expert tick function                                             |
                              //+------------------------------------------------------------------+
                              void OnTick()
                                {
                                 //Creating an array for price info
                                 MqlRates PriceInfo[];
                                 
                                 //Sorting it from current data to old data
                                 ArraySetAsSeries(PriceInfo, true);
                                 
                                 //Copy prices data to array
                                 int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                 
                                 //Creating two arrays for prices of upper and lower band
                                 double UpperBandArray[];
                                 double LowerBandArray[];
                                 
                                 //Identify Envelopes indicator
                                 int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                                 
                                 //Copying prices data to arrays
                                 CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                 CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                 
                                 //Calculation for the current data
                                 double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                 double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                 
                                 //Comment Buy signal on the chart or no signal
                                 if (PriceInfo[0].close > UpperBandValue)
                                 Comment("Envelopes Buy Signal");
                                 
                                 if (PriceInfo[0].close < LowerBandValue)
                                 Comment("Envelopes Take Profit or Stop Loss");
                                 
                                }
                              //+------------------------------------------------------------------+
                              

                              Uzman Danışman kodunu MetaTrader 5 terminalinde çalıştırın:

                              Envelopes Uptrend Strategy ekleme


                              Dosyayı grafiğe sürükleyebilir veya üzerine çift tıklayabilirsiniz. Program çalışacak ve aşağıdaki pencere açılacaktır.

                              2

                              Ardından program grafikte görüntülenecektir:

                              22

                              MetaTrader 5 ticaret terminalinde kodu çalıştırdıktan sonra aşağıdaki şekildeki gibi grafiği ve üzerindeki sinyalleri göreceğiz:

                              Envelopes Uptrend Strategy - Alış sinyali

                              Yukarıdaki grafikte görebileceğimiz gibi, yükseliş trendi sırasında fiyat üst bandın üzerine çıktığında program bize alış sinyali veriyor.

                              Envelopes Uptrend Strategy - Kârı al sinyali

                              Yukarıdaki grafikte görebileceğimiz gibi, fiyat alt bandın altına düştüğünde program bize kârı al sinyali veriyor.

                                • Strateji 2: Düşüş trendi
                                    • Fiyat < Alt bant = satış
                                    • Fiyat > Üst bant = kârı al

                                  Bu stratejiyi çalıştıracak programın kodu şu şekilde olacaktır:

                                  //+------------------------------------------------------------------+
                                  //|                                 Envelopes Downtrend Strategy.mq5 |
                                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                                  //|                                             https://www.mql5.com |
                                  //+------------------------------------------------------------------+
                                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                                  #property link      "https://www.mql5.com"
                                  #property version   "1.00"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close < LowerBandValue)
                                     Comment("Envelopes Short Signal");
                                     
                                     if (PriceInfo[0].close > UpperBandValue)
                                     Comment("Envelopes Take Profit or Stop Loss");
                                     
                                    }
                                  //+------------------------------------------------------------------+

                                  Uzman Danışman kodunu MetaTrader 5 terminalinde çalıştırın:

                                  Envelopes Downtrend Strategy ekleme


                                  Dosyayı grafiğe sürükleyebilir veya üzerine çift tıklayabilirsiniz. Program çalışacak ve aşağıdaki pencere açılacaktır.

                                  3

                                  Ardından program grafikte görüntülenecektir:

                                  33

                                  Envelopes Downtrend Strategy - Satış sinyali

                                  Yukarıdaki grafikte görebileceğimiz gibi, fiyat düşüş trendi sırasında alt bandın altına indiğinde program bize satış sinyali veriyor.

                                  Envelopes Downtrend Strategy - Kârı al sinyali

                                  Yukarıdaki grafikte görebileceğimiz gibi, fiyat düşüş trendi sırasında üst bandın üzerine çıktığında program bize kârı al sinyali veriyor.

                                    • Strateji 3: Yatay hareket
                                  • Fiyat = Alt bant = alış
                                  • Fiyat = Üst bant = kârı al
                                  Bu stratejiyi çalıştıracak programın kodu şu şekilde olacaktır:
                                  //+------------------------------------------------------------------+
                                  //|                              Envelopes Sideways Buy Strategy.mq5 |
                                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                                  //|                                             https://www.mql5.com |
                                  //+------------------------------------------------------------------+
                                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                                  #property link      "https://www.mql5.com"
                                  #property version   "1.00"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.150);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close <= LowerBandValue)
                                     Comment("Envelopes Buy Signal");
                                     
                                     if (PriceInfo[0].close >= UpperBandValue)
                                     Comment("Envelopes Take Profit");
                                     
                                     if (PriceInfo[0].close > LowerBandValue
                                     &&  PriceInfo[0].close < UpperBandValue)
                                     Comment("No Signal"); 
                                    }
                                  //+------------------------------------------------------------------+
                                  
                                  Aşağıdaki görüntü, kodu MetaTrader 5 terminalinde nasıl çalıştırabileceğinizi göstermektedir:

                                  Envelopes Sideways Buy Strategy ekleme


                                  Dosyayı grafiğe sürükleyebilir veya üzerine çift tıklayabilirsiniz. Program çalışacak ve aşağıdaki pencere açılacaktır.

                                  4

                                  Ardından program grafikte görüntülenecektir:

                                  44

                                  Envelopes Sideways Buy Strategy - Sinyal yok

                                  MetaTrader 5 ticaret terminalinde kodu çalıştırdıktan sonra aşağıdaki şekildeki gibi grafiği ve üzerindeki sinyalleri göreceğiz:

                                  Envelopes Sideways Buy Strategy - Alış sinyali

                                  Yukarıdaki grafikte görebileceğimiz gibi, fiyat yatay hareket sırasında alt banda dokunduğunda program bize alış sinyali veriyor.


                                  Envelopes Sideways Buy Strategy - Kârı al sinyali

                                  Yukarıdaki grafikte görebileceğimiz gibi, fiyat yatay hareket sırasında üst banda dokunduğunda program bize kârı al sinyali verir

                                  • Fiyat = Üst bant = satış
                                  • Fiyat = Alt bant = kârı al

                                  Bu stratejiyi çalıştıracak programın kodu şu şekilde olacaktır:

                                  //+------------------------------------------------------------------+
                                  //|                            Envelopes Sideways Short Strategy.mq5 |
                                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                                  //|                                             https://www.mql5.com |
                                  //+------------------------------------------------------------------+
                                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                                  #property link      "https://www.mql5.com"
                                  #property version   "1.00"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.150);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close >= UpperBandValue)
                                     Comment("Envelopes Short Signal");
                                     
                                     if (PriceInfo[0].close <= LowerBandValue)
                                     Comment("Envelopes Take Profit");
                                    
                                     if (PriceInfo[0].close > LowerBandValue
                                     &&  PriceInfo[0].close < UpperBandValue)
                                     Comment("No Signal"); 
                                     
                                    }
                                  //+------------------------------------------------------------------+
                                  
                                  Aşağıdaki görüntü, kodu MetaTrader 5 terminalinde nasıl çalıştırabileceğinizi göstermektedir:

                                  Envelopes Sideways Sell Strategy ekleme


                                  Dosyayı grafiğe sürükleyebilir veya üzerine çift tıklayabilirsiniz. Program çalışacak ve aşağıdaki pencere açılacaktır.

                                  5

                                  Ardından program grafikte görüntülenecektir:

                                  55

                                  Envelopes Sideways Sell Strategy - Sinyal yok

                                  Yukarıdaki grafikte görebileceğimiz gibi, fiyat yatay hareket sırasında üst bant ile alt bant arasında hareket ettiği için program bize sinyal yok mesajı veriyor.


                                  Envelopes Sideways Sell Strategy - Satış sinyali

                                  Yukarıdaki grafikte görebileceğimiz gibi, fiyat yatay hareket sırasında üst banda dokunduğunda program bize satış sinyali veriyor.

                                  Envelopes Sideways Sell Strategy - Kârı al sinyali

                                  Yukarıdaki grafikte görebileceğimiz gibi, fiyat yatay hareket ederken alt banda dokunduğunda program bize kârı al sinyali veriyor.


                                  Sonuç

                                  Bu makalede, Envelopes göstergesi aracılığıyla bantlarla ticaret yapma konseptini ele aldık. Bantlarla ticaret yapmanın faydalarından bahsettik ve Envelopes göstergesinin trendler ve yatay hareket sırasında nasıl kullanılabileceğini inceledik.

                                  Envelopes göstergesinin nasıl hesaplandığını da gördük, çünkü kullandığımız aracın nasıl işlediğini anlamak her zaman iyidir. Envelopes göstergesi, ticaret kararlarımızı ve sonuçlarımızı nasıl iyileştirebileceğimiz konusunda bize yeni bilgiler ve fikirler verebilecek göstergelerden biridir.

                                  Bu makalede ayrıca, göstergenin farklı piyasa koşullarında kullanılmasına olanak sağlayan basit bir strateji düzenledik: yükseliş trendinde, düşüş trendinde ve yatay harekette. Ek olarak, bu strateji doğrultusunda bir ticaret sistemi planının nasıl oluşturulacağını da inceledik - böyle bir plan, seçilen strateji çerçevesinde neyin ve nasıl programlanacağını belirlemeye yardımcı olmaktadır.

                                  Makalede Envelopes göstergesine dayalı stratejilerin uygulanmasına ilişkin MQL5 dilindeki kodlar da yer almaktadır. Ve tekrar belirtmek istiyorum ki, bu makalenin asıl amacı, programlamanın finansal piyasalarda işlem yaparken bize nasıl yardımcı olabileceğini göstermektir.

                                  Konuyu daha iyi anlamak adına makalede anlatılan kodları kendiniz yazıp çalıştırmanızı tavsiye ederim. Umarım makale sizin için faydalı olur ve ticaret hedeflerinize ulaşmanıza yardım sağlar.


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

                                  Momentum göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? Momentum göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
                                  Bir önceki makalemde trend tespitinin yani fiyat hareketinin yönünü belirlemenin öneminden bahsetmiştim. Bu makalede de, bu konuda ticarette önemli bir araç olan Momentum göstergesinden bahsedeceğim. Ve Momentum göstergesine dayalı ticaret sisteminin nasıl geliştirileceğini sizlerle paylaşacağım.
                                  Bir grafikte birden fazla gösterge (Bölüm 03): Özel tanımlar geliştirme Bir grafikte birden fazla gösterge (Bölüm 03): Özel tanımlar geliştirme
                                  Bugün gösterge sisteminin işlevselliğini ilk kez güncelleyeceğiz. Bir önceki makalede, bir grafik alt penceresinde birden fazla göstergenin kullanılmasına olanak sağlayan kodu ele aldık. Ancak sunulan şey, çok daha büyük bir sistemin yalnızca başlangıç temeliydi.
                                  Bir grafikte birden fazla gösterge (Bölüm 04): Uzman Danışmanla çalışma Bir grafikte birden fazla gösterge (Bölüm 04): Uzman Danışmanla çalışma
                                  Önceki makalelerimde, özel gösterge kullanarak birden fazla göstergenin nasıl oluşturulacağından bahsetmiştim. Bu sefer ise Uzman Danışmana nasıl birden fazla göstergenin ekleneceğini inceleyeceğiz.
                                  Bir grafikte birden fazla gösterge (Bölüm 02): Kodlamaya başlangıç Bir grafikte birden fazla gösterge (Bölüm 02): Kodlamaya başlangıç
                                  Bu makale serisinin bir önceki bölümünde, bir grafikte birden fazla göstergenin nasıl kullanılabileceğinin kavramlarından ve temellerinden bahsettim. Bu yazımda da kaynak kodunu detaylı olarak sunacağım ve anlatacağım.