MQL4 TUTORIAL GRUNDLAGEN – 20 SO PROGRAMMIEREN SIE EINEN CROSSOVER EXPERT ADVISOR

video

In diesem Video schauen wir uns einmal einen Crossover Expert Advisor für zwei gleitende Durchschnitte an. Wir haben hier einen fünfziger und einen zwanziger gleitenden Durchschnitt. Und wenn die sich hier überkreuzen, dann werden hier oben Signale erzeugt. Diese Signale werden hier unten auch automatisch gehandelt. Und wir wollen uns jetzt einmal anschauen, wie man sowas in MQL4 programmieren kann. Dazu klicken Sie bitte zunächst hier oben auf dieses kleine Symbol oder drücken die F4 Taste. Das ruft dann hier den Metaeditor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen SimplerCrossoverEA, klicke auf Weiter, Weiter und Fertigstellen. Und jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden nicht länger benötigt. Wir starten damit, dass wir hier zwei input Variablen definieren. Eine für unseren SmallsMA und einen für den BigSMA. Input bedeutet, dass es sich um eine externe Variable handelt, die später noch vom Benutzer ohne Neukompilierung verändert werden kann. Wir starten in der OnTick Funktion damit, dass wir eine neue string Variable für unser Signal erstellen. Hier wird aber zunächst noch kein Wert zugewiesen. Denn der muss noch berechnet werden. Zunächst berechnen wir mit der Funktion iMA für das aktuelle Währungspaar auf dem Chart und die auf dem Chart eingestellte Zeiteinheit für dem SmallSMA ohne eine Verschiebung, den Wert für den MODE SMA. Das steht für Modus Simple Moving Average. Das Ergebnis soll bitte auf den Schlusskurs berechnet werden. Und wir hätten das gern für die Kerze eins. Das Ganze berechnen wir dann noch mal für den Big Moving Average, ebenfalls für Kerze eins. Diese Zeile ist nahezu identisch. Allerdings werden hier für die Variable und hier für die Zuweisung der Anzahl der Kerzen der BigSMA statt dem SmallSMA genutzt. Und da wir prüfen müssen, ob wir eine Überkreuzung haben, müssen wir das Ganze noch mal jeweils für die Kerze zwei berechnen. Hier verwenden wir im letzten Parameter, sowohl für dem SmallSMA, als auch für den BigSMA die Kerze Nummer zwei. Jetzt können wir prüfen, ob wir ein Einstiegssignal haben. Fall der BigMovingAverage > SmallMovingAverage für die Kerze eins. Und der BigMovingAverage für Kerze zwei noch < als der SmallMovingAverage für Kerze zwei. Dann haben wir eine Überkreuzung. In dem Fall weisen wir dem Signal den Wert Verkaufen zu. Andernfalls, wenn der BigMovingAverage für Kerze eins < SmallMovingAverage für Kerze eins und der BigMovingAverage für Kerze zwei noch > SmallMovingAverage für Kerze zwei, dann möchten wir gerne Kaufen und weisen den Begriff Kaufen unserer Signal Variable zu. Kommen wir zum eigentlichen OrderSend Befehl. Wenn unser Signal auf Kaufen steht und uns die Funktion OrdersTotal einen Wert von Null zurückliefert, dann haben wir keine offenen Positionen. Und in dem Fall nutzen wir den OrderSend Befehl, um zehn Mikrolots zu kaufen. Andersfalls, wenn das Signal auf Verkaufen steht und wir keine geöffnete Position haben, dann nutzen wir OrderSend um zehn Mikrolot zu verkaufen. Wem das jetzt alles etwas zu schnell war, der möchte sich vielleicht noch mal die anderen Videos aus dieser Grundlagenserie anschauen oder vielleicht ist auch der Premium Kurs für Sie interessant. Auf jeden Fall fehlt uns jetzt hier noch eine Chart Ausgabe. Darum nutzen wir den Comment Befehl, um auf unserem Chart den Text: Das aktuelle Signal ist und das von uns ermittelte Signal anzeigen zu lassen. Das war es soweit. Wenn Sie alles haben, können Sie hier oben auf Kompilieren klicken oder die F7 Taste drücken. Das hat hier ohne Fehler funktioniert. Und wenn das bei Ihnen auch so ist, dann klicken Sie einfach auf das kleine Symbol hier oder drücken Sie die F4 Taste, um in den Metatrader zurückzukehren. Und im Metatrader nutzen wir jetzt einen kleinen Trick. Wir klicken auf Einfügen, Indikatoren, Tendenz, Moving Average. Hier werden wir jetzt für die Periode fünfzig Kerzen aus. Wir möchten gerne keine Verschiebung. Wir möchten den Simple Moving Average für den Schlusskurs ermitteln. Der soll die Farbe Yellow haben, also gelb. Wir klicken auf Okay. Dann wiederholen wir das noch mal. Dieses Mal wählen wir zwanzig Kerzen für den Small Moving Average und ändern die Farbe auf Rot. Jetzt fehlt noch ein Rechtsklick auf das Chart. Hier wählen wir Vorlage, Vorlage speichern und speichern das Ganze unter dem Namen tester.tpl. Denn das ist die Schablone, die für den Backtest genutzt wird. Danach klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Das ruft den Strategietester auf. Und hier wählen wir jetzt die neu erstellte Datei SimplerCrossoverEA.ex4 aus. Markieren hier die Option für den visuellen Modus und starten unseren Test. Hier läuft unser Expert Advisor auch schon los. Wir sehen hier beide Moving Average Signale und jetzt kommt es gleich zu einer Überkreuzung. Das ist jetzt passiert. Wir haben hier unseren ersten Verkaufstrade gemacht. Stoppen wir das Ganze mal. Denn Sie können hier in den Expert Advisor Optionen unter Eingaben, jetzt auch den Wert ändern. Zum Beispiel auf dreißig für den SmallMovingAverage. Aber bitte vergessen Sie nicht, die Eigenschaften auch auf der Schablone zu ändern und dann die Vorlage wieder mit den neuen Werten unter dem Namen tester.tpl zu speichern. Die alte Schablone kann ruhig ersetzt werden. Wir starten erneut einen Test. Und diesmal sehen wir, dass hier der Moving Average für dreißig Kerzen berechnet wird. Unser Expert Advisor erstellt hier Signale und hat auch schon die ersten Positionen eröffnet. Und Sie haben in diesem kurzen Video gelernt, wie Sie für zwei gleitende Durchschnitte einen automatisch handelsfähigen Expert Advisor in MQL4 programmieren können, bei dem sogar die Werte für die Moving Averages veränderbar sind. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.

Download “CODE - SIMPLER CROSSOVER EA” SimplerCrossoverEA.mq4 – 26-mal heruntergeladen – 2 KB