Mengoptimalkan MACD dan SAR untuk MetaTrader 5: Panduan Lengkap untuk Trader

Mike 2018.06.18 19:52 11 0 0
Lampiran

Ide oleh: Gatis.

Kode MQL5 oleh: Vladimir Karputov.

EA ini menganalisis empat parameter:

  1. Nilai garis utama MACD pada bar #1 (macd_main_1)
  2. Nilai garis sinyal MACD pada bar #1 (macd_signal_1)
  3. Nilai indikator SAR pada bar #1 (sar_1) relatif terhadap harga Bid (m_symbol.Bid())

Parameter-parameter ini digabungkan dalam rumus dasar sinyal untuk Buy dan Sell:

bool open_buy = (macd_main_1 > macd_signal_1 && macd_signal_1 < 0 && sar_1 < m_symbol.Bid());
bool open_sell = (macd_main_1 < macd_signal_1 && macd_signal_1 > 0 && sar_1 > m_symbol.Bid());

Namun, Anda bisa mengoptimalkan nilai tanda < dan > di bagian manapun dari rumus. Untuk itu, untuk setiap tanda < dan >, diperkenalkan variabel masing-masing (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, dan InpMoreLessSell_3). Dengan variabel ini, rumus dasar dimodifikasi sebagai berikut:

bool open_buy = (InpMoreLessBuy_1 ? macd_main_1 > macd_signal_1 : macd_main_1 < macd_signal_1) && 
(!InpMoreLessBuy_2 ? macd_signal_1 < 0 : macd_signal_1 > 0) && 
(!InpMoreLessBuy_3 ? sar_1 < m_symbol.Bid() : sar_1 > m_symbol.Bid());
bool open_sell = (!InpMoreLessSell_1 ? macd_main_1 < macd_signal_1 : macd_main_1 > macd_signal_1) && 
(InpMoreLessSell_2 ? macd_signal_1 > 0 : macd_signal_1 < 0) && 
(InpMoreLessSell_3 ? sar_1 > m_symbol.Bid() : sar_1 < m_symbol.Bid());

EA ini hanya beroperasi ketika bar baru muncul. Ketika sinyal diterima, posisi yang berlawanan dengan sinyal yang diterima akan ditutup.

Ketika mengoptimalkan rumus, akan lebih baik juga untuk mengoptimalkan jumlah posisi:

Optimasi MACD dan SAR

Daftar
Komentar 0