MQL4 TUTORIAL GRUNDLAGEN – 108 SIMPLER IOBVEA OSZILLATOR

video
play-sharp-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor erstellen kann, der in der Lage ist, aufgrund von extremen Werten in einem Oszillator Kaufen und Verkaufen Positionen zu eröffnen. Also lassen Sie uns einmal schauen, wie man so etwas in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf dieses kleine Symbol oder drücken Sie die F4 Taste. Das ruft hier dann den Metaeditor auf. Und hier klicken wir auf Datei, Neue Datei, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerIOBVEA, 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 damit, dass wir uns hier eine Signal Variable erstellen. Die ist vom Typ string. Aber wir weisen hier noch keinen Wert zu, denn den möchten wir gleich noch ermitteln. Außerdem benötigen wir noch ein Array. Das soll für 100 Kerzen die Werte aufnehmen. Und um es zu füllen gehen wir hier mit einer for Schleife alle Werte durch. Denn jetzt füllen wir unser Array mit Hilfe dieser Funktion. Die wird uns die Werte für den On Balance Volume Indicator geben. Und zwar für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir hätten gerne die Preise für die Schlusskurse für die jeweilige Kerze beziehungsweise den jeweiligen Wert des Schleifenzählers. Danach fügen wir den ermittelten Wert dem jeweiligen Speicherplatz in unserem Array hinzu. Mit unserer Schleife sind wir jetzt soweit fertig. Jetzt geht es darum, ein paar Werte zu berechnen. Der erste Wert ist der aktuelle Wert für Kerze null. Den ermitteln wir mit der Funktion iOBV für das aktuelle Währungspaar auf dem Chart und die aktuell auf dem Chart ausgewählte Zeiteinheit hätten wir gerne den Schlusspreis für Kerze null.

 

Danach ermitteln wir die Nummer der Kerze mit dem höchsten Preis. Über die Funktion ArrayMaximum möchten wir nämlich das aktuelle Array komplett durchsuchen und zwar angefangen von Kerze null. Der Wert der höchsten Kerze wird dann dieser Variable hier zugewiesen. Natürlich gibt es die entsprechende Funktion auch, um den Wert der niedrigsten Kerze in einem Array zu ermitteln. Dazu nutzen wir ArrayMinimum. Der Rest ist in etwas gleich bis auf den Namen der Variable. Und da wir jetzt die Nummer der jeweiligen Kerze ermittelt haben, können wir auch den Wert berechnen. Den Maximalwert berechnen wir, indem wir einfach für die Nummer der Kerze, die wir eben ermittelt haben, den Wert aus unserem Array holen. Und für den Minimalwert geht das ebenso. Auch hier greifen wir einfach auf die entsprechende Nummer der Kerze in unserem Array zu und weisen den Wert dieser Variable hier zu. Weiter geht es mit der Signalermittlung. Wenn der aktuelle Wert größer oder gleich dem bisherigen Maximalwert der letzten 100 Kerzen ist, dann ist das für uns ein Kaufsignal. Und dann weisen wir den Begriff buy unserer Signal Variable zu. Im anderen Fall, wenn der aktuelle Wert für Kerze null kleiner oder gleich dem bisherigen Minimalwert ist, dann ist das ein Verkaufen Signal und dann weisen wir den Begriff sell unserem Signal zu.

 

Denn, wenn unser Signal auf Kaufen steht und wir keine geöffneten Orders haben, das wäre der Fall, wenn OrdersTotal einen Wert von null zurückgibt, dann möchten wir gerne mittels OrderSend eine Kaufposition für zehn Mikrolot eröffnen. Andernfalls, wenn das Signal den Wert sell, also verkaufen hat und wir ebenfalls keine geöffnete Position haben, dann nutzen wir OrderSend um eine Verkaufsposition für zehn Mikrolot zu eröffnen. Und damit wir auch etwas sehen, nutzen wir hier den Comment Befehl, um uns den aktuellen, den maximalen, den minimalen und den Signalwert auf dem Chart anzeigen zu lassen.

 

Hier unten ist noch irgendwo die schließende Klammer. Und das war es soweit. Wenn Ihnen das hier zu schnell ging oder wenn Sie keine Ahnung haben, was alle diese Codezeilen hier bedeuten, dann möchten Sie sich vielleicht zunächst eines der anderen Videos aus der Grundlagenserie noch einmal anschauen. Vielleicht ist aber auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Und da finden Sie jetzt auch einen Link für diese ganzen Quellcodes hier, die in separaten Kursen zusammengefasst worden sind. Für den Moment klicken wir hier auf Kompilieren oder drücken die F7 Taste. Das sollte ohne Fehler funktionieren. Und wenn das bei Ihnen auch so 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 verwenden wir einen kleinen Trick. Wir nehmen ein leeres Chart, klicken auf Einfügen, Indikatoren, Volumen, On Balance Volume. Sie können hier die Standardwerte übernehmen und mit Okay bestätigen. Danach wird uns hier unten unser Oszillator auf dem Chart angezeigt. Und jetzt klicken wir mit der rechten Maustaste in das Chart, wählen Vorlagen, Vorlage speichern und speichern das Ganze unter dem Namen tester.tpl. Den aktuellen Wert können Sie ersetzen, denn tester.tpl ist die Schablone, die im Strategietester verwendet wird. Den möchten wir jetzt starten. Das geht über Ansicht, Strategietester oder mit der Tastenkombination Strg+R. Bitte wählen Sie hier die neu erstellte Datei SimplerIOBVEA.ex4 aus. Markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test.

 

Hier läuft der Expert Advisor los. Derzeit haben wir kein Signal. Ich beschleunige das Ganze jetzt mal. Und sobald hier der Mindestwert unterschritten wird sehen wir, dass unser Signal auf sell umspringt. Wir haben hier die erste Verkaufsposition. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie für einen Oszillator anhand extremer Werte einen Expert Advisor programmieren können, der in der Lage ist, Kaufen und Verkaufen Position zu eröffnen. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.