MQL5 TUTORIAL GRUNDLAGEN- 49 SIMPLER WILLIAMS PERCENT RANGE EA

video

In diesem Video wollen wir uns einmal diesen Oszillator hier anschauen. Es handelt sich um den Williams-Percent-Range-Oszillator und wir werden ihn nutzen um buy- und sell-Signale zu generieren und Positionen auf unserem Chart zu eröffnen. Also schauen wir uns einmal an, wie man das mit MQL5 programmieren kann. Um das zu tun klicken wir im Metatrader hier oben auf dieses kleine Symbol oder drücken 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 mal den Namen SimplerWilliamsPercentRangeEA, 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 mit einer include-Anweisung. Damit importieren wir uns die Inhalte eine Datei namens Trade.mqh. Die kommt mit MQL5 und wird uns die Möglichkeit bieten vereinfachte Handelsfunktionen zu nutzen. Dazu erstellen wir zunächst einmal eine Instanz von der Klasse CTrade. Die bekommt den Namen trade und außerdem müssen wir den ask- und den bid-Preis ermitteln. Das geht mit SymbolInfoDouble, für das aktuell Währungspaar. Für den Ask-Preis nutzen wir den Parameter SYMBOL_ASK. Bitte alles in Großbuchstaben. Für den Bid-Preis entsprechend SYMBOL_BID. Und mit NormalizeDouble und _Digitis ermitteln wir noch, ob das aktuelle Währungspaar drei oder fünf Nachkommastellen hinter dem Komma hat. Danach erstellen wir uns eine leere Variable mit dem Namen signal. Die ist vom Typ string, damit sie Texte aufnehmen kann. Wir weisen aber zunächst noch keinen Wert zu, denn der wird jetzt ermittelt. Dazu erstellen wir zunächst ein Array. Und im nächsten Schritt nutzen wir die, in MQL5 eingebaute, Funktion iWPR. Für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit, um für 14 Kerzen den unseren Wert zu berechnen. Die 14 sieht man übrigens auch hier in Klammern. Danach nutzen wir die Funktion ArraySetAsSeries um unser Array von der aktuellen Kerze an abwärts zu sortieren. Und mit der Funktion CopyBuffer füllen wir jetzt anhand der WPR-Definition, die wir hier oben getroffen haben, unser Array für Buffer null, das ist diese blaue Signallinie hier, angefangen von der aktuellen Kerze null für drei Kerzen und speichern die Werte im Array. Und jetzt können wir unseren aktuellen Wert berechnen, in dem wir einfach auf Kerze null im Array zugreifen. Mit NormalizeDouble und Komma zwei, sorge ich dafür, dass die Werte hier mit zwei Nachkommastellen berechnet werden, so wie im Oszillator auch zu sehen. Wir möchten gerne kaufen, wenn der aktuelle Wert für den WPR kleiner ist also minus 80, aber größer als minus 100 oder anders ausgedrückt, wenn sich die blaue Linie hier zwischen dem unteren Rand und dieser unteren gestrichelten Linie befindet. In dem Fall weisen wir den Buy unserer Signal-Variable zu. Andernfalls wenn der aktuelle WPRWert größer ist als minus 20, aber kleiner als null, dann bedeutet das, dass sich die Linie hier oberhalb der oberen gestrichelten Linie befindet. Und in dem Fall möchten wir verkaufen, also weisen wir den Wert sell unsere Signalvariable zu. Und wenn unser Signal auf sell steht und uns die Funktion PositionsTotal einen Wert kleiner eins liefert, dann bedeutet das, wir haben keine geöffneten Positionen und ein Verkaufs-Signal. In dem Fall nutzen wir trade.Sell um 10 Micorlot zu verkaufen. Andernfalls, wenn das Signal auf buy steht und wir ebenfalls keine geöffnete Position haben, dann nutzen wir trade.Buy um 10 Microlot zu kaufen. Zum Schluss nutzen wir noch den Commant-Befehl, um auf dem Chart den Text auszugeben. Das Signal ist jetzt, gefolgt vom ermittelten Signal-Wert. Ok, dass wars soweit. Wenn Ihnen das hier alles zu schnell war oder wenn Sie nicht verstehen was diese Code-Zeilen hier bewirken sollen. Dann möchten Sie sich vielleicht zunächst die anderen Videos aus unserer Grundlagenserie einmal anschauen oder vielleicht ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Für den Moment klicken wir hier mal auf kompilieren oder drücken die F7-Taste. Das hat bei mir ohne Fehler funktioniert und wenn das bei Ihnen auch der Fall ist, dann können Sie jetzt hier oben auf dieses kleine Symbol klicken oder die F4-Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Bitte wählen Sie hier die neu erstellte Datei SimplerWilliamsPercentRangeEA.ex5 aus. Markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor auch schon los. Wir haben bereits die erste sell-Position eröffnet. Unser Programm funktioniert also wie gewünscht und Sie haben in diesem kurzen Video gelernt, wie Sie für den Williams-Percent-Range-Oszillator einen Expert Advisor in MQL5 schreiben können, der in der Lage ist, selbstständig Positionen zu eröffnen. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier, in MQL5.