MACD en SAR: Jouw Expert voor MetaTrader 5

Mike 2018.06.18 19:52 23 0 0
Bijlage

Idee van: Gatis.

MQL5-code door: Vladimir Karputov.

Deze EA analyseert vier parameters:

  1. Waarde van de hoofdlijn van MACD op bar #1 (macd_main_1)
  2. Waarde van de signaallijn van MACD op bar #1 (macd_signal_1)
  3. Waarde van de SAR op bar #1 (sar_1) ten opzichte van de prijs Bid (m_symbol.Bid())

Deze parameters worden samengevoegd in de basisformule voor Buy en Sell signalen:

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());

Je kunt echter de waarden van de tekens < en > in elk deel van de formule optimaliseren. Hiervoor zijn voor elk teken < en > eigen variabelen (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, en InpMoreLessSell_3) geïntroduceerd. Met deze variabelen wordt de basisformule als volgt gewijzigd:

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() );

De EA zelf werkt alleen wanneer er een nieuwe bar verschijnt. Zodra er een signaal binnenkomt, worden posities die tegen het ontvangen signaal ingaan gesloten.

Bij het optimaliseren van de formule is het ook verstandig om het aantal posities te optimaliseren:

MACD en SAR optimalisatie

Lijst
Reactie 0