Dieser Indikator hier sieht aus wie ein gleitender Durchschnitt. Der hat aber einen ziemlich langen Namen namens Variable Index Dynamic Average und wir wollen uns jetzt mal anschauen, wie man den Indikator in MQL5 programmieren kann.
Dieser Indikator wird auf dem Kerzenchart gezeichnet, da er Werte erzeugt, die innerhalb der Preisspanne der Kerzen angezeigt werden können.
Um das Einstiegssignal zu berechnen, müssen wir zunächst eine neue Datei in dem Verzeichnis erstellen, in dem sich die anderen Dateien Ihres Systems befinden.
Der Name der Datei ist CheckEntry_IVIDYA.mq5 und wir verwenden eine einfache Funktion namens CheckEntry, um das Signal für den Indikator zu berechnen, das am Ende der Funktion zurückgegeben wird.
Doch zunächst müssen wir ein paar Dinge tun, um das Signal tatsächlich zu berechnen.
Lassen Sie uns mit dem Signal beginnen. Bitte erstellen Sie eine Variable namens Signal. Sie ist vom Typ String, kann also Textwerte enthalten.
Anschließend erstellen wir mit MqlRates ein Array für die Preisdaten.
Und um dieses Array zu sortieren, verwenden wir Array set as series. Dadurch wird es von Kerze 0 abwärts sortiert.
So weit, so gut.
Jetzt wollen wir das Array füllen. Dazu verwenden wir Copy Rates, und zwar für das aktuelle Symbol und den aktuell ausgewählten Zeitraum für dieses bestimmte Symbol.
Wir möchten die Preise, beginnend mit der aktuellen Kerze 0, für drei Kerzen speichern und die Ergebnisse in unserem Preis-Array ablegen.
Nun erstellen Sie bitte ein weiteres Array für unseren Expert Advisor.
Auch dieses wird mit Hilfe von Array set as series abwärts sortiert, wie wir es oben getan haben.
MQL5 verfügt über eine integrierte Funktion namens iVIDyA.
Wir verwenden sie mit den folgenden Parametern.
Zuerst übergeben wir das Symbol und die Periode, gefolgt von den Werten 9, 12 und 0.
Sobald Sie einen Metatrader-Chart öffnen und auf Einfügen, Indikatoren, Trend, Variabler Index Dynamischer Durchschnitt klicken, werden Sie feststellen, dass dies die Standardwerte für die CMO-Periode, die EMA-Periode und den Shift-Wert sind.
Fahren wir also mit dem Code hier fort und verwenden wir im letzten Parameter PRICE_CLOSE, denn wir möchten, dass das Ergebnis auf der Grundlage des Schlusskurses berechnet wird.
Anschließend verwenden wir CopyBuffer für die Definition unseres Expert Advisors.
Wir wollen den Puffer 0 berechnen, wir wollen Daten von Kerze 0 für 3 Kerzen und wir wollen das Ergebnis in unserem Array für den Expert Advisor speichern.
Der Rest ist einfach.
Wenn wir den Wert für Kerze 0 in unserem Array auswählen, können wir ihn mit den Kerzenpreisen vergleichen.
Wenn dieser Wert über dem Schlusskurs von Kerze 1 liegt, wollen wir kaufen.
Liegt er unter dem Schlusskurs von Kerze 1, möchten wir verkaufen.
Wir weisen also unserer Signalvariablen das Wort buy oder sell zu und verwenden return, um das berechnete Signal an unsere Hauptdatei zurückzugeben, die die Funktion OnTick enthält.
Vergessen Sie nicht, die Datei zu speichern. Die Kompilierung wird in der Hauptdatei durchgeführt, Sie müssen sie nur noch speichern.
Öffnen Sie nun unsere Hauptdatei und suchen Sie den Abschnitt include-Anweisung.
Dort wollen Sie andere Eingabesignale auskommentieren.
Fügen Sie einfach zwei Schrägstriche vor der include-Anweisung ein, um sie zu deaktivieren.
Fügen Sie eine weitere Zeile hinzu, um die soeben erstellte Datei einzubeziehen, und anschließend können Sie die Hauptdatei und das Eingangssignalmodul auf einmal kompilieren, indem Sie F7 drücken.
Sie können auch die Schaltfläche Kompilieren verwenden, wenn Ihre Symbolleiste aktiviert ist.
Dies sollte keine Fehlermeldungen hervorrufen, aber wenn Sie Fehler haben, überprüfen Sie bitte Ihre Datei Zeile für Zeile.
Wenn Ihnen das zu schnell ging oder Sie keine Ahnung haben, was all diese Codezeilen bedeuten, sollten Sie sich vielleicht noch ein paar grundlegende Videos ansehen oder vielleicht ist der Premium-Kurs auf unserer Website für Sie interessant.
Sprecher 1 (00:18)
Okay. Ich hoffe, das hat bei Ihnen alles funktioniert. Wie man sehen kann, ist mein Indikator hier schon sehr fleißig und ich sage: Vielen Dank fürs Zuschauen und wir sehen uns im nächsten Video.