In diesem Video schauen wir uns einmal den RVI Indikator an. Es handelt sich hier unten um diese 2 Linien, die immer wieder die gestrichelte Linie überkreuzen. Das ist der Relative Vigor Index, und der erzeugt hier am laufenden Bank Signale. Wie man sehen kann, wechseln die zwei Signal-Linien immer wieder die Seiten. Es handelt hier sich um einen sogenannten Oszillator. Und wir möchten uns in diesem Video einmal anschauen, wie man einen automatischen Expert-Advisor in MQL5 programmieren kann, der in der Lage ist, Kaufen- und Verkaufen-Signale auf dem Chart auszugeben und als Einstiegsmodul für unser Forex Trading Framework funktioniert. Natürlich können Sie auch Ihr eigenes System als Hauptmodul benutzen, oder sich das Forex Trading Framework auf der Webseite “forextradingframework.de” herunterladen. Uns geht es aber vornehmlich um die Programmierung für den Einstieg. Und um das zu tun, klicken Sie bitte auf diesen kleinen Button hier im MetaTrader, oder drücken die F4-Taste. Das bringt dann hier den Meta-Editor zum Vorschein. Ich nutze hier meine Version vom Forex Trading Framework aus Oktober 2017. Das Framework ist grundsätzlich eine Sammlung aus Funktionen, die in der Lage sind, unterschiedliche Aufgaben durchzuführen. Diese Funktion hier beispielsweise legt die Positionsgröße fest. Mein Framework ist so gebaut, dass man damit unterschiedlichste Einstiege handeln kann. Und wir möchten jetzt den entsprechenden CheckEntry-Einstieg für den Relative Vigor Index erstellen. Dazu klicken wir hier oben auf “Datei/ Neu/ Expert Advisor (Vorlage)/ Weiter”. Hier oben muss ich den Pfad zu meinem Framework angeben, und als Dateinamen wähle ich “CheckEntry_RVI” aus, denn das ist auch, was wir hier unten importieren. Danach klicke ich auf “Weiter/ Weiter/ Fertigstellen”. Und jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden. Das gilt auch für die beiden Kommentare. Zunächst einmal müssen wir hier unsere Funktion umbenennen in “CheckEntry”, denn das ist auch das, was wir hier aufrufen werden. Der Rückgabewert ist vom Typ String. Entsprechend erstellen wir uns zunächst eine leere String-Variable für unser Signal. Die bekommt auch den Namen “Signal”, aber wir weisen noch keinen Wert zu, denn der wird gleich berechnet. Diesmal brauchen wir direkt zwei Arrays. Eins davon trägt den Namen “Array0”, und das andere nennen wir “Array1”. Denn wenn man sich hier diese beiden Signallinien einmal ansieht und mit der Maus darüber kurz anhält, dann sieht man, dass die auch unterschiedliche Werte haben, und die möchten wir in diesen beiden Arrays hier abfragen und speichern. Mit der eingebauten MQL5-Funktion “iRVI” können wir uns den entsprechenden Expert Advisor hier definieren. Als Parameter übergeben wir das aktuelle Chart und die auf diesem Chart ausgewählte Zeiteinheit. Und diese 10 hier findet man auch, wenn man mit der rechten Maustaste einmal auf die Eigenschaften des Relative Vigor Index klickt. Es handelt sich hierbei um die Periode, die zur Berechnung des Indikators herangezogen wird. Jetzt nutzen wir ArraySetAsSeries, um unsere beiden PreisArrays von der aktuellen Kerze an abwärts zu sortieren. Mit der Funktion CopyBuffer füllen wir jetzt unsere PreisArrays nach der Definition, die wir hier oben erstellt haben. Für die erste Linie mit dem Index 0, bzw. für die zweite Linie mit dem Index 1, von der aktuellen Kerze 0 für 3 Kerzen und speichern unser Ergebnis im jeweiligen Array. Um den jeweiligen Wert für die aktuelle Kerze der jeweiligen Linie zu berechnen, greifen wir einfach auf Kerze 0 im jeweiligen Array zu, und mit “NormalizeDouble” und dieser 3 hier lässt sich gewährleisten, dass wir drei Nachkommastellen bekommen. Denn das ist auch das, was wir sehen, wenn wir uns die Werte für die beiden Linien hier anschauen. Und wenn Sie NormalizeDouble einmal markieren und die F1-Taste drücken, dann sieht man, dass diese Funktion zum Runden der Zahl für die angegebene Genauigkeit genutzt wird.