MQL4 TUTORIAL GRUNDLAGEN – 66 SIMPLER SHIFTED EMA

video
play-sharp-fill

In diesem Video wollen wir einmal einen Expert Advisor erstellen der in der Lage ist, für zwei verschobene exponentielle, gleitende Durchschnitte hier Signale zu berechnen und auch zu handeln. Also schauen wir uns einmal an, wie man so etwas in MQL4 programmieren kann. Um das zu tun klicken Sie bitte auf dieses kleine Symbol hier oben oder drücken Sie die F4-Taste. Das ruft dann hier den Metaeditor 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. Zunächst erstellen wir uns hier oben ein paar benutzerdefinierte Variablen. Die erste Variable hier, ist die Anzahl der Kerzen für die wir den gleitenden Durchschnitt berechnen möchten. Diese beiden Variablen hier sind für die Verschiebung. Der erste Verschiebungswert ist für 20 und der Zweite für 100 Kerzen. Und dieser Input-Modifier hier ist dafür gut, dass man die Werte auch ohne eine Neukompilierung oder einer neuen Programmierung verändern kann. Diese Werte können nämlich anhand der Eigenschaften im Expert Advisor auch vom Benutzer geändert werden. Innerhalb der OnTick-Funktion starten wir damit, dass wir uns zunächst eine String-Variable mit dem Namen Signal erstellen. Die bekommt hier noch keinen Wert zugewiesen, denn den möchten wir jetzt ermitteln. Und dazu nutzen wir die in MQL4 integrierte Funktion iMA, für das aktuelle Währungspaar auf dem Chart und die auf dem Chart aktuell ausgewählte Zeiteinheit. Wir nutzen hier die Anzahl von Kerzen, die wir hier oben definiert haben und verschieben die Darstellung für den gleitenden Durchschnitt um die Anzahl die wir für den ersten Verschiebungswert definiert haben. In unserem Fall sind das hier 20 Kerzen. Wir möchten das Ganze gerne als exponentiellen Moving Average, also EMA, berechnen. Und die Ergebnisse sollen anhand der Schlusskurse berechnet werden. Und zwar für die Kerze 0, das ist die aktuelle Kerze. Wenn man sich diese Funktion EMA einmal markiert und die F1-Taste drückt, dann sieht man, es gibt hier zwei Verschiebungswerte. Dieser und dieser. Am Anfang ist das etwas verwirrend, aber der letzte Wert bestimmt, welche Kerze berechnet wird. Und dieser Wert hier bestimmt, wo der gleitende Durchschnitt gezeichnet werden soll. In unserem Fall berechnen wir für die aktuelle Kerze 0, verschieben das Ganz aber dann um die besagte Anzahl der Kerzen in der Darstellung nach rechts. Das sorgt dann dafür, dass unser gleitender Durchschnitt hier quasi in der Zukunft gezeichnet wird. Darum wiederholen wir das jetzt nochmal für den zweiten gleitenden Durchschnitt. Bis auf den variablen Namen und diesen Wert für die Verschiebung, ist so ziemlich alles gleich. Und wir möchte jetzt herausfinden, ob der Preis oberhalb der beiden expontentiellen, gleitenden Durchschnitte liegt. Dazu prüfen wir, ob der Bid-Preis größer ist, als der erste Moving Average. Und außerdem ob der Bid-Preis auch größer ist, als der zweite Moving Average. Und nur wenn dass der Fall ist, dann möchten wir kaufen. Darum setzen wir dann unser Signal auf den Wert buy. Im anderen Fall, wenn der Bid-Preis kleiner ist, als der erste Moving Average und wenn der Bid-Preis auch kleiner ist, als der zweite Moving Average, dann möchten wir gerne verkaufen. Also weisen wir den Wert sell unserer Signal-Variablen zu. Und wenn unser Signal auf kaufen steht und uns die Funktion OrdersTotal einen Wert von 0 zurückliefert, dann haben wir ein Kauf-Signal und keine geöffnete Position. Und in diesem Fall nutzen wir OrderSend, um 10 Microlot zu kaufen. Andernfalls, wenn dass Signal den Wert sell hat und wir ebenfalls keine geöffnete Position haben, dann nutzen wir OrderSend, um 10 Micorlot zu verkaufen. Zum Schluss nutzen wir hier noch den Comment-Befehl um eine Ausgabe für das Chart zu erstellen. Dort werden wir den Text sehen „Das aktuelle Signal ist“ gefolgt von dem ermittelten Signal. Das war´s so weit. Wenn Sie nicht verstanden haben, was all diese Codezeilen hier bewirken sollen oder wenn Ihnen das zu schnell ging, dann möchten Sie sich vielleicht zunächst ein anderes Video aus dieser Grundlagenserie anschauen oder vielleicht ist auch der Premium-Kurs auf unserer Webseite interessant für Sie. Für den Moment klicken wir mal auf kompilieren oder drücken die F7-Taste. Das hat bei mir ohne Fehler funktioniert und wenn das bei Ihnen auch so ist, dann können Sie jetzt hier oben klicken oder F4-Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader öffnen wir jetzt ein beliebiges Chart-Fenster. stellen hier zunächst auf die Linienansicht um und klicken dann auf Einfügen, Indikatoren, Tendenz, Moving Average. Ich hätte gerne für den ersten gleitenden Durchschnitt 20 Kerzen als Grundlage für die Berechnung. Der Versatz nach rechts soll ebenfalls 20 Kerzen betragen. Die Methode für die Berechnung ist exponential. Und wir ermitteln das Ergebnis anhand der Schlusskurse. Bitte wählen Sie hier eine Farbe aus und klicken Sie auf OK, dann sollten Sie den gleitenden Durchschnitt jetzt hier auf Ihrem Chart sehen. Jetzt wiederholen wir das Ganze noch einmal. Klicken auf Einfügen, Indikatoren, Tendenz, Moving Average. Diesmal hätte ich gerne einen Versatz von 100 Kerzen. Und wir suchen hier eine andere Farbe aus, bestätigen das mit OK. Dann sieht das in etwas so aus. Jetzt klicke ich mit der rechten Maustaste in das Chart, wähle Vorlagen, Vorlage speichern und speichere die Schablone unter dem Namen tester.tpl, denn das ist die Schablone, die wir im Strategietester gleich benutzen werden. Den aktuellen Wert können Sie überschreiben. Und wenn Sie damit fertig sind, dann klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Das ruft dann hier den Strategietester auf und hier wählen wir die neu erstellte Datei SimplerShiftedEMA.ex4 aus. Bitte markieren Sie hier unten die Option für den visuellen Modus und starten Sie einen Test. Hier legt unser Expert Advisor auch schon los. Man sieht die beiden gleitenden Durchschnitte werden hier rechts vom aktuellen Preis gezeichnet. Unser erstes Signal ist auch schon passiert. Wir haben hier eine Position eröffnet. Hier oben werden Kaufen- und Verkaufen-Signale ausgegeben. Unser Expert Advisor funktioniert also wie gewünscht und Sie haben in diesem kurzen Video gelernt, wie Sie für einen exponentiellen, gleitenden Durchschnitt einen Verschiebungswert so nutzen können, dass der gleitende Durchschnitt rechts neben dem aktuellen Kurs gezeichnet wird. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL4.