English Русский 中文 Español 日本語 Português 한국어 Français Italiano Türkçe
Wie man in wenigen Minuten einen MQL5-Expert-Advisor mit dem Expert-Advisor-Baum erstellt: Teil eins

Wie man in wenigen Minuten einen MQL5-Expert-Advisor mit dem Expert-Advisor-Baum erstellt: Teil eins

MetaTrader 5Handelssysteme | 4 Mai 2016, 15:55
4 095 0
eatree
eatree

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

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

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

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

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

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

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

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

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

Abbildung 10 Das Feld MACD technischer Indikator

Das Feld MA (Moving Average) technischer Indikator

Abbildung 11 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:

  1. Current MACD main > current MACD signal and
  2. Previous MACD main < previous MACD signal and
  3. Current EMA(20) > previous EMA(20)

Open Short:

  1. Current MACD main < current MACD signal and
  2. Previous MACD main > previous MACD signal and
  3. 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

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

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:

If current MACD main > current MACD signal andprevious MACD main < previous MACD signal

Abbildung 14 Trade-Feld und AND-Feld und Crossover-Feld und MACD-Feld

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:

  1. Current MACD main > current MACD signal and
  2. Previous MACD main < previous MACD signal and
  3. Current EMA(20) > previous EMA(20)

Abbildung 15 Trade-Feld und AND-Feld und Crossover-Feld und MACD-Feld und MA-Feld und If-else-Feld

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

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
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

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

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 

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

Beigefügte Dateien |
eatree-sample.mq5 (33.7 KB)
MQL5-RPC. Remote Procedure Calls von MQL5, mit Web Service Access und XML-RPC-ATC-Analysator MQL5-RPC. Remote Procedure Calls von MQL5, mit Web Service Access und XML-RPC-ATC-Analysator
In diesem Artikel wird das MQL5-RPC-System beschrieben, das Remote Procedure Calls von MQL5 ermöglicht. Zuerst wird auf die Grundlagen XML-RPC eingegangen, dann folgt die MQL5 Implementierung und zwei Bespiele aus dem echten Leben. Beim ersten Beispiel wird ein externer Webdienst verwendet, beim zweiten ein Client für den einfachen Analysator Dienst XML-RPC ATC 2011. Wenn Sie sich für Implementierungen und Analysen von verschiedenen Statistiken des ATC 2011 in Echtzeit interessieren, dann ist dieser Artikel das Richtige für Sie.
Die Alles oder Nichts - Strategie am Devisenmarkt Die Alles oder Nichts - Strategie am Devisenmarkt
In diesem Artikel wird die Erstellung einer einfachen Handelsstrategie beschrieben, die nach dem "Alles oder Nichts"-Spielprinzip funktioniert. Wir wollen hier keinen gewinnbringenden Expert Advisor erstellen, sondern den Ersteinsatz mehrere Male mit der höchsten Wahrscheinlichkeit vergrößern. Kann man den Jackpot am Devisenmarkt gewinnen, ohne dass man etwas über technische Analysen weiß oder Indikatoren verwendet?
Die Verwendung von MetaTrader5 als Signalgeber für MetaTrader4 Die Verwendung von MetaTrader5 als Signalgeber für MetaTrader4
Analyse und Beispiele, wie eine Handelsanalyse auf der Plattform MetaTrader5 gemacht, aber von MetaTrader4 ausgeführt wird. In diesem Artikel wird besprochen, wie man einen einfachen Signalgeber in MetaTrader5 entwirft und mehrere Clients verbindet, auch wenn man MetaTrader4 laufen lässt. Sie werden auch herausfinden, wie Sie den Teilnehmern der Automated Trading Championship mit Ihrem realen MetaTrader4-Account folgen können.
Dr. Handel oder: Wie ich lernte, mir keine Sorgen mehr zu machen und einen autodidakten Expert Advisor erstellte Dr. Handel oder: Wie ich lernte, mir keine Sorgen mehr zu machen und einen autodidakten Expert Advisor erstellte
Vor einem Jahr hat Joo uns in seinem Artikel "Genetic Algorithms - It's Easy!" (Genetische Algorithmen - leicht gemacht!) ein Werkzeug für die Implementierung des genetischen Algorithmus in MQL5 gegeben. Mit diesem Werkzeug werden wir nun einen Expert Advisor erstellen, der unter bestimmten Rahmenbedingungen seine eigenen Parameter genetisch optimieren kann.