Exp_Fractal_WeightOscillator: EA Terbaik untuk MetaTrader 5

Mike 2017.03.02 20:51 16 0 0
Lampiran

Penulis Asli: Vladimir Khlystov

EA ini adalah salah satu yang paling mudah yang dibina berdasarkan Fractal_WeightOscillator yang merupakan penunjuk osilator berbobot. Ia akan menjual apabila osilator melintasi tahap terlebih beli ke bawah, dan membeli apabila osilator melintasi tahap terlebih jual ke atas. Isyarat akan terbentuk pada penutupan bar jika tahap tersebut dilintasi.

Indikator Fractal_WeightOscillator_HTF dalam EA ini hanya bertujuan untuk memudahkan visualisasi tren dalam pengujian strategi. Dalam mod operasi lain, ia tidak aktif.

Anda perlu letakkan fail Fractal_WeightOscillator.ex5 dan Fractal_WeightOscillator_HTF.ex5 ke dalam <folder_data_terminal>\MQL5\Indicators.

Setelah dikompilasi, fail EA Exp_Fractal_WeightOscillator.ex5 mengandungi indikator Fractal_WeightOscillator.ex5 dan Fractal_WeightOscillator_HTF.ex5 sebagai sumber, dan oleh itu, mereka tidak perlu ada dalam folder terminal untuk EA yang telah dikompilasi berfungsi! Untuk tujuan ini, kod yang berkaitan telah ditambahkan ke dalam kod EA untuk menyertakan indikator ini dalam fail boleh laksana EA.

Fail indikator telah ditambahkan sebagai sumber di skop global.

//---- Sertakan indikator dalam kod EA sebagai sumber
#resource "\Indicators\Fractal_WeightOscillator.ex5"
#resource "\Indicators\Fractal_WeightOscillator_HTF.ex5"

Jalan rentas untuk indikator yang digunakan sebagai sumber telah diubah dalam blok fungsi OnInit().

//---- mendapatkan handle Fractal_WeightOscillator
   InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\Fractal_WeightOscillator",
                         e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
                         WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
   if(InpInd_Handle==INVALID_HANDLE)
     {
      Print(" Gagal mendapatkan handle indikator Fractal_WeightOscillator");
      return(INIT_FAILED);
     }

//---- Mendapatkan handle indikator Fractal_WeightOscillator_HTF untuk visualisasi dalam penguji strategi
   if(MQLInfoInteger(MQL_VISUAL_MODE))
     {
      //---- mendapatkan handle indikator Fractal_WeightOscillator_HTF
      int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\Fractal_WeightOscillator_HTF",InpInd_Timeframe,
                             e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
                             WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
      if(Ind_Handle==INVALID_HANDLE)
        {
         Print(" Gagal mendapatkan handle indikator Fractal_WeightOscillator_HTF");
         return(INIT_FAILED);
        }
     }

Dengan ini, fail boleh laksana EA yang telah dikompilasi boleh digunakan di terminal perdagangan lain secara sendiri tanpa keperluan indikator.

Perlu diingat bahawa fail perpustakaan TradeAlgorithms.mqh membolehkan penggunaan Expert Advisor dengan broker yang menawarkan spread tidak sifar dan pilihan untuk menetapkan Stop Loss dan Take Profit bersama dengan pembukaan posisi. Anda boleh memuat turun lebih banyak variasi perpustakaan ini di pautan berikut: Trade Algorithms.

Parameter input EA default telah digunakan semasa ujian yang ditunjukkan di bawah. Stop Loss dan Take Profit tidak digunakan semasa ujian.

Rajah 1. Contoh urusniaga pada carta

Rajah 1. Contoh urusniaga pada carta

Keputusan ujian untuk tahun 2015 pada GBPUSD H6:

Rajah 2. Carta keputusan ujian

Rajah 2. Carta keputusan ujian

Senarai
Komen 0