Beranda Perdagangan Sistem Postingan

MQL5 Wizard: Sinyal Trading dengan Crossover Garis MACD di MetaTrader 5

Lampiran
262.zip (3.12 KB, Unduh 0 kali)

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

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

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

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

Komentar (0)