
Wie man in wenigen Minuten einen MQL5-Expert-Advisor mit dem Expert-Advisor-Baum erstellt: Teil eins
Einleitung
Der EA-Baum ist das erste Programm, mit dem man mittels 'drag and drop' einen Expert Advisor in MetaTrader-MQL5 entwerfen kann. Es ist eine lokal auf Ihrem Computer laufende Windows-Anwendung. Sie können den komplexen MQL5-Code mit einer sehr benutzerfreundlichen, graphischen Benutzerschnittstelle erstellen.
In diesem Programm entwirft man Expert Advisor, indem man Felder miteinander verbindet. Die Felder können MQL5-Funktionen enthalten, technische Indikatoren, benutzerdefinierte Indikatoren oder Werte. Die Outputs eines Feldes können mit Inputs eines anderen Feldes verbunden werden, um einen "Baum aus Feldern" zu formen. Der EA-Baum generiert MQL5-Code aus dem "Baum aus Feldern" und verwendet dann die auf Ihrem Computer installierte MetaTrader 5-Plattform, um den MQL5-Code in einen ausführbaren Expert Advisor umzuwandeln.
Abbildung 1 EA-Baum graphische Benutzerschnittstelle
In den nächsten Abschnitten werden wir die grundlegenden Konzepte eines EA-Baumes besprechen.
1. Grundlegende Konzepte
Das Konzept von 'Feldern' und 'Flächen'.
Felder enthalten Informationen in einem EA-Baum. Sie können technische Indikatoren, mathematische Funktionen, und vieles mehr enthalten. Jedes Feld hat Input-Flächen und Output-Flächen. In diesem Beispiel hat das Feld 'Add' (hinzufügen) drei Input-Flächen mit den Labels A, B und C und eine Output-Fläche mit dem Label OUT.
Jedes Feld hat sein einzigartiges Label mit seinem Namen und einem Index. In diesem Beispiel zeigt das Label Add_1, dass der Name des Feldes Add ist und sein Index 1, was bedeutet, dass dies das erste Feld war, das in diesem Layout erstellt wurde.
Abbildung 2 Add-Feld
Flächen verbinden:
Output-Flächen eines Feldes können zu den Input-Flächen eines anderen Feldes verknüpft werden, wenn sie die selben Datentypen haben, das heißt, wenn sie beide double-Datentypen sind.
In diesem Beispiel werden wir die OUT-Fläche des Add_2-Feldes mit der A-Fläche des If_Else_1-Feldes verknüpfen.
Abbildung 3 "Add"-Feld + "if else"-Feld
2. Das "Trade"-Feld
Das "Trade"-Feld ist das Hauptfeld im EA-Baum. Es hat viele Input-Flächen. Die wichtigsten Flächen sind openLong, openShort, closeLong und closeShort Es gibt auch viele Handel-Parameter.
Abbildung 4 Das 'Trade'-Feld
3. Das "MM"-Feld (Money Management)
Das MM-Feld kümmert sich um MoneyManagement bei EA-Bäumen. Es hat viele Input-Flächen. Sie müssen die Output-Flächen mit den MM-Flächen des Trade-Felds verbinden.
Abbildung 5 'Trade'-Feld und MM-Feld
4. Logische Felder
Logische Felder sind wichtig für die Verbindung der Bedingungsflächen des Trade-Feldes: openLong, openShort, closeLong, und closeShort und der Rest der Felder im Layout.
Das Logik-Feld If-Else
Folgende Logik gilt beim If-Else-Feld:
Wenn (if) A operator B, dann ist (then) T (Output-Fläche) wahr; sonst ist (else) F wahr.
Der Operator kann gleich, nicht gleich, weniger als, größer als, etc. sein.
Abbildung 6 Das Logik-Feld If-Else
Das Logik-Feld Crossover
Das CrossoverFeld hat folgende Logik:
Wenn (if) A operator B AND C operator2 D, dann ist T (Output-Fläche) wahr; sonst ist (else) F wahr.
Operator1 und Operator2 können gleich, nicht gleich, weniger als, größer als, etc. sein. Die Umschaltung legt Indexe der Indikatoren zum Verbinden fest.
In diesem Beispiel haben wir die Logik:
If current Stochastic main > current Stochastic signal and
If previous Stochastic main > previous Stochastic signal
Then T is true and F is false
Abbildung 7 Crossover und Stochastik-Logik-Felder
Das Logik-Feld AND
Das AND-Feld hat folgende Logik:
If (A AND B AND C AND D) then OUT(output button) is true
Abbildung 8 "And"-Feld
Das Logik-Feld OR
Das OR-Feld hat folgende Logik:
If (A OR B OR C OR D) then OUT (output button) is true
Abbildung 9 "Or"-Feld
5. Das Feld "Technische Indikatoren"
Im Menü "Technische Indikatoren" sind viele technische Indikatoren aufgelistet, wie zum Beispiel die Felder MACD und Moving Average (MA)
Das Feld MACD technischer Indikator
Abbildung 10 Das Feld MACD technischer Indikator
Das Feld MA (Moving Average) technischer Indikator
Abbildung 11 Das Feld MA (Moving Average) technischer Indikator
6. Benutzerdefinierte Indikatoren
Werkzeuge für benutzerdefinierte Indikatoren sind vom benutzerdefinierten Menü und der Symbolleiste verfügbar. Der EA-Baum verwendet nur MQL5 benutzerdefinierte Indikatoren.
7. MQL5-Funktionen
Der EA-Baum hat viele Boxen für MQL5-Funktionen, unter anderem:
- Time Series Boxes so wie iOpen, iClose, HighestHigh, LowestLow, etc.
- Umwandlungsfunktionen;
- Mathematische Funktionen;
- Stringfunktionen
8. Tutorial: Einen einfachen Expert-Advisor erstellen
In diesem Abschnitt werden wir einige der Werkzeuge, die im Artikel beschrieben werden, verwenden, um einen einfachen Expert Advisor zu erstellen.
Lassen Sie uns zuerst die Expert-Advisor-Handelsregeln auflisten:
Eintrittsregeln:
Open Long:
- Current MACD main > current MACD signal and
- Previous MACD main < previous MACD signal and
- Current EMA(20) > previous EMA(20)
Open Short:
- Current MACD main < current MACD signal and
- Previous MACD main > previous MACD signal and
- Current EMA(20) < previous EMA(20)
Ausgangsregeln:
Close Long: es gelten die selben Regeln wie bei Open Short
Close Short: es gelten die selben Regeln wie bei Open Long
Wir werden Standard-Handelsfelder verwenden und keine Money-Management-Einstellungen.
Lost geht's!
1. Erstellen Sie zuerst ein Trade-Feld, dann ein AND-Feld und verbinden Sie den Output des AND-Felds mit der openLong-Taste des Trade-Felds.
Abbildung 12 Trade-Feld und AND-Feld
2. Erstellen Sie ein Crossover-Feld und verbinden Sie die T(true) Output-Schaltfläche mit der A-Schaltfläche des AND-Feldes.
Abbildung 13 Trade-Feld und AND-Feld und Crossover-Feld
3. Erstellen Sie ein MACD-Feld, verbinden Sie seine Haupt-Output-Flächen mit den A- und C-Flächen des Crossover-Feldes und verbinden Sie die Signal-Output-Flächen mit den B-und D-Flächen des Crossover-Feldes.
Die Logik dahinter ist:
Abbildung 14 Trade-Feld und AND-Feld und Crossover-Feld und MACD-Feld
4. Erstellen Sie ein MA-Feld und ein If-Else-Feld. Verbinden Sie die Haupt-Output-Fläche des MA-Feldes mit den A- und B-Flächen des If-Else-Feldes. Verbinden Sie den OUTPUT des IF-ELSE-Feldes mit der B-Fläche des AND-Feldes.
Der untergeordnete Baum der openLong-Bedingung ist nun mit diesen drei Bedingungen komplett:
Abbildung 15 Trade-Feld und AND-Feld und Crossover-Feld und MACD-Feld und MA-Feld und If-else-Feld
5. Erstellen Sie ein weiteres And-Feld und verbinden Sie die Output-Fläche mit der openShort-Fläche des Trade-Feldes.
6. Da die Logik von openShort das Gegenteil von openLong ist, verbinden Sie die F-Output-Fläche des Crossover-Feldes mit der A-Fläche des neuen AND-Feldes. Verbinden Sie auch die F-Output-Fläche des If-else-Feldes mit der B-Fläche des neuen AND-Feldes.
Abbildung 16 Trade-Feld und AND-Feld und Crossover-Feld und MACD-Feld und MA-Feld und If-else-Feld und And-Feld
7. Um Exit-Signale zu bekommen, verbinden Sie die OUT-Variable des ersten AND-Feldes mit der closeLong-Fläche des Trade-Feldes und der OUT-Variable des zweiten AND-Feldes zur closeShort-Fläche des Trade-Feldes:
Abbildung 17. Hinzufügen von CloseShort zum Trade-Feld
8. Doppelklicken Sie auf beide MACD- und MA-Felder und wählen Sie eine Anzahl an Variablen als Input-Variablen im MQL5-Expert-Advisor, den wir generieren werden.
Abbildung 18 Eingangsparameter
9. Das Layout ist nun vollständig. Speichern Sie das Layout und die MQL5-Datei. Öffnen Sie dann die neue MQL5-Expert-Advisor-Datei in MetaEditor 5 und erstellen sie sie.
Abbildung 19 Generierter Expert Advisor
10. Letztendlich optimieren wir die gewählten Input-Variablen mit dem MetaTrader 5 Strategy Tester.
Abbildung 20 Den Expert Advisor testen
Fazit
Die Verwendung eines Expert-Advisor-Baumes hat viele Vorteile.
- eine benutzerfreundliche, einfach verständliche, graphische 'drag and drop'-Benutzerschnittstelle;
- Sie benötigen keine Programmierkenntnisse;
- Sie können MQL5 schnell lernen;
- Bewahrung Ihrer Handels-Geheimnisse;
- Sie verringern die Zeit der Entwicklung eines Expert Advisors auf Minuten, anstatt Tage oder Monate;
- Sie können komplexe MQL5-Expert-Advisors mit mehreren Währungen und vielfachen Zeitrahmen entwickeln;
- Sie können multiple Handels-Strategien in einem Expert Advisor verbinden;
- Sie können Code ganz einfach wiederverwenden, indem Sie Diagramme speichern;
- Sie sind immer noch dazu in der Lage, die benutzerdefinierten Indikatoren von MQL5 zu importieren;
- Sie erstellen jedes Mal korrekten MetaTrader5-MQL-Code.
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/337





- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.