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

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

MetaTrader 5Ticaret | 22 Ağustos 2022, 08:11
398 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Giriş

Bu makalede de, en popüler ticaret araçlarından bir diğerini inceleyeceğiz. Moving Average Convergence Divergence (MACD) göstergesinden bahsedeceğiz. Gösterge hakkında detaylı olarak konuşacağız ve ticarette nasıl kullanılabileceğini göreceğiz. Doğru zamanda ve doğru yönde ticaret kararları vermek için piyasanın yönünü belirlemenin ne kadar önemli olduğunu önceki makalelerimde defalarca dile getirmiştim.

Dolayısıyla ilk adım, piyasanın yönünü belirlemektir. Yönlülük açısından iki farklı hareket türü vardır:

  • Yönlü hareket.
  • Yönsüz hareket.

Yönlü hareket: fiyatların hangi yönde hareket ettiğini açıkça belirleyebildiğimiz anlamına gelir: yukarı veya aşağı yönde. Bu iki yöndeki harekete göre iki farklı trend tipi tanımlayabiliriz: sırasıyla yükseliş trendi ve düşüş trendi.

  • Yükseliş trendi: fiyatın yukarı yönlü hareket etmesi, artması anlamına gelir. Burada piyasa, alıcıların/boğaların kontrolündedir, bu nedenle bu piyasa tipine genellikle boğa piyasası denir. Bu harekette, fiyatlar daha yüksek pikler ve daha yüksek çukurlar oluşturur, bunu aşağıdaki görüntüden görebilirsiniz.


Yükseliş trendi

  • Düşüş trendi: fiyatın aşağı yönlü hareket etmesi, azalması anlamına gelir. Burada piyasa, satıcıların/ayıların kontrolündedir, bu nedenle bu piyasa tipine genellikle ayı piyasası denir. Bu harekette, fiyatlar daha düşük dipler ve daha düşük çukurlar oluşturur, bunu aşağıdaki görüntüden görebilirsiniz.


Düşüş trendi

Yönsüz hareket: fiyatların yukarı veya aşağı yönlü olarak hangi yönde açıkça hareket ettiğini belirleyemediğimiz anlamına gelir. Bu tür hareket yatay hareket olarak adlandırılabilir. Bu hareket tipinin yükseliş veya düşüş trendi dışındaki herhangi bir hareket olduğunu söyleyebiliriz. Yatay hareket olarak nitelendirilebilecek birçok fiyat oluşumu vardır.

Fiyat hareketini tespit edip yönünü nasıl belirleyeceğimizi anladık. Ancak bir şeyi daha belirtmekte fayda var. Bu, fiyat hareketinin yöne ek olarak sahip olduğu diğer bir boyuttur: fiyat hareketinin hızını belirlememizi sağlayan momentum. Momentumu belirlememize ve böylece piyasa yönünün güçlü olup olmadığını anlamamıza yardımcı olabilecek birçok araç var.

Bu araçlardan biri, teknik yatırımcılar arasında yaygın olarak kullanılan göstergelerden biri olan Moving Average Convergence Divergence (MACD) göstergesidir. Bu makalede, bu göstergeyi ayrıntılı olarak inceleyeceğiz ve ona dayalı bir ticaret sistemi geliştireceğiz. Bu amaçla şu konuları ele alacağız:

Göstergenin neyi ölçtüğü, nasıl hesaplandığı ve nasıl kullanılacağı hakkında daha fazla bilgi edineceğimiz ilk bölüm olan ‘MACD göstergesinin tanımı’yla başlayacağız. Daha sonra ‘MACD göstergesi stratejileri’ bölümünde, MACD ile kullanılabilecek basit stratejileri ele alacağız. Devamında, 'MACD göstergesine dayalı ticaret sisteminin planı' bölümünde, ele aldığımız MACD stratejileri için bir ticaret sistemi geliştirirken bize yardımcı olabilecek bir plan oluşturacağız. Ardından, bu stratejileri için bir ticaret sistemini nasıl geliştireceğimizi öğreneceğiz.

Daha önceki makalelerimde olduğu gibi, bu ticaret sistemini tasarlamak için de MetaTrader 5 işlem platformunu ve MetaTrader 5'e entegre MetaQuotes Language Düzenleyicisini kullanacağız. MetaTrader 5'i şu linkten indirebilirsiniz: https://www.metatrader5.com/en/download

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

MT5 işlem terminali

Ardından, MetaQuotes Language Düzenleyicisini (MetaEditor) açmak için platform açıkken F4 tuşuna basın veya aşağıda gösterildiği gibi platformdaki Araçlar menüsünden MetaQuotes Language Düzenleyicisi komutunu kullanın:

MQL5 açılışı

Veya IDE düğmesine tıklayın:

MT5 terminali IDE düğmesi

Böylece MetaQuotes Language Düzenleyicisi penceresi açılacaktır:

MetaEditor - Yeni dosya penceresi

Bu pencere, düzenleyiciyi kullanarak neler yapabileceğinize dair çeşitli seçenekler sunar, bunlar arasında:

1. Program koşullarını otomatik olarak yürütebilen bir Uzman Danışman oluşturmak için yeni bir dosya açar.

2. Grafiği net bir şekilde okumamıza ve grafiklerde görünmeyenleri görmemize yardımcı olacak bir özel gösterge oluşturmak için yeni bir dosya açar.

3. Tek seferlik talimatları yürütebilen bir komut dosyası oluşturmak için yeni bir dosya açar.

Bu makalede, program koşullarını otomatik olarak yürütebilen bir Uzman Danışman oluşturmak için ilk seçeneği seçeceğiz.

Ek olarak, öğrendiğiniz her şeyi kullanmadan önce test etmenizi şiddetle tavsiye ediyorum. Daha fazlasını öğrenmek ve edinilen bilgileri pekiştirmek amacıyla öğrendiklerinizi kendi başınıza pratik etmeniz ve uygulamanız gerekir. Bu, ticaretiniz için size faydalı olabilecek yeni fikirler bulmanıza ve içgörüler elde etmenize yardımcı olacaktır.

Sorumluluk reddi: Sağlanan tüm bilgiler 'olduğu gibi' yalnızca bilgilendirme amaçlıdır, ticaret tavsiyesi değildir. Bu makalenin içeriği 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, ticaret hakkında daha fazla bilgi edinmek ve bu yeni bilgilere dayalı bir ticaret sisteminin nasıl oluşturulacağını öğrenmek için konularımızı incelemeye başlayalım.


MACD göstergesinin tanımı

Bu bölümde ticarette kullanılabilecek en popüler ve kullanışlı araçlardan biri olan Moving Average Conversion Divergence (MACD) göstergesini detaylı olarak inceleyeceğiz (MACD, genellikle M-A-C-D veya MAC-Dee olarak okunur - tabi, bu önemli değil). Önemli olan bu göstergenin nasıl kullanılabileceği, neyi ölçtüğü ve nasıl hesaplandığıdır. Bu bilgiler, ticaret sonuçlarımızı iyileştirebileceğinden ve ticaretimizde faydalı olabilecek yeni fikirler bulmamızı sağlayabileceğinden, bize ve ticaretimize yararlı olabilir.

MACD nedir?

Moving Average Conversion Divergence (MACD), Gerald Appel tarafından geliştirilmiş olan bir osilatör göstergesidir. Hesaplanmasında iki Exponential Moving Average (EMA) kullanılır. Hareketli ortalamalar ve türleri hakkında daha fazla bilgi edinmek istiyorsanız, lütfen “Hareketli ortalamalara dayalı sistemler nasıl geliştirilir?” başlıklı makalemi okuyun. MACD, trendi izlediği ve doğruladığı için bir trend takip göstergesidir.

İki çizgiden oluşur:

  • Daha hızlı olan MACD çizgisi. Varsayılan olarak periyotları 12 ve 26 olan iki Exponential Moving Average arasındaki farkın sonucudur, ancak periyotları tercihlerinize ve ticaret ihtiyaçlarınıza bağlı olarak değiştirebilirsiniz.
  • Daha yavaş olan sinyal çizgisi. Bu, MACD çizgisinin 9 periyotluk EMA’sıdır ve dolayısıyla, iki hareketli ortalama arasındaki farkın hareketli ortalaması olduğu için bu çizgi daha yavaştır.

MACD göstergesinin başka bir varyasyonu da vardır - histogram MACD. Histogram, MACD çizgisi ile sinyal çizgisi arasındaki farkı gösterir, yani iki çizginin birbirine olan uzaklığını yansıtır. Burada sinyal çizgisi MACD çizgisinden çıkartılır. Ancak bu makalede histogramla değil iki çizgiyle çalışacağız ve bu iki çizgiye dayalı olarak kullanılabilecek stratejileri ele alacağız.

Buna göre MACD göstergesinin hesaplanması şu adımlardan oluşur:

  1. 12 periyotluk Exponential Moving Average (12 EMA) al.
  2. 26 periyotluk Exponential Moving Average (26 EMA) al.
  3. 12 EMA ile 26 EMA arasındaki farkı al = MACD çizgisi.
  4. MACD çizgisinin 9 periyotluk EMA’sını al = Sinyal çizgisi.

EMA = (kapanış*(2/(n+1)))+(önceki MA*(1-(2/(n+1))))). Bu denklemde ilk olarak SMA’yı, daha sonra EMA’yı hesapladığımıza dikkat edin.

Bu hesaplamanın nasıl uygulanacağına dair bir örneğe bakalım:

Hesaplama yapabilmemiz için minimum 34 periyotluk veriye ihtiyacımız var: 12 EMA’yı hesaplamak için 12 periyot, 26 EMA’yı hesaplamak için 26 periyot, aralarındaki farkı hesaplayarak MACD çizgisini alıyoruz, sonrasında sinyal çizgisini hesaplamak için de MACD çizgisinin 9 periyoduna daha ihtiyacımız var. Varsayalım ki şu verilere sahibiz:

Periyot Kapanış
1 100
2 130
3 140
4 130
5 120
6 140
7 160
8 170
9 155
10 140
11 160
12 180
13 190
14 200
15 210
16 200
17 190
18 185
19 195
20 200
21 210
22 220
23 215
24 225
25 230
26 235
27 230
28 225
29 220
30 215
31 225
32 235
33 240
34 245

Göstergeyi hesaplamak için önce aşağıda gösterildiği gibi 12 EMA’yı hesaplayacağız:

12 EMA

Devamında 26 EMA'yı hesaplayacağız:

26 EMA

Ardından 12 EMA ile 26 EMA arasındaki farkı hesaplayarak MACD çizgisini hesaplayacağız, şu şekilde olacaktır:

MACD çizgisi

Sonrasında da sinyal çizgisini hesaplayacağız:

Sinyal çizgisi

Böylece örneğimiz için MACD’yi hesaplamış olduk. Ancak, MetaTrader 5 platformuyla birlikte gelen hazır bir gösterge bulunduğundan, göstergeyi manuel olarak hesaplamanıza gerek yoktur. Yine de hesaplama özelliklerini bilmek, göstergenin ana fikrini daha iyi anlamanızı sağlar. Göstergeyi MetaTrader 5’te grafiğe eklediğinizde farklı göründüğünü göreceksiniz. Aynı olarak MACD çizgisini ve sinyal çizgisini hesaplamasına rağmen farklı şekilde sunulmaktadır:

  • MACD çizgisini temsil eden çubuklar
  • Sinyal çizgisini temsil eden çizgi

İki çizgi olacak şekilde aynı göstergedir, ancak sadece görünümü farklıdır. Şimdi göstergeyi grafiğe nasıl yerleştireceğimizi ve grafikte nasıl görüneceğine bakalım.

Açık MetaTrader 5 terminalinde, Ekle sekmesine tıklayın, ardından Göstergeler -> Osilatörler -> MACD'yi seçin.

MACD göstergesini ekleme

Bu, MACD parametreleri penceresini açacaktır:

MACD göstergesi parametreleri

Pencerede şu MACD parametreleri bulunmaktadır:

1,2,3: MACD hesaplamasında kullanılacak periyotları belirler.

4: MACD hesaplamasında kullanılacak fiyat türünü belirler.

5: MACD çizgisi için renk ve çubuk kalınlığını ayarlar.

6: Sinyal çizgisi için renk, stil ve kalınlığı ayarlar.

Parametreleri belirledikten sonra Tamama tıklayın ve MACD göstergesi grafikte şu şekilde görüntülenecektir:

Grafikte MACD göstergesi

Böylece MACD göstergesinin ne olduğunu, nasıl hesaplandığını ve grafikte nasıl göründüğünü öğrendik.


MACD göstergesi stratejileri

Bu bölümde, MACD göstergesine dayalı olarak ticarette kullanılabilecek iki basit stratejiyi ele alacağız. Daha önce de bahsettiğimiz gibi MACD göstergesi bir osilatör göstergesi olduğundan ve sıfır civarında salındığından stratejiler çaprazlamaya bağlı olacaktır. MACD iki çizgiden oluşur, stratejilerimizi de bu iki çizgiye göre kullanacağız.

  • Birinci strateji: MACD piyasa dedektörü

Bu stratejiye göre, piyasanın durumunu tanımlamamız gerekiyor: alış için mi yoksa satış için mi uygun? Başka bir deyişle, piyasanın yükseliş veya düşüş trendinde olup olmadığını belirlememiz gerekiyor, bu, MACD tarafından belirlenecek. MACD ana çizgisi sıfır seviyesinin üzerine çıkarsa, bu yükseliş sinyali, tam tersi şekilde, MACD ana çizgisi sıfır seviyesinin altına düşerse de, bu düşüş sinyali olacaktır.

Böylece,

MACD ana çizgisi > 0 = Yükseliş sinyali

MACD ana çizgisi < 0 = Düşüş sinyali

  • İkinci strateji: MACD çizgilerinin çaprazlaması

Bu stratejiye göre, MACD ana çizgisinin sinyal çizgisini çaprazlamasına dayalı olarak alış sinyali veya satış sinyali oluşur. MACD ana çizgisi sinyal çizgisini aşağıdan yukarıya çaprazladığında alış, yukarıdan aşağıya çaprazladığında da satış sinyali oluşur.

Böylece,

MACD ana çizgisi > MACD sinyal çizgisi = Alış sinyali

MACD ana çizgisi < MACD sinyal çizgisi = Satış sinyali

Bunlar, MACD göstergesine dayalı olarak kullanabilecek iki basit stratejidir. MACD'ye dayalı olarak kullanılabilecek farklı birçok strateji vardır ve onlar çok kullanışlı olabilirler. Ancak, amacımız gösterge kavramını anlamak olduğu için burada sadece bu iki basit stratejiyi ele alıyoruz. Şimdi, bu basit stratejileri kullanarak bir ticaret sisteminin nasıl tasarlanacağına geçelim.


MACD göstergesine dayalı ticaret sisteminin planı

Bu bölümde, yukarıda bahsettiğimiz iki stratejiye dayalı bir ticaret sistemi yazmamıza yardımcı olacak bir plan oluşturacağız.

  • Birinci strateji: MACD piyasa dedektörü

Bu stratejiye göre, bilgisayara MACD ana çizgisinin değerini her tikte sıfır seviyesiyle karşılaştırarak piyasa durumunu bildirmesini söylemeliyiz. MACD ana çizgisi sıfırın üzerindeyse, program grafik üzerinde şu yorumu yazmalıdır: "Bullish Setup As MACD MainLine is ...”, ... olan yere MACD ana çizgisinin mevcut değeri gelecektir. Veya MACD ana çizgisi sıfırın altındaysa, program grafik üzerinde şu yorumu yazmalıdır: "Bearish Setup As MACD MainLine is ...”, yine ... olan yere MACD ana çizgisinin mevcut değeri gelecektir.

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

Birinci MACD stratejisinin planı

  • İkinci strateji: MACD çizgilerinin çaprazlaması

Bu stratejiye göre, bilgisayara MACD çizgilerinin (ana çizgi ve sinyal çizgisi) çaprazlamasına dayalı olarak bize uygun sinyali bildirmesini söylemeliyiz. Böylece program MACD çizgilerini her tikte kontrol etmeli ve MACD ana çizgisi MACD sinyal çizgisinin üzerine çıktığında, grafiğe "Buying Signal As MACD MainLine is Above MACD SignalLine", "MACD Main Line Value is..." ve "MACD Signal Line Value is..." yorumlarını yazmalıdır, ... olan yerlere sırasıyla MACD ana çizgisinin ve MACD sinyal çizgisinin mevcut değerleri gelecektir. MACD ana çizgisi MACD sinyal çizgisinin altına düştüğünde de benzer yorumlar Selling Signal için yazılmalıdır.

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

İkinci MACD stratejisinin planı

MACD göstergesine dayalı ticaret sistemi

Bu bölümde, MQL5 programlama dilini kullanarak ticaret sistemimizi oluşturmak amacıyla bu stratejileri nasıl kodlayacağımızı öğreneceğiz. Ortaya çıkan program daha sonra MetaTrader 5 işlem platformunda çalıştırılabilecek ve sonuç olarak tanımladığımız koşullara uygun şekilde grafik üzerinde yorumları alabileceğiz. Fakat bu iki basit stratejiyi programlamadan önce MACD değerlerini grafik üzerinde yorum olarak gösterecek bir program oluşturalım.

MACD ana çizgisinin mevcut değerini grafik üzerinde yorum olarak gösterecek programın kodu:

//+------------------------------------------------------------------+
//|                                  Simple MACD MainLine System.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   //cretaing an array for prices
   double MACDMainLine[];
   
   //Defining MACD and its parameters
   int MACDDef = iMACD(_Symbol,_Period,12,26,9,PRICE_CLOSE);
   
   //Sorting price array from current data
   ArraySetAsSeries(MACDMainLine,true);
   
   //Storing results after defining MA, line, current data
   CopyBuffer(MACDDef,0,0,3,MACDMainLine);
   
   //Get values of current data
   float MACDMainLineVal = (MACDMainLine[0]);
   
   //Commenting on the chart the value of MACD
   Comment("MACD Value is ",MACDMainLineVal);
  }
//+------------------------------------------------------------------+

Derlemeden sonra, bu Uzman Danışman tam olarak amaçlananı yapacaktır - göstergenin ana çizgisinin mevcut değerini grafikte yorum olarak gösterecektir. Şu şekilde görünür:

MACD ana çizgisinin değeri

Bu değerlerin elde edilebilmesi için programın grafik üzerinde çalıştırılması gerekmektedir. Bunu yapmak için Kılavuzdan programı bulun (Kılavuz penceresi açık değilse, Ctrl+N tuşlarına basarak açabilirsiniz):

Kılavuz - Simple MACD MainLine System


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

Simple MACD MainLine System penceresi

"Algoritmik ticarete izin ver" seçeneğini etkinleştirin ve Tamama tıklayın, böylece Uzman Danışman grafiğe eklenecek ve MACD ana çizgisine dayalı olarak otomatik şekilde yorumlar yazmaya başlayacaktır:

Grafiğe eklenmiş Simple MACD MainLine System

Şimdi devam edelim ve sadece MACD ana çizgisini değil aynı zamanda sinyal çizgisini de üretebilen basit bir program daha yazalım. Üst satırda MACD ana çizgisinin değerini, alt satırdaysa MACD sinyal çizgisinin değerini grafikte yorum olarak gösterecek programın kodu:

//+------------------------------------------------------------------+
//|                                      Simple MACD TwoLines System |
//|                                  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()
  {
   //cretaing an array for prices for MACD main line, MACD signal line
   double MACDMainLine[];
   double MACDSignalLine[];
   
   //Defining MACD and its parameters
   int MACDDef = iMACD(_Symbol,_Period,12,26,9,PRICE_CLOSE);
   
   //Sorting price array from current data for MACD main line, MACD signal line
   ArraySetAsSeries(MACDMainLine,true);
   ArraySetAsSeries(MACDSignalLine,true);
   
   //Storing results after defining MA, line, current data for MACD main line, MACD signal line
   CopyBuffer(MACDDef,0,0,3,MACDMainLine);
   CopyBuffer(MACDDef,1,0,3,MACDSignalLine);
   
   //Get values of current data for MACD main line, MACD signal line
   float MACDMainLineVal = (MACDMainLine[0]);
   float MACDSignalLineVal = (MACDSignalLine[0]);
   
   
   //Commenting on the chart the values of MACD main line and MACD signal line
   Comment("MACD Main Line Value is ",MACDMainLineVal,"\n" 
   "MACD Signal Line Value is ",MACDSignalLineVal);
  }
//+------------------------------------------------------------------+

Kodu yazıyoruz, test ediyoruz ve derliyoruz - program aşağıdaki görüntüdeki gibi MACD ana ve sinyal çizgilerinin değerlerini gösterecektir:

MACD ana ve sinyal çizgilerinin değerleri

Bu değerlerin elde edilebilmesi için programın grafik üzerinde çalıştırılması gerekmektedir. Dolayısıyla Kılavuzdan programı bulun:

Kılavuz - Simple MACD TwoLines System

Programı grafiğin üzerine sürükleyerek veya çift tıklayarak çalıştırın. Devamında, aşağıdaki Uzman Danışman penceresi açılacaktır:

Simple MACD TwoLines System penceresi

Tamam tuşuna bastıktan sonra Uzman Danışman grafiğe eklenecek ve bilgiler aşağıdaki gibi otomatik olarak grafikte görüntülenmeye başlayacaktır:

Grafiğe eklenmiş Simple MACD TwoLines System

Şimdi iki stratejimiz için kodları yazalım - MACD ana çizgisinin sıfır seviyesini çaprazlaması ve MACD ana çizgisinin sinyal çizgisini çaprazlaması. Lütfen burada sadece sinyallerin üretiminden bahsedeceğimizi, kârı alma konusuna girmeyeceğimizi unutmayın. Kârı almak için, örneğin göstergenin kendisi veya fiyat hareketi gibi birçok farklı araç bulunmaktadır. Biz şimdi sadece sinyallerin üretimiyle ilgileneceğiz. Öyleyse, stratejilerin kodlarını yazmaya başlayalım.

  • Birinci strateji: MACD piyasa dedektörü — MACD ana çizgisinin sıfır seviyesini çaprazlamasına dayalı olarak piyasanın mevcut durumunu bildirir.

MACD ana çizgisi > 0 = Yükseliş sinyali

MACD ana çizgisi < 0 = Düşüş sinyali

Koşullara bağlı olarak ilgili sinyali ve MACD ana çizgisinin mevcut değerini grafik üzerinde yorum olarak gösterecek programın kodu:

//+------------------------------------------------------------------+
//|                                         MACD Setup Dectector.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()
  {
   //cretaing an array for prices for MACD main line
   double MACDMainLine[];
   
   //Defining MACD and its parameters
   int MACDDef = iMACD(_Symbol,_Period,12,26,9,PRICE_CLOSE);
   
   //Sorting price array from current data
   ArraySetAsSeries(MACDMainLine,true);
   
   //Storing results after defining MA, line, current data
   CopyBuffer(MACDDef,0,0,3,MACDMainLine);
   
   //Get values of current data
   float MACDMainLineVal = (MACDMainLine[0]);
   
   //Commenting on the chart the value of MACD
   if (MACDMainLineVal>0)
   Comment("Bullish Setup As MACD MainLine is ",MACDMainLineVal);
   
   if (MACDMainLineVal<0)
   Comment("Bearish Setup As MACD MainLine is ",MACDMainLineVal);
  }
//+------------------------------------------------------------------+

Kodu yazıyoruz, test ediyoruz ve derliyoruz.

Yükseliş sinyali:

Yükseliş sinyali

Düşüş sinyali:

Düşüş sinyali

Ardından, bu sinyallerin otomatik olarak oluşturulması amacıyla programın grafikte çalıştırılması gerekir - bunu yapmak için Kılavuzdan dosyayı grafiğe sürükleyebilir veya dosyanın üzerine çift tıklayabilirsiniz.

Kılavuz - MACD Setup Detector System

Bu, aşağıdaki Uzman Danışman penceresini açacaktır:

MACD Setup Detector System penceresi

Tamam tuşuna bastıktan sonra Uzman Danışman grafiğe eklenecek ve sinyaller otomatik şekilde yorum olarak grafik üzerinde oluşturulacaktır.

Yükseliş sinyaliyle MACD ana çizgisinin mevcut değeri:

Grafiğe eklenmiş MACD Setup Detector System - Yükseliş sinyali

Düşüş sinyaliyle MACD ana çizgisinin mevcut değeri:

Grafiğe eklenmiş MACD Setup Detector System - Düşüş sinyali

  • İkinci strateji: MACD çizgilerinin çaprazlaması - MACD ana çizgisinin sinyal çizgisini çaprazlamasına dayalı olarak ticaret sinyalleri oluşur.

MACD ana çizgisi > MACD sinyal çizgisi = Alış sinyali

MACD ana çizgisi < MACD sinyal çizgisi = Satış sinyali

Koşullara bağlı ilgili sinyali ve MACD ana ve sinyal çizgilerinin mevcut değerlerini grafik üzerinde yorum olarak gösteren programın kodu aşağıda yer almaktadır:

//+------------------------------------------------------------------+
//|                          MACD Lines Crossover Signals System.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   //cretaing an array for prices for MACD main line, MACD signal line
   double MACDMainLine[];
   double MACDSignalLine[];
   
   //Defining MACD and its parameters
   int MACDDef = iMACD(_Symbol,_Period,12,26,9,PRICE_CLOSE);
   
   //Sorting price array from current data for MACD main line, MACD signal line
   ArraySetAsSeries(MACDMainLine,true);
   ArraySetAsSeries(MACDSignalLine,true);
   
   //Storing results after defining MA, line, current data for MACD main line, MACD signal line
   CopyBuffer(MACDDef,0,0,3,MACDMainLine);
   CopyBuffer(MACDDef,1,0,3,MACDSignalLine);
   
   //Get values of current data for MACD main line, MACD signal line
   float MACDMainLineVal = (MACDMainLine[0]);
   float MACDSignalLineVal = (MACDSignalLine[0]);
   
   
   //Commenting on the chart the value of MACD
   if (MACDMainLineVal>MACDSignalLineVal)
   Comment("Buying Signal As MACD MainLine is Above MACD SignalLine","\n"
   "MACD Main Line Value is ",MACDMainLineVal,"\n" 
   "MACD Signal Line Value is ",MACDSignalLineVal);
   
   if (MACDMainLineVal<MACDSignalLineVal)
   Comment("Shorting Signal As MACD MainLine is Below MACD SignalLine","\n"
   "MACD Main Line Value is ",MACDMainLineVal,"\n" 
   "MACD Signal Line Value is ",MACDSignalLineVal);
  }
//+------------------------------------------------------------------+

Kodu yazıyoruz, test ediyoruz ve derliyoruz - program sinyalleri üretecek ve çizgilerin değerlerini gösterecektir:

Alış sinyali:

Alış sinyali

Satış sinyali:

Satış sinyali

Ardından, bu sinyallerin otomatik olarak oluşturulması amacıyla programın grafikte çalıştırılması gerekir - bunu yapmak için Kılavuzdan dosyayı grafiğe sürükleyebilir veya dosyanın üzerine çift tıklayabilirsiniz.

Kılavuz - MACD Lines Crossover Signals System


Devamında, Uzman Danışman grafiğe eklenecek ve sinyalleri göstermeye başlayacaktır.

Alış sinyaliyle MACD ana ve sinyal çizgilerinin mevcut değerleri:

Grafiğe eklenmiş MACD Lines Crossover Signals System - Alış sinyali

Satış sinyaliyle MACD ana ve sinyal çizgilerinin mevcut değerleri:

Grafiğe eklenmiş MACD Lines Crossover Signals System - Satış sinyali


Sonuç

Moving Average Convergence Divergence (MACD) göstergesi, ticaretimize fayda sağlayabilecek en kullanışlı araçlardan biridir. Ticaretimizde daha iyi sonuçlar elde etmemize yardımcı olabilecek çok çeşitli stratejilere sahiptir. Bu harika aracı nasıl otomatikleştireceğinizi ve ticaret sürecini daha kolay, daha verimli ve daha kârlı hale gelmesine yardımcı olabilecek bir ticaret sistemini nasıl oluşturacağınızı öğrenmek çok önemlidir. Bu makalede bu konu hakkında sizlerle bazı kavramları paylaşmaya çalıştım.

İlk olarak, MACD göstergesine yönelik bilgimizi derinleştirmek için onu ayrıntılı olarak inceledik: ne anlama geldiği ve nasıl hesaplandığı (bu amaçla bir örnekten bahsettik). Ardından çaprazlamalara bağlı olarak MACD tarafından kullanılabilecek basit stratejileri ele aldık. Devamında bu stratejiler için ticaret sistemini tasarlarken bize rehberlik edecek bir plan hazırladık. Ve son olarak da ele aldığımız stratejilerin kodlarını yazarak ticaret sistemini oluşturduk. Ticaret tarzınıza ve anlayışınıza uygun olduğundan emin olmak için gerçek bir hesap üzerinde uygulamadan önce öğrendiğiniz tüm yeni bilgileri kapsamlı bir şekilde test etmenizi şiddetle tavsiye ediyorum.

Her şeyi ayrıntılı olarak incelemenin, konuyla ilgili ve bazen de konuyla ilgili olmayan yeni fikirlerin keşfedilmesine yardımcı olabileceğine inanıyorum. Bu makaleyi okuduktan sonra da sizin için bunun olacağını umuyorum - daha iyi ticaret sonuçları elde etmenize yardımcı olacak yeni fikirlere yelken açabilirsiniz. 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/10674

Stochastic Oscillator göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? Stochastic Oscillator göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
Öğrenme serimize devam ediyoruz - temel bilgilerimizde yeni bir blok daha oluşturmak adına bu sefer de diğer bir popüler ve kullanışlı gösterge olan Stochastic Oscillator’ı inceleyeceğiz ve onu kullanarak bir ticaret sisteminin nasıl tasarlanacağını öğreneceğiz.
Bir grafikte birden fazla gösterge (Bölüm 06): MetaTrader 5'i bir RAD sistemine dönüştürme (II) Bir grafikte birden fazla gösterge (Bölüm 06): MetaTrader 5'i bir RAD sistemine dönüştürme (II)
Bir önceki makalemde size MetaTrader 5 nesnelerini kullanarak bir ticaret arayüzünün nasıl oluşturulacağını ve böylelikle platformun bir RAD sistemine nasıl dönüştürüleceğini göstermiştim. Sistem çok iyi çalışıyor, şüphesiz birçok okuyucu önerilen sistemde daha fazla işlevselliğe sahip olmak için bir kütüphane oluşturmayı düşünmüştür. Böylece, daha hoş ve kullanımı daha kolay bir arayüze sahip daha sezgisel bir Uzman Danışman geliştirmek mümkün olacaktır.
Veri Bilimi ve Makine Öğrenimi (Bölüm 01): Lineer Regresyon Veri Bilimi ve Makine Öğrenimi (Bölüm 01): Lineer Regresyon
Yatırımcılar olarak sistemlerimizi ve kendimizi sayıların söylediklerine dayalı şekilde kararlar alma konusunda eğitmemizin zamanı geldi. Tüm dünyanın hareket ettiği şekilde, görsel veya sezgisel olarak değil, biz, bu genel dalganın yönüne dik olarak hareket edeceğiz.
CCI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? CCI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
Ticaret sistemlerinin nasıl tasarlanacağını öğrenmeye yönelik makale serimizin bu yeni makalesinde, Commodities Channel Index’i (CCI) sunacak, özelliklerini açıklayacak ve bu göstergeye dayalı bir ticaret sisteminin nasıl oluşturulacağını sizlerle paylaşacağım.