
MACD göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
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.
- 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.
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:
- MACD göstergesinin tanımı
- MACD göstergesi stratejileri
- MACD göstergesine dayalı ticaret sisteminin planı
- MACD göstergesine dayalı ticaret sistemi
- Sonuç
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:
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:
Veya IDE düğmesine tıklayın:
Böylece MetaQuotes Language Düzenleyicisi penceresi açılacaktır:
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:
- 12 periyotluk Exponential Moving Average (12 EMA) al.
- 26 periyotluk Exponential Moving Average (26 EMA) al.
- 12 EMA ile 26 EMA arasındaki farkı al = MACD çizgisi.
- 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:
Devamında 26 EMA'yı hesaplayacağız:
Ardından 12 EMA ile 26 EMA arasındaki farkı hesaplayarak MACD çizgisini hesaplayacağız, şu şekilde olacaktır:
Sonrasında da sinyal çizgisini hesaplayacağız:
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.
Bu, MACD parametreleri penceresini açacaktır:
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:
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:
- İ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:
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:
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):
Çift tıklayarak veya grafik üzerine sürükleyip bırakarak programı açın. Sonrasında şu pencere açılacaktır:
"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:
Ş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:
Bu değerlerin elde edilebilmesi için programın grafik üzerinde çalıştırılması gerekmektedir. Dolayısıyla Kılavuzdan programı bulun:
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:
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:
Ş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:
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.
Bu, aşağıdaki Uzman Danışman penceresini açacaktır:
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:
Düşüş sinyaliyle MACD ana çizgisinin mevcut değeri:
- İ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:
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.
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:
Satış sinyaliyle MACD ana ve sinyal çizgilerinin mevcut değerleri:
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





- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz