MQL5 Wizard: Sinyal Perdagangan Pola Candlestick dan Stochastic untuk MetaTrader 5

Mike 2013.10.16 21:58 19 0 0
Lampiran

Deskripsi:

Dengan MQL5 Wizard, kini para trader bisa menghasilkan kode Expert Advisor secara otomatis berdasarkan kelas sinyal perdagangan, pelacakan posisi, dan manajemen uang. Bersama dengan kelas sinyal perdagangan dari Standard Library, kamu dapat mengembangkan dan menguji sistem tradingmu sendiri. Untuk membuatnya, cukup tulis sebuah modul sinyal perdagangan.

Buku "Strategi Trader Terbaik di Dunia" (dalam bahasa Rusia) menggambarkan indikator dan strategi perdagangan untuk analisis teknis yang melibatkan paket perangkat lunak MetaStock. Selain sinyal perdagangan konvensional, buku ini juga membahas sinyal yang didasarkan pada penggunaan kombinasi pola candlestick pembalikan dengan konfirmasi dari Stochastic, CCI, MFI, dan RSI.

Menggunakan pola candlestick "pembalikan" bersama dengan sinyal osilator dapat mengurangi jumlah sinyal palsu dan meningkatkan efisiensi sistem trading.

Dalam publikasi sebelumnya, kami telah membahas sinyal trading berdasarkan pola candlestick dengan konfirmasi dari Stochastic:

  1. 3 Black Crows/3 White Soldiers
  2. Dark Cloud Cover/Piercing Line
  3. Bullish Engulfing/Bearish Engulfing
  4. Bullish Harami/Bearish Harami
  5. Hammer/Hanging Man
  6. Bullish/Bearish Meeting Lines
  7. Morning/Evening Stars

Dalam deskripsi ini, kita akan membahas hasil penggunaan kombinasi semua model ini bersama dengan sinyal dari indikator Stochastic.


1. Model Candlestick Bullish dan Bearish serta Deteksinya

Kelas CandlePattern juga memiliki fungsi untuk mendeteksi pembentukan beberapa pola candlestick bullish dan bearish (kecuali kombinasi Hammer/Hanging Man).

Pembentukan pola candlestick bearish diperiksa dengan fungsi CheckPatternAllBullish():

//+------------------------------------------------------------------+
//| Memeriksa pembentukan pola bullish                                |
//+------------------------------------------------------------------+
bool CCandlePattern::CheckPatternAllBullish()
  {
   return(CheckPatternThreeWhiteSoldiers()  || 
          CheckPatternPiercingLine()       || 
          CheckPatternMorningDoji()        || 
          CheckPatternBullishEngulfing()   || 
          CheckPatternBullishHarami()      || 
          CheckPatternMorningStar()        || 
          CheckPatternBullishMeetingLines());
  }

Pembentukan pola candlestick bullish diperiksa dengan fungsi CheckPatternAllBearish():

//+------------------------------------------------------------------+
//| Memeriksa pembentukan pola bearish                              |
//+------------------------------------------------------------------+
bool CCandlePattern::CheckPatternAllBearish()
  {
   return(CheckPatternThreeBlackCrows()     || 
          CheckPatternDarkCloudCover()     || 
          CheckPatternEveningDoji()        || 
          CheckPatternBearishEngulfing()   || 
          CheckPatternBearishHarami()      || 
          CheckPatternEveningStar()        || 
          CheckPatternBearishMeetingLines());
  }

2. Sinyal Perdagangan yang Digabungkan dengan Indikator Stochastic

Pembukaan posisi long/short dilakukan ketika salah satu model bullish/bearish terbentuk dan ada konfirmasi dari osilator Stochastic. Nilai garis sinyal %D harus berada di atas atau di bawah level kritis yang sesuai (30 dan 70).

Sinyal keluar terbentuk dalam dua kasus:

  1. Ketika pola candlestick yang berlawanan terbentuk (yang bearish untuk posisi long dan yang bullish untuk posisi short).
  2. Menurut perilaku selanjutnya dari %D. Jika %D mencapai level yang berlawanan dengan pasar (80 untuk posisi long dan 20 untuk posisi short) atau jika %D tidak mengonfirmasi sinyal pembalikan dan mencapai 20 untuk posisi long dan 80 untuk posisi short.

Pemeriksaan kondisi masuk dan keluar pasar dilakukan dalam metode berikut:

  • int CCP_Stoch::LongCondition() - memeriksa kondisi untuk membuka posisi long (m_pattern_0) dan menutup posisi short (m_pattern_1);
  • int CCP_Stoch::ShortCondition() - memeriksa kondisi untuk membuka posisi short (m_pattern_0) dan menutup posisi long (m_pattern_1).

2.1. Membuka Posisi Long dan Menutup Posisi Short

  1. Sinyal untuk membuka posisi long adalah terbentuknya kombinasi candlestick bullish dan memenuhi kondisi StochSignal(1)<30 (nilai garis sinyal dari indikator Stochastic pada bar terakhir yang selesai kurang dari 30);

  2. Sinyal untuk menutup posisi short adalah terbentuknya salah satu pola candlestick bullish atau ketika garis indikator melintasi level 20 Stochastic (ke atas) atau level 80 (ke atas).

//+------------------------------------------------------------------+
//| Metode memeriksa apakah model pasar terbentuk                     |
//| Memeriksa kondisi untuk                                            |
//| masuk (membuka posisi short, m_pattern_0)                         |
//| keluar  (menutup posisi long, m_pattern_1)                         |
//+------------------------------------------------------------------+
int CCP_Stoch::LongCondition()
  {
   int res=0;
//---- periksa kondisi untuk membuka posisi short
//---- pembentukan pola bullish dan garis sinyal indikator Stochastic<30 
   if(CheckPatternAllBullish() && (StochSignal(1)<30)) res=m_pattern_0; // sinyal untuk membuka posisi long 

//--- periksa kondisi penutupan posisi short
//--- pembentukan pola bearish atau crossover garis sinyal (ke atas 20, ke atas 80)
   if(CheckPatternAllBullish() ||
      ((StochSignal(1)>20) && (StochSignal(2)<20)) || 
      ((StochSignal(1)>80) && (StochSignal(2)<80)))    res=m_pattern_1; // sinyal untuk menutup posisi short
//---
   return(res);
  }

2.2. Membuka Posisi Short dan Menutup Posisi Long

  1. Sinyal untuk membuka posisi short adalah terbentuknya salah satu pola candlestick bearish dan memenuhi kondisi StochSignal(1)>70 (nilai garis sinyal dari indikator Stochastic pada bar terakhir yang selesai melebihi 70):

  2. Sinyal untuk menutup posisi long adalah terbentuknya salah satu pola candlestick bearish atau ketika garis indikator melintasi level 80 Stochastic (ke bawah) atau level 20 (ke bawah).

//+------------------------------------------------------------------+
//| Metode memeriksa apakah model pasar terbentuk                     |
//| Memeriksa kondisi untuk                                            |
//| masuk (membuka posisi short, m_pattern_0)                          |
//| keluar  (menutup posisi long, m_pattern_1)                         |
//+------------------------------------------------------------------+
int CCP_Stoch::ShortCondition()
  {
   int res=0;
//--- periksa kondisi untuk membuka posisi short
//---- pembentukan pola bearish dan garis sinyal indikator Stochastic>70
   if(CheckPatternAllBearish() && (StochSignal(1)>70)) res=m_pattern_0; // sinyal untuk membuka posisi short 

//--- periksa kondisi penutupan posisi long 
//---- pembentukan pola bearish atau crossover garis sinyal (ke bawah 80, ke bawah 20)   if(CheckPatternAllBearish() || 
      ((StochSignal(1)<80) && (StochSignal(2)>80)) || 
      ((StochSignal(1)<20) && (StochSignal(2)>20)))    res=m_pattern_1; // sinyal untuk menutup posisi long 
//---
   return(res);
  }

2.3. Membuat Expert Advisor Berdasarkan Sinyal Perdagangan Pola "Candlestick + Stochastic" Menggunakan MQL5 Wizard

Kelas CCP_Stoch tidak termasuk dalam Standard Library sinyal perdagangan. Oleh karena itu, unduh file ccp_stoch.mqh (terlampir) dan simpan di direktori \terminal_folder\Include\Expert\Signal\MySignals untuk menggunakannya. File candlepatterns.mqh juga harus disalin ke direktori yang sama dengan ccp_stoch.mqh. Setelah itu, jalankan kembali MetaEditor untuk dapat menggunakan file tersebut di MQL5 Wizard.

Untuk membuat robot trading mengikuti strategi ini melalui MQL5 Wizard, pilih jenis sinyal "Sinyal Berdasarkan Pola Candlestick + Stochastic" pada langkah kedua:

Gambar 1. Memilih

Gambar 1. Memilih "Sinyal Berdasarkan Pola Candlestick + Stochastic" dalam MQL5 Wizard

Pada langkah-langkah selanjutnya, tentukan jenis trailing stop yang diperlukan dan sistem manajemen uang. Kode Expert Advisor akan dihasilkan secara otomatis. Sekarang, kode tersebut perlu dikompilasi agar siap untuk diuji.


2.4. Hasil Pengujian

Hasil Pengujian Expert Advisor pada data historis (EURUSD H1, periode pengujian: 1.1.2000-02.02.2011, PeriodK=33, PeriodD=37, PeriodSlow=30, MA_period=25).

Expert Advisor ini menggunakan modul untuk perdagangan volume tetap 0.1 lot (Trading Fixed Lot). Trailing stop tidak digunakan (Trailing tidak digunakan).

Gambar 2. Hasil pengujian Expert Advisor berdasarkan

Gambar 2. Hasil pengujian Expert Advisor berdasarkan "Sinyal Berdasarkan Pola Candlestick + Stochastic"

Set parameter sistem trading terbaik dapat ditemukan menggunakan Strategy Tester di MetaTrader 5.

Kode Expert Advisor yang dibuat oleh MQL5 Wizard terlampir dalam file expert_cp_stoch.mq5.


Daftar
Komentar 0