MQL5 Wizard ermöglicht es, den Code von Expert Advisors automatisch zu erstellen. Weitere Informationen finden Sie im Artikel über Bereitgestellte Expert Advisors im MQL5 Wizard erstellen.
In diesem Beitrag betrachten wir eine Strategie, die auf dem Crossover zweier exponentiell geglätteter gleitender Durchschnitte (schnelle EMA und langsame EMA) basiert. Diese Strategie wird als „Signale basierend auf dem Crossover zweier EMAs“ bezeichnet, wenn Sie den EA automatisch im MQL5 Wizard erstellen.
Handelssignale:
- Buy: Die schnelle EMA kreuzt die langsame EMA nach oben.
- Sell: Die schnelle EMA kreuzt die langsame EMA nach unten.
Diese Strategie ist in der Klasse CSignalCrossEMA implementiert.

Grafik 1. Handelssignale, basierend auf dem Crossover zweier exponentiell geglätteter gleitender Durchschnitte
Handelssignale
Die Handelsstrategie ist in der Klasse CSignalCrossEMA implementiert und bietet einige geschützte Methoden, um den Zugriff auf die Indikatorwerte zu vereinfachen:
double FastEMA(int ind) // gibt den Wert des schnellen gleitenden Durchschnitts der Kerze zurück double SlowEMA(int ind) // gibt den Wert des langsamen gleitenden Durchschnitts der Kerze zurück double StateEMA(int ind) // gibt die Differenz zwischen den schnellen und langsamen gleitenden Durchschnitten der Kerze zurück
1. Long-Position eröffnen
Die Bedingungen für die Eröffnung einer Long-Position:
- StateEMA(1) > 0 und StateEMA(2) < 0: Die schnelle EMA hat die langsame EMA am letzten abgeschlossenen Balken nach oben gekreuzt.
//+------------------------------------------------------------------+ //| Überprüft die Bedingungen zur Eröffnung einer Long-Position (Kauf) | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)< 0 && StateEMA(1)> 0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
2. Long-Position schließen
Die Bedingungen zum Schließen einer Long-Position:
- StateEMA(1) < 0 und StateEMA(2) > 0: Die schnelle EMA hat die langsame EMA am letzten abgeschlossenen Balken nach unten gekreuzt.
//+------------------------------------------------------------------+ //| Überprüft die Bedingungen zum Schließen einer Long-Position | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseLong(double& price) { if(!(StateEMA(2)> 0 && StateEMA(1)< 0)) return(false); //--- price=0.0; //--- return(true); }
3. Short-Position eröffnen
Die Bedingungen für die Eröffnung einer Short-Position sind die gleichen wie die Bedingungen zum Schließen einer Long-Position.
//+------------------------------------------------------------------+ //| Überprüft die Bedingungen zur Eröffnung einer Short-Position (Verkauf) | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)> 0 && StateEMA(1)< 0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
4. Short-Position schließen
Die Bedingungen zum Schließen einer Short-Position sind die gleichen wie die Bedingungen zum Öffnen einer Long-Position.
//+------------------------------------------------------------------+ //| Überprüft die Bedingungen zum Schließen einer Short-Position | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseShort(double& price) { if(!(StateEMA(2)< 0 && StateEMA(1)> 0)) return(false); //--- price=0.0; //--- return(true); }
Expert Advisor mit MQL5 Wizard erstellen
Um einen Handelsroboter basierend auf dieser Strategie zu erstellen, müssen Sie die Signalparameter als „Signale basierend auf dem Crossover zweier EMAs“ im Abschnitt „Bereitgestellte Expert Advisors erstellen“ des MQL5 Wizard auswählen:

Grafik 2. Wählen Sie "Signale basierend auf dem Crossover zweier EMAs" im MQL5 Wizard
Als Nächstes müssen Sie den benötigten Trailing Stop-Algorithmus und das Geld- und Risikomanagementsystem angeben. Der Code des Expert Advisors wird automatisch erstellt, und Sie können ihn im Strategietester des MetaTrader 5 Client-Terminals kompilieren und testen.
Darüber hinaus enthält die Standardbibliothek Klassen wie „Signale basierend auf dem Crossover zweier MA“, die in der CSignalCrossMA-Klasse implementiert sind. Die Handelsidee ist ähnlich, bietet aber viele zusätzliche Funktionen (z. B. die Angabe von Typen, Verschiebungen und Durchschnittsmethoden sowie die Verwendung von Take-Profit- und Stop-Loss-Niveaus).

Grafik 3. "Signale basierend auf dem Crossover zweier MA" im MQL5 Wizard
Testergebnisse
Schauen wir uns das Backtesting des Expert Advisors auf historischen Daten (EURUSD H1, Testzeitraum: 01.01.2010-05.01.2011, FastPeriod=12, SlowPeriod=24) an.
Bei der Erstellung des Expert Advisors haben wir das feste Volumen (Handel mit festem Lot, 0.1) verwendet, und der Trailing Stop-Algorithmus wurde nicht verwendet (Trailing nicht verwendet).

Grafik 4. Historische Backtesting-Ergebnisse des Expert Advisors, basierend auf dem Crossover zweier EMAs
Anhänge: Die SignalCrossEMA.mqh mit der CSignalCrossEMA-Klasse muss in den Ordner terminal_data_folder\MQL5\Include\Expert\Signal eingefügt werden.
Die crossover_2ema.mq5 enthält den Code des Expert Advisors, der mit dem MQL5 Wizard erstellt wurde.
Verwandte Beiträge
- So integrierst du hochkarätige Wirtschaftsdaten in deinen EA für MetaTrader 4
- Handelssignale mit MQL5 Wizard: Bullish und Bearish Harami mit CCI bestätigen
- Erstelle einen Expert Advisor basierend auf dem Center of Gravity Indikator für MetaTrader 4
- MQL5 Wizard: Trade Signale auf Basis von Kurs-Crossover mit gleitendem Durchschnitt und ADX Bestätigung
- MQL5 Wizard: Handels-Signale mit 3 schwarzen Krähen / 3 weißen Soldaten + CCI für MetaTrader 5