Laman utama Perdagangan Sistem Siaran

Menghasilkan EA dengan MQL5 Wizard: Signal Berdasarkan Pola Candlestick dan Stochastic

Lampiran
327.zip (7.01 KB, Muat turun 0 kali)

Deskripsi:

Dengan MQL5 Wizard, trader kini boleh menghasilkan kod Expert Advisor secara automatik berasaskan kelas signal trading, pengesanan posisi, dan pengurusan wang. Bersama dengan kelas signal trading dari Standard Library, anda boleh membangunkan dan menguji sistem trading anda sendiri. Untuk melakukannya, hanya tulis modul signal trading.

Buku "Strategi Trader Terbaik di Dunia" (dalam bahasa Rusia) menerangkan indikator dan strategi trading untuk analisis teknikal melibatkan pakej perisian MetaStock. Selain signal trading konvensional, buku ini juga membahas tentang signal yang berdasarkan penggunaan pola candlestick pembalikan yang digabungkan dengan pengesahan dari Stochastic, CCI, MFI, dan RSI.

Menggunakan pola candlestick "pembalikan" bersama dengan signal oscillator membolehkan kita mengurangkan bilangan signal palsu dan meningkatkan kecekapan sistem trading.

Dalam penerbitan sebelum ini, kita telah membincangkan signal trading berdasarkan pola candlestick dengan pengesahan 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 mempertimbangkan hasil penggunaan gabungan semua model ini bersama dengan signal dari indikator Stochastic.


1. Model Candlestick Bullish dan Bearish serta Pengesanannya

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

Pembentukan pola candlestick bearish disemak dengan fungsi CheckPatternAllBullish():

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

Pembentukan pola candlestick bullish disemak dengan fungsi CheckPatternAllBearish():

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

2. Signal Trading Digabungkan dengan Indikator Stochastic

Membuka posisi long/short dilakukan apabila salah satu model bullish/bearish terbentuk dan terdapat pengesahan dari oscillator Stochastic. Nilai garis signal %D harus berada di atas atau di bawah tahap kritikal yang sesuai (30 dan 70).

Signal keluar terbentuk dalam dua keadaan:

  1. Apabila pola candlestick yang bertentangan terbentuk (pola bearish untuk posisi long dan pola bullish untuk posisi short).
  2. Menurut tingkah laku seterusnya %D. Jika %D mencapai tahap yang bertentangan dengan pasaran (80 untuk long dan 20 untuk short) atau jika %D tidak mengesahkan signal pembalikan dan mencapai 20 untuk posisi long dan 80 untuk posisi short.

Pemeriksaan syarat masuk dan keluar pasaran dilakukan dalam kaedah berikut:

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

2.1. Membuka Posisi Long dan Menutup Posisi Short

  1. Signal untuk membuka posisi long adalah pembentukan kombinasi candlestick bullish dan memenuhi syarat StochSignal(1)<30 (nilai garis signal indikator Stochastic pada bar terakhir yang diselesaikan adalah kurang dari 30);

  2. Signal untuk menutup posisi short adalah pembentukan salah satu pola candlestick bullish atau keadaan apabila garis indikator melintasi tahap 20 Stochastic (ke atas) atau tahap 80 (ke atas).

//+------------------------------------------------------------------+
//| Kaedah memeriksa jika model pasaran terbentuk               |
//| Memeriksa syarat untuk                                            |
//| masuk (buka posisi short, m_pattern_0)                         |
//| keluar  (tutup posisi long, m_pattern_1)                         |
//+------------------------------------------------------------------+
int CCP_Stoch::LongCondition()
  {
   int res=0;
//---- periksa syarat untuk membuka posisi short
//---- pembentukan pola bullish dan garis signal indikator Stochastic<30 
   if(CheckPatternAllBullish() && (StochSignal(1)<30)) res=m_pattern_0; // signal untuk membuka posisi long 

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

2.2. Membuka Posisi Short dan Menutup Posisi Long

  1. Signal untuk membuka posisi short adalah pembentukan salah satu pola candlestick bearish dan memenuhi syarat StochSignal(1)>70 (nilai garis signal indikator Stochastic pada bar terakhir yang diselesaikan melebihi 70):

  2. Signal untuk menutup posisi long adalah pembentukan salah satu pola candlestick bearish atau keadaan apabila garis indikator melintasi tahap 80 Stochastic (ke bawah) atau tahap 20 (ke bawah).

//+------------------------------------------------------------------+
//| Kaedah memeriksa jika model pasaran terbentuk               |
//| Memeriksa syarat untuk                                            | 
//| masuk (buka posisi short, m_pattern_0)                          |
//| keluar  (tutup posisi long, m_pattern_1)                         |
//+------------------------------------------------------------------+
int CCP_Stoch::ShortCondition()
  {
   int res=0;
//--- periksa syarat untuk membuka posisi short
//---- pembentukan pola bearish dan garis signal indikator Stochastic>70
   if(CheckPatternAllBearish() && (StochSignal(1)>70)) res=m_pattern_0; // signal untuk membuka posisi short 

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

2.3. Membuat Expert Advisor Berdasarkan Signal Trading Pola Candlestick+Stochastic Menggunakan MQL5 Wizard

Kelas CCP_Stoch tidak termasuk dalam Standard Library signal trading. Oleh itu, muat turun fail ccp_stoch.mqh (dilampirkan) dan simpan ke direktori \terminal_folder\Include\Expert\Signal\MySignals untuk menggunakannya. Fail candlepatterns.mqh harus disalin ke direktori yang sama dengan ccp_stoch.mqh. Selepas itu, buka semula MetaEditor untuk menggunakan fail dalam MQL5 Wizard.

Untuk mencipta robot trading mengikut strategi ini melalui MQL5 Wizard, pilih jenis signal "Signal Berdasarkan Pola Candlestick+Stochastic" pada langkah kedua:

Fig. 1. Memilih signal berdasarkan pola candlestick+stochastic dalam MQL5 Wizard

Fig. 1. Memilih "Signal Berdasarkan Pola Candlestick+Stochastic" dalam MQL5 Wizard

Pada langkah seterusnya, tentukan jenis trailing stop yang diperlukan dan sistem pengurusan wang. Kod Expert Advisor akan dijana secara automatik. Sekarang, ia perlu dikompilasi untuk bersedia memulakan pengujian.


2.4. Keputusan Ujian

Keputusan Ujian Expert Advisor pada data sejarah (EURUSD H1, tempoh ujian: 1.1.2000-02.02.2011, PeriodK=33, PeriodD=37, PeriodSlow=30, MA_period=25).

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

Fig. 2. Keputusan ujian Expert Advisor berdasarkan signal candlestick+stochastic

Fig. 2. Keputusan ujian Expert Advisor berdasarkan "Signal Berdasarkan Pola Candlestick+Stochastic"

Set parameter sistem trading terbaik boleh dijumpai menggunakan Strategy Tester di MetaTrader 5.

Kod Expert Advisor yang dihasilkan oleh MQL5 Wizard dilampirkan dalam fail expert_cp_stoch.mq5.


Siaran berkaitan

Komen (0)