MQL5 Wizard memungkinkan kita untuk membuat kode Expert Advisor secara otomatis. Untuk detail lebih lanjut, lihat Membuat Expert Advisor Siap Pakai di MQL5 Wizard.
Di sini, kita akan membahas strategi yang berbasis pada crossover dari dua Exponentially Smoothed Moving Averages (EMA cepat dan EMA lambat). Strategi ini disebut "Sinyal berdasarkan crossover dua EMA" (saat membuat EA secara otomatis di MQL5 Wizard).
Berikut adalah sinyal tradingnya:
- Beli: Ketika EMA cepat melintas ke atas EMA lambat
- Jual: Ketika EMA cepat melintas ke bawah EMA lambat
Strategi ini diimplementasikan dalam kelas CSignalCrossEMA.

Gambar 1. Sinyal trading berdasarkan crossover dua EMA
Sinyal Trading
Strategi trading ini diimplementasikan dalam kelas CSignalCrossEMA, yang memiliki beberapa metode terlindungi untuk mempermudah akses terhadap nilai indikator:
double FastEMA(int ind) // mengembalikan nilai EMA cepat dari bar double SlowEMA(int ind) // mengembalikan nilai EMA lambat dari bar double StateEMA(int ind) // mengembalikan selisih antara EMA cepat dan lambat dari bar
1. Buka posisi long
Ketentuan untuk membuka posisi long:
- StateEMA(1) > 0 dan StateEMA(2) < 0: EMA cepat telah melintas ke atas EMA lambat pada bar yang telah selesai.
//+------------------------------------------------------------------+ //| Memeriksa kondisi untuk membuka posisi long (beli) | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)<0 && StateEMA(1)>0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
2. Tutup posisi long
Ketentuan untuk menutup posisi long:
- StateEMA(1) < 0 dan StateEMA(2) > 0: EMA cepat telah melintas ke bawah EMA lambat pada bar yang telah selesai.
//+------------------------------------------------------------------+ //| Memeriksa kondisi untuk menutup posisi long | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseLong(double& price) { if(!(StateEMA(2)>0 && StateEMA(1)<0)) return(false); //--- price=0.0; //--- return(true); }
3. Buka posisi short
Ketentuan untuk membuka posisi short sama dengan ketentuan menutup posisi long.
//+------------------------------------------------------------------+ //| Memeriksa kondisi untuk membuka posisi short (jual) | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)>0 && StateEMA(1)<0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
4. Tutup posisi short
Ketentuan untuk menutup posisi short sama dengan ketentuan membuka posisi long.
//+------------------------------------------------------------------+ //| Memeriksa kondisi untuk menutup posisi short | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseShort(double& price) { if(!(StateEMA(2)<0 && StateEMA(1)>0)) return(false); //--- price=0.0; //--- return(true); }
Membuat Expert Advisor Menggunakan MQL5 Wizard
Untuk membuat robot trading berdasarkan strategi ini, kamu perlu memilih properti sinyal sebagai "Sinyal berdasarkan crossover dua EMA" dalam opsi "Membuat Expert Advisor Siap Pakai" di MQL5 Wizard:

Gambar 2. Pilih 'Sinyal, berdasarkan crossover dua EMA' di MQL5 Wizard
Selanjutnya, kamu harus menentukan algoritma trailing stop yang diperlukan dan sistem manajemen uang dan risiko. Kode Expert Advisor akan dibuat secara otomatis, dan kamu dapat mengkompilasinya serta mengujinya di Strategy Tester dari terminal klien MetaTrader 5.
Selain itu, kelas pustaka standar mengandung "Sinyal berdasarkan crossover dua MA", yang diimplementasikan dalam kelas CSignalCrossMA. Ide tradingnya mirip, tetapi menyediakan banyak fitur tambahan (menentukan tipe, shift, dan metode rata-rata serta penggunaan level Take Profit dan Stop Loss).

Gambar 3. 'Sinyal, berdasarkan crossover dua MA' di MQL5 Wizard
Hasil Pengujian
Ayo kita lihat backtesting dari Expert Advisor menggunakan data historis (EURUSD H1, periode pengujian: 1.1.2010-05.01.2011, FastPeriod=12, SlowPeriod=24).
Dalam pembuatan Expert Advisor, kita menggunakan volume tetap (Trading Volume Tetap, 0.1), algoritma Trailing Stop tidak digunakan (Trailing tidak digunakan).

Gambar 4. Hasil backtesting historis dari Expert Advisor, berdasarkan crossover dua EMA
Lampiran: Berkas SignalCrossEMA.mqh dengan kelas CSignalCrossEMA harus ditempatkan di folder terminal_data_folder\MQL5\Include\Expert\Signal.
Berka crossover_2ema.mq5 berisi kode Expert Advisor yang dibuat menggunakan MQL5 Wizard.
Postingan terkait
- RRS Impulse: EA Unggulan untuk Trading MetaTrader 4
- Strategi Trading dengan MQL5 Wizard: Sinyal Berdasarkan Crossover Dua EMA dan Filter Waktu Intraday
- MQL5 Wizard: Membuat EA dengan Sinyal Trading Berdasarkan Pola Morning/Evening Stars dan Stochastic
- Membuat Expert Advisor Menggunakan MQL5 Wizard: Sinyal Perdagangan dari Bullish dan Bearish Engulfing dengan Stochastic
- MQL5 Wizard: Ciptakan Sinya Trading Berdasarkan Bullish Harami/Bearish Harami dan CCI