Beranda Perdagangan Sistem Postingan

MQL5 Wizard: Strategi Sinyal Trading dengan Crossover Dua EMA

Lampiran
261.zip (2.85 KB, Unduh 0 kali)

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

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

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

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

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

Komentar (0)