Idee von: Gatis.
MQL5-Code von: Vladimir Karputov.
Der Expert Advisor (EA) analysiert vier Parameter:
- Wert der Hauptlinie des MACD am Balken #1 (macd_main_1)
- Wert der Signallinie des MACD am Balken #1 (macd_signal_1)
- Wert des Indikators SAR am Balken #1 (sar_1) im Verhältnis zum Preis Bid (m_symbol.Bid())
Diese Parameter werden in der grundlegenden Formel für Buy- und Sell-Signale kombiniert:
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());
Du kannst jedoch die Werte der Zeichen < und > in jeder Formel optimieren. Dazu werden für jedes Zeichen < und > eigene Variablen (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, InpMoreLessSell_3) eingeführt. Mit diesen Variablen wird die Grundformel wie folgt modifiziert:
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() );
Der EA selbst arbeitet nur, wenn ein neuer Balken erscheint. Wenn ein Signal empfangen wird, werden Positionen, die dem empfangenen Signal entgegen stehen, geschlossen.
Bei der Optimierung der Formel wäre es auch ratsam, die Anzahl der Positionen zu optimieren:

Kommentar 0