MetaTrader5
EA 2pbIdealMA_ReOpen: Sistem Trading Berbasis Moving Average untuk MetaTrader 5
Hai rakan-rakan trader! Hari ini kita akan membincangkan tentang EA 2pbIdealMA_ReOpen, satu sistem trading yang menggunakan kaedah Moving Averages untuk membantu kita membuat keputusan dalam perdagangan. Dalam sistem ini, kita akan menggunakan dua Moving Average untuk mengenal pasti peluang beli dan jual.
Sistem ini berfungsi apabila Moving Average cepat, iaitu 2pbIdeal1MA, melintasi Moving Average yang lebih perlahan, 2pbIdeal3MA. Apabila ini berlaku, kita akan mendapatkan isyarat untuk membeli. Sebaliknya, jika Moving Average cepat melintasi di bawah yang perlahan, itu adalah isyarat untuk menjual. Sangat mudah, bukan?
EA ini juga menguruskan pengendalian posisi dengan melakukan skala volume berdasarkan keuntungan yang diperoleh daripada transaksi sebelum ini. Jika keuntungan transaksi terdahulu melebihi ambang yang ditetapkan dalam parameter EA, ia akan menambah jumlah posisi yang dibuka. Maklumat tentang skala ini akan disimpan dalam komen dagangan dalam format seperti: jumlah skala / harga transaksi terakhir / jumlah transaksi terakhir.
Untuk menggunakan EA ini, anda perlu meletakkan fail 2pbIdeal1MA.ex5 dan 2pbIdeal3MA.ex5 dalam folder <terminal_data_folder>\MQL5\Indicators.
Setelah dikompilasi, fail EA Exp_2pbIdealMA_ReOpen.ex5 sudah termasuk indikator 2pbIdeal1MA.ex5 dan 2pbIdeal3MA.ex5 sebagai sumber, jadi anda tidak perlu meletakkan indikator tersebut di dalam folder terminal untuk EA ini berfungsi. Ini kerana kod yang sesuai telah ditambah ke dalam EA untuk menyertakan indikator ini dalam fail yang boleh dilaksanakan.
Fail indikator telah ditambahkan sebagai sumber pada skop global. Berikut adalah contoh kod yang menunjukkan cara indikator ini dimasukkan ke dalam kod EA:
//---- Sertakan indikator dalam kod EA sebagai sumber#resource "\Indicators\2pbIdeal1MA.ex5" #resource "\Indicators\2pbIdeal3MA.ex5"
Seterusnya, kita ubah laluan string kepada indikator yang digunakan sebagai sumber dalam fungsi OnInit():
//---- mendapatkan handle indikator 2pbIdeal1MA InpInd1_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\2pbIdeal1MA.ex5",Period1,Period2,0); if(InpInd1_Handle==INVALID_HANDLE) { Print("Gagal mendapatkan handle indikator 2pbIdeal1MA! Kode ralat=",GetLastError(),"."); return(INIT_FAILED); }//---- mendapatkan handle indikator 2pbIdeal3MA InpInd2_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\2pbIdeal3MA.ex5",PeriodX1,PeriodX2,PeriodY1,PeriodY2,PeriodZ1,PeriodZ2,0); if(InpInd2_Handle==INVALID_HANDLE) { Print("Gagal mendapatkan handle indikator 2pbIdeal3MA! Kode ralat=",GetLastError(),"."); return(INIT_FAILED); }
Dengan ini, fail yang telah dikompilasi boleh digunakan di terminal perdagangan lain tanpa memerlukan indikator tersebut.
Untuk ujian yang ditunjukkan di bawah, parameter input EA telah digunakan seperti default. Stop Loss dan Take Profit tidak digunakan semasa ujian.
Fig. 1. Contoh dagangan pada carta
Keputusan ujian untuk tahun 2015 pada GBPJPY H4:
Fig. 2. Carta keputusan ujian
2017.01.26