MQL5 Wizard memberikan kemudahan untuk membuat Expert Advisor secara otomatis (lihat MQL5 Wizard: Membuat Expert Advisors Tanpa Pemrograman).
Dalam artikel ini, kita akan membahas sinyal trading yang dihasilkan dari crossover garis-garis indikator MACD. Strategi ini disebut "Sinyal Berdasarkan Crossover Garis Utama dan Sinyal MACD" saat membuat EA secara otomatis di MQL5 Wizard.
Garis utama dari indikator MACD dihitung sebagai selisih antara EMA cepat dan EMA lambat. Sementara itu, garis sinyal dari MACD dihitung dari garis utama yang telah dihaluskan menggunakan periode Sinyal.
Sinyal Trading:
- Beli: crossover ke atas antara garis utama dan garis sinyal dari indikator MACD.
- Jual: crossover ke bawah antara garis utama dan garis sinyal dari indikator MACD.
Strategi ini diimplementasikan dalam kelas CSignalMACD dari kelas Strategi Trading di MQL5 Standard Library (terletak di MQL5\Include\Expert\Signal\SignalMACD.mqh).

Gambar 1. Sinyal Trading, berdasarkan crossover garis utama dan sinyal MACD
Sinyal Trading
Strategi trading ini diimplementasikan dalam kelas CSignalMACD, yang memiliki beberapa metode dilindungi untuk mempermudah akses ke nilai indikator:
double MainMACD(int ind) // mengembalikan nilai garis utama MACD dari bar double SignalMACD(int ind) // mengembalikan nilai garis sinyal MACD dari bar double StateMACD(int ind) // mengembalikan selisih antara garis utama dan sinyal MACD int ExtStateMACD(int ind); // mengembalikan jumlah perubahan tanda dari selisih garis utama dan sinyal
1. Membuka posisi long
Ketentuan untuk membuka posisi long:
- ExtStateMACD(1)==1; artinya garis utama telah crossover ke atas garis sinyal MACD
//+------------------------------------------------------------------+ //| Memeriksa ketentuan untuk membuka posisi long (beli) | //+------------------------------------------------------------------+ bool CSignalMACD::CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration) { price=0.0; sl =m_symbol.Ask()-m_stop_loss*m_adjusted_point; tp =m_symbol.Ask()+m_take_profit*m_adjusted_point; //--- return(ExtStateMACD(1)==1); }
2. Menutup posisi long
Ketentuan untuk menutup posisi long:
- ExtStateMACD(1)==1; artinya garis utama telah crossover ke bawah garis sinyal MACD
//+------------------------------------------------------------------+ //| Memeriksa ketentuan untuk menutup posisi long | //+------------------------------------------------------------------+ bool CSignalMACD::CheckCloseLong(double& price) { price=0.0; //--- return(ExtStateMACD(1)==-1); }
3. Membuka posisi short
Ketentuan untuk membuka posisi short adalah sama dengan ketentuan menutup posisi long.
//+------------------------------------------------------------------+ //| Memeriksa ketentuan untuk membuka posisi short (jual) | //+------------------------------------------------------------------+ bool CSignalMACD::CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration) { price=0.0; sl =m_symbol.Bid()+m_stop_loss*m_adjusted_point; tp =m_symbol.Bid()-m_take_profit*m_adjusted_point; //--- return(ExtStateMACD(1)==-1); }
4. Menutup posisi short
Ketentuan untuk menutup posisi short adalah sama dengan ketentuan membuka posisi long.
//+------------------------------------------------------------------+ //| Memeriksa ketentuan untuk menutup posisi short | //+------------------------------------------------------------------+ bool CSignalMACD::CheckCloseShort(double& price) { price=0.0; //--- return(ExtStateMACD(1)==1); }
Membuat Expert Advisor Menggunakan MQL5 Wizard
Untuk membuat robot trading berdasarkan strategi ini, Anda perlu memilih properti sinyal sebagai "Sinyal Berdasarkan Crossover Garis Utama dan Sinyal MACD" dalam opsi "Membuat Expert Advisors Siap Pakai" di MQL5 Wizard:

Gambar 2. Pilih 'Sinyal Berdasarkan Crossover Garis Utama dan Sinyal MACD' di MQL5 Wizard
Selanjutnya, Anda harus menentukan algoritma trailing stop yang dibutuhkan dan sistem manajemen uang dan risiko. Kode Expert Advisor akan dibuat secara otomatis, Anda dapat mengompilasinya dan mengujinya di Strategy Tester dari terminal klien MetaTrader 5.
Hasil Pengujian
Mari kita lihat backtesting dari Expert Advisor pada data historis (EURUSD H1, periode pengujian: 1.1.2010-05.01.2011, PeriodFast=12, PeriodSlow=24, PeriodSignal=9, StopLoss=20, TakeProfit=80).
Dalam pembuatan Expert Advisor ini, kami menggunakan volume tetap (Trading Fixed Lot, 0.1), algoritma Trailing Stop tidak digunakan (Trailing tidak digunakan).

Gambar 3. Hasil Pengujian dari Expert Advisor dengan sinyal trading, berdasarkan crossover garis MACD
Lampiran: File SignalMACD.mqh dengan kelas CSignalMACD (termasuk dalam MQL5 Standard Library) terletak di folder MQL5\Include\Expert\Signal. File testmacd.mq5 berisi kode Expert Advisor yang dibuat menggunakan MQL5 Wizard.
Postingan terkait
- Membuat Expert Advisor MQL5 untuk Sinyal Trading Berdasarkan Dark Cloud Cover dan Piercing Line dengan RSI
- Membuat Expert Advisor dengan MQL5 Wizard: Sinyal Trading Berdasarkan Dark Cloud Cover dan Piercing Line
- MQL5 Wizard: Membuat EA dengan Sinyal Trading Berdasarkan Pola Morning/Evening Stars dan Stochastic
- MQL5 Wizard: Mengoptimalkan Sinyal Perdagangan dengan Morning/Evening Stars dan MFI
- MQL5 Wizard: Ciptakan Expert Advisor Berdasarkan Pola Candlestick dan MFI