MQL5 TUTORIAL GRUNDLAGEN – 19 SO TRADEN SIE EINEN SIMPLE MOVING AVERAGE

video

In diesem Video wollen wir uns einmal anschauen, wie man diesen roten Moving Average handeln kann. Es handelt sich um einen Simple Moving Average für zwanzig Kerzen. Wir haben in diesem Expert Advisor hier oben Signale um zu kaufen und zu verkaufen. Und das Programm kann auch eigenständig handeln. Also finden wir mal heraus, wie man das mit MQL5 programmieren kann. Um das zu tun, klicken wir im Metatrader hier oben auf dieses kleine Icon oder drücken die F4 Taste. Das ruft dann hier das Metaeditor Fenster auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen SimplerMovingAverageEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier gelöscht werden. Und wir entfernen auch die zwei Kommentarzeilen. Wir starten mit diesem include Befehl. Der importiert uns die Datei Trade.mqh. Die gehört mit zu MQL5 und stellt Handelsfunktionen bereit. Danach erstellen wir uns eine Instanz von der Klasse CTrade. Die bekommt den Namen trade und wir werden sie gleich verwenden, um damit Positionen zu eröffnen. Damit wir das in beide Richtungen tun können, müssen wir den Ask-Preis und den Bid-Preis berechnen. Das geht mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir verwenden SYMBOL_ASK, alles in Großbuchstaben für den Ask-Preis. Und SIMBOL_BID, auch alles in Großbuchstaben, für den Bid-Preis. Ich nutze zusätzlich noch NormalizeDouble und _Digits. Denn damit wird automatisch berechnet, ob das aktuelle Währungspaar drei oder fünf Nachkommastellen hat. Jetzt nutzen wir die Funktion MqlRates, um uns ein Array für unsere Preisdaten zu machen. Das bekommt den Namen PriceInfo. Und danach nutzen wir die Funktion CopyRates für das aktuelle Symbol und die aktuell auf dem Chart ausgewählte Zeiteinheit. Die man übrigens beide auch mit Unterstrich schreiben kann. Dann können wir diese Klammern hier weglassen. Wir hätten gerne von der aktuellen Kerze null für drei Kerzen die Preisdaten und möchten diese in unserm PriceInfo Array speichern. Für unser Signal brauchen wir natürlich auch noch eine Variable. Die ist vom Typ string. Wir haben hier noch keinen Wert definiert, denn müssen wir ja noch ermitteln. Dazu erstellen wir uns noch ein Array. Diesmal für unseren SMA. Dieses Array bekommt den Namen myMovingAverageArray. Und jetzt nutzen wir die MQL5 Funktion iMA für das aktuelle Währungspaar auf den Chart und die aktuell auf dem Chart ausgewählte Zeiteinheit. Wir möchten gerne die Berechnung anhand der letzten zwanzig Kerzen ausführen. Dieser Parameter hier steht für eine Verschiebung. Damit könnte man nach rechts oder links verschieben. Wir möchten das aber nicht tun. Deswegen steht der Parameter hier auf null. Da wir einen Simple Moving Average berechnen möchten, nutzen wir hier MODE_SMA, alles in Großbuchstaben. Und da das Ganze auf den Schlusskurs berechnet werden soll, nutzen wir als letzten Parameter PRICE_CLOSE, auch alles in Großbuchstaben. Danach verwenden wir CopyBuffer um anhand der movingAverageDefiniton, die wir gerade hier oben getroffen haben, für Buffer null, das ist diese rote Linie hier, denn ein Simple Moving Average hat nur ein Buffer, von der aktuellen Kerze null für drei Kerzen, die Daten in unser MovingAverageArray zu kopieren. Jetzt definieren wir unser Kaufkriterium. Wenn der Schlusskurs für Kerze eins größer ist als der Moving Averarge Wert für Kerze eins und wenn der Schlusskurs für Kerze zwei noch kleiner war als der Wert von Kerze zwei von unserem MovingAverageArray, dann haben wir eine Überkreuzung. Und in dem Fall setzen wir den Wert für unser Signal auf Kaufen. Andernfalls, wenn der Schlusskurs für Kerze eins kleiner war, als der Wert für unser MovingAverageArray für Kerze eins und der Schlusskurs für Kerze zwei davor noch größer war, als der Moving Average für Kerze zwei, dann haben wir ebenfalls eine Überkreuzung. Und in dem Fall setzen wir unser Signal auf Verkaufen. Hier fehlt noch eine Klammer. Kommen wir zum eigentlichen Kauf oder Verkauf. Wenn unser Signal auf Verkaufen steht und die Funktion PositionsTotal eine Wert kleiner eins zurückliefert, dann möchten wir gerne verkaufen. Und darum nutzen wir trade.Sell um zehn Mikrolot zu verkaufen. Wem die Funktion dieser Zeile hier jetzt nichts sagt, dem würde ich raten die vorhergehenden Tutorial Videos noch einmal durchzugehen. Im andern Fall, wenn das Signal auf Kaufen steht und wir ebenfalls keine geöffnete Position haben, dann nutzen wir trade.Buy, um zehn Mikrolot zu kaufen. Zum Schluss nutzen wir noch den Comment Befehl, um eine Chart Ausgabe zu erstellen. Die wird uns den Text: Das Signal ist, ausgeben, gefolgt von dem von uns berechneten Signal. Das war es soweit. Sie können jetzt hier oben auf Kompilieren klicken oder die F7 Taste drücken. Wenn alles funktioniert, sollten Sie her keine Fehler haben. Und in dem Fall können Sie hier oben klicken oder F4 drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Hier im Strategietester wählen wir jetzt die neue Datei SimplerMovingAverageEA.ex5 aus. Markieren die Option für die Visualisierung und starten einen Test. Und so sieht unser Expert Advisor jetzt im laufenden Betrieb aus. Tatsächlich wird der Moving Average gerade nicht angezeigt. Seid dem letzten Update von Metatrader ist das öfter mal der Fall. Also verwenden wir einen kleinen Trick. Wir klicken auf einem leeren Chart auf Einfügen, Indikatoren, Tendenz, Moving Average. Hier tragen wir die Werte für unseren SMA ein. Wir möchten gerne für zwanzig Kerzen, ohne Verschiebung den Simple Moving Average für den Schlusskurs berechnen. Jetzt klicken wir auf Okay. Hier wird unser Moving Average angezeigt. Jetzt klicken wir mit der rechten Maustaste in das Chart, wählen Vorlagen, Vorlage speichern und speichern diese Vorlage unter dem Namen tester.tpl. Denn das ist die Schablone, die im Strategietester verwendet wird. Danach starten wir den Test erneut. Und diesmal wird unser Moving Average angezeigt. Wir erhalten hier Kaufen und Verkaufen Signale. Hier ist bereits unsere erste Position eröffnet worden. Und Sie haben in diesem kurzen Video gelernt, wie Sie für einen Simple Moving Average einen Expert Advisor erstellen können, der das Signal berechnet und automatisch handelt. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier, in MQL5.

Download “CODE - SIMPLER MOVING AVERAGE EA” SimplerMovingAverageEA.mq5 – 27-mal heruntergeladen – 4 KB