MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL GRUNDLAGEN – 66 SIMPLER SHIFTED EMA


Listen Later

In diesem Video wollen wir einmal einen Expert Advisor erstellen, der in der Lage ist, anhand von, nach rechts in die Zukunft verschobenen exponentiellen gleitenden Durchschnitten, Kaufen- und Verkaufen-Signale zu generieren. Also schauen wir uns einmal an, wie man so etwas in MQL5 programmieren kann. Um das zu tun klicken Sie im Metatrader bitte auf dieses kleine Symbol hier oben oder drücken Sie die F4-Taste. Das ruft dann hier den Meta Editor auf und hier klicken wir auf Datei, neue Datei, Expert Advisor aus Vorlage, weiter. Ich vergebe hier einmal den Namen SimplerShiftedEMA, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Wir starten hier oben mit einem include-Befehl. Der soll uns die Datei Trade.mqh importieren. Die stellt über die Klasse CTrade vereinfachte Handelsfunktionen bereit. Darum erstellen wir uns hier eine Instanz davon, mit dem Namen Trade. Außerdem möchte ich gerne drei benutzerdefinierte Variablen haben. Die erste Variable soll für die Anzahl der Kerzen, zur Berechnung von unserem gleitenden Durchschnitt genutzt werden. Und die Variablen 2 und 3 sind die jeweiligen Verschiebungswerte. Der Verschiebungswert 1 wird 20 Kerzen und der Verschiebungswert 2 100 Kerzen betragen. Das sorgt dann dafür, dass die gleitenden Durchschnitte hier rechts vom aktuellen Preis gezeichnet werden. In der OnTick-Funktion berechnen wir zunächst den Ask-Preis und den Bid-Preis. Das übernimmt die Funktion SymbolInfoDouble, für das aktuelle Währungspaar auf dem Chart. Wir nutzen entweder SYMBOL_ASK oder SYMBOL_BID, bitte alles in Großbuchstaben. Und mit NormalizeDouble und _Digits sorgen wir dafür, dass je nach Währungspaar entweder drei oder fünf Nachkommastellen berechnet werden. Anschließend erstellen wir uns hier eine Variable für das Signal. Die ist vom Typ string, damit sie Text aufnehmen kann, aber wir weisen hier noch keinen Wert zu. Denn der wird jetzt ermittelt. Da wir zwei gleitende Durchschnitte nutzen wollen, brauchen wir auch zwei Arrays. Beide sind vom Typ double und sollen unsere Preisdaten für die gleitenden Durchschnitte aufnehmen. Zunächst einmal sortieren wir die beiden Arrays von der aktuellen Kerze an abwärts. Das übernimmt die Funktion ArraySetAsSerious. Für unseren ersten gleitenden Durchschnitt nutzen wir die in MQL eingebaute Funktion iMA für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir nutzen hier die Anzahl der vom Benutzer definierten Kerzen. In diesem Fall ist der Vorgabewert 20. Der Verschiebungswert für den ersten gleitenden Durchschnitt ist ebenfalls 20. MODE_EMA steht für exponentiell moving average. Und wir möchten gerne, dass die Werte anhand der Schlusskurse berechnet werden. Darum nutzen wir hier als letzten Parameter PRICE_CLOSE. Das Ganze wiederholen wir hier nochmal für den zweiten Moving Average. Vom Prinzip ist alles identisch, bis auf den Verschiebungswert. Danach können wir mit CopyBuffer anhand der Definition, die wir hier oben getroffen haben, für Buffer 0, also die eine Signallinie die wir haben, von der aktuellen Kerze 0, für 3 Kerzen ermitteln und in unseren MovingAverageArray speichern. Auch das wiederholen wir für unseren zweiten gleitenden Durchschnitt. Auch hier ist, bis auf die Namen, für das Array und die Definition alles identisch. Kommen wir zum eigentlichen Einstieg: Wenn der Ask-Price größer ist, als der Wert für Kerze 0 in unserem ersten MovingAverageArray und wenn der Ask-Price ebenfalls größer ist, als der Wert für Kerze 0 in unserem zweiten MovingAverageArray, dann ist das für uns ein Kauf-Signal. Und dann weisen wir den Wert buy unserer Signal-Variable zu. Im umgekehrten Fall, wenn der Bid-Price kleiner ist, als der Wert für Kerze 0 in unserem ersten MovingAverageArray, und wenn der Bid-Price ebenfalls kleiner ist, als der Wert für Kerze 0 in unserem zweiten MovingAverageArray,
...more
View all episodesView all episodes
Download on the App Store

MQL5 Tutorial - Automatisch traden mit Metatrader5By MQL5 Tutorial - Automatisch traden mit Metatrader5