
Mit MQL5 für Metatrader5 einen %R Expert Advisor programmieren? Mit der integrierten iWPR Funktion von MQL5 ist es kein Problem, in 5 Minuten einen eigenen Trading Robot für den Williams Percent Range Indikator zu programmieren…
Heute möchten wir uns einmal den Williams Prozent Range Indikator ansehen.
Dabei handelt es sich um ein Hilfsmittel um festzustellen ob ein Markt über oder unterverkauft ist.
Dieser Indikator besteht aus einer Linie und wenn diese Linie einen dieser beiden gestrichelten Werte überschreitet, dann wird es interessant.
Der Williams Prozent Range Indikator oder auch Prozent R Indikator wurde 1966 von Larry Williams entwickelt um überkaufte oder überverkaufte Situationen anzuzeigen.
Wenn man sich unsere Situation hier anschaut, dann sieht man dass die höchsten Spitzen hier immer auftreten, bevor der Kurs in den Keller geht und andersherum diese Spitzen hier unten deuten darauf hin dass es in die andere Richtung gehen wird.
Hier kann man ganz gut erkennen, dass das etwas vor dem eigentlichen Kursabfall angezeigt wird und auch diese Spitze ist ein wenig vor dieser Kerze hier entstanden.
Derzeit arbeiten wir hier mit 14 Kerzen, wir werden das aber gleich im Verlauf dieses Videos noch auf 100 Kerzen verändern.
Wie erstellt man also jetzt einen Expert-Advisor der den Wert für diesen Indikator messen kann?
Dazu klicken wir im Metatrader auf dieses kleine Icon oder drücken die F4 Taste, das ruft den Metaeditor auf und hier klicken wir auf Datei, Neu, Expert Advisor von Vorlage erstellen, weiter.
Wir vergeben hier denn Namen „SimpleWilliamsProzentRange“ und klicken auf Weiter, weiter, fertig stellen und jetzt löschen wir alles oberhalb dieser OnTick Funktion und entfernen diese beiden Kommentarzeilen.
Im ersten Schritt benötigen wir ein Array. Es ist vom Typ double da es Nachkommastellen für unsere Preisdaten aufnehmen soll und trägt den Namen „WPRArray“.
Jetzt definieren wir noch die Einstellungen für den Williams % Range Indikator.
Laut unserer Definition möchten wir die Funktion „Iwpr“ nutzen die im mql5 eingebaut ist und wir möchten den Indikator gerne für das aktuelle Währungspaar auf den Chart berechnen und zwar für die auf dem Chart ausgewählte Zeiteinheit wie beispielsweise das Minuten Chart und als Berechnungsgrundlage nutzen wir die letzten 14 Kerzen.
Danach nutzen wir die Funktion „ArraySetAsSeries“ für unser Array um die Preisdaten abwärts von der aktuellen Kerze auszusortieren und mit der Funktion „CopyBuffer“ füllen wir jetzt unser Array für die einzige Indikatorlinie die wir benötigen – Das sagt diese 0 hier aus.
Von der aktuellen Kerze, (also der Kerze 0) abwärts für 3 Kerzen laut unserer WPR Definition die hier oben erstellt haben
Gut, jetzt kommen wir zur eigentlichen Berechnung.
Wir möchten gerne den Expert-Advisor für die aktuelle Kerze berechnen, das ist hier die Kerze 0.
Wir benötigen 2 Nachkommastellen. Das übernimmt die Funktion „NormalizeDouble“ für uns, die alles nach diesen zwei Nachkommastellen von der Fliesskomma Zahl abschneidet.
Das Ganze möchten wir gern in der „double“ variable „WPRWert“ speichern
und danach möchten wir gerne noch auf unserem Chart die Ausgabe für den EA Anzeigen.
Dazu nutzen wir den „Comment“ Befehl der wird uns den Text WPRWert, diesen Doppelpunkt und den hier oben errechneten WPRWert anzeigen.
Das war’s auch schon also kompilieren wir unseren Quelltext.
Das hat ohne Fehler und ohne Warnungen funktioniert, darum können wir jetzt hier oben mit diesem kleinen Knopf oder mit der F4 Taste wieder zurück wechseln in den Meta Trader.
Im Metatrader selbst klicken wir auf Ansicht, Strategietester, das ruft hier unten das Panel für den Strategietester auf und hier wählen wir das Programm „SimpleWilliamsProzentRange.ex5“ aus.
Danach setzen wir bitte diesen Haken hier für die Visualisierung denn sonst sehen wir nichts und klicken auf Test starten.
Und schon läuft unser Indikator hier unten los und unser Expert-Advisor zeigt hier oben links in der Ecke den gleichen Wert an wie der Indikator hier unten ausgibt.
Wie man sieht ist diese Spitze hier ein wenig vor der letzten hohen Kerze erstellt worden und auch diese Spitze hier ist kurz vor dieser Kerze hier entstanden.
Grundsätzlich funktioniert unser Indikator also schon ganz gut.
Auch hier hätte alles ganz gut gepasst.
Allerdings produziert unser Indikator auch manchmal Fehlsignale wie an dieser Stelle hier.
Darum möchten wir ihn jetzt etwas verbessern, dazu gehen wir hier zurück in den Metaeditor und ändern den Wert hier auf 100 Kerzen.
Bitte nicht vergessen noch mal den Quelltext zu kompilieren!
So und jetzt starten wir einen neuen Test.
Wir beschleunigen das mal ein wenig hier… machen eine kurze Pause und zoomen in das Chart hinein und man kann sehen, dass deutlich weniger Fehlsignale produziert werden.
Diese Spitze hier ist etwas vor dieser Spitze entstanden und auch hier hat der Indikator einen Tick vorne gelegen.
Wenn man hier gekauft hätte, hätte man auf dieser ganzen Strecke hier Profit gemacht
In diesem Video haben Sie gelernt, wie Sie denn Williams Prozent Range Indikator in Ihrem Expert-Advisor berechnen können und Sie haben das in weniger als 5 Minuten mit diesen paar Codezeilen in Mql5 selber programmiert.
Download “MQL5 Simpler Williams Prozent Range Expert Advisor von MQL5 Tutorial”
SimpleWilliamsProzentRange.txt – 134-mal heruntergeladen – 597,00 B