MQL5 TUTORIAL GRUNDLAGEN – 53 SIMPLES FIBONACCI OBJEKT

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man ein solches Fibonacci-Objekt hier in MQL5 programmieren kann. Das ist eine Anfrage von einem unserer Premiumkurs-Mitglieder. Darum schauen wir uns jetzt einmal an, wie man so etwas im Metatrader umsetzt. Um zu starten, klicken wir zunächst auf dieses kleine Symbol hier oben 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 einmal den Namen SimplesFibonacciObjekt, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Zunächst erstellen wir uns hier Variablen für die höchste und die niedrigste Kerze. Die sind vom Typ Integer, denn es handelt sich nur um die Nummer der höchsten oder niedrigsten Kerze. Außerdem benötigen wir noch jeweils ein Array für die höchsten und niedrigsten Preise. Wir nutzen ArraySetAsSeries um das Array von der aktuellen Kerze an abwärts zu sortieren. Das Ganze wiederholen wir noch für uns Low-Array. Und jetzt möchte ich das High-Array für 100 Kerzen füllen. Das geht mit dem Befehl CopyHigh. Der kopiert die Höchstpreise für das aktuelle Währungspaar und die auf dem Chart ausgewählte Zeiteinheit, von der aktuellen Kerze 0 für 100 Kerzen und speichert die Werte in unserem High-Array. Jetzt machen wir das Ganze nochmal mit CopyLow und speichern die niedrigsten Preise in unserem Low-Array. Und mit der Funktion ArrayMaximum ermitteln wir jetzt die höchste Kerze. Dazu schauen wir in unserem High-Array, von der ersten bis zur letzten Kerze, alle Werte durch. Den gleichen Vorgang gibt´s nochmal mit ArrayMinium. Damit lässt sich die Niedrigste der 100 Kerzen berechnen. Jetzt nutzen wir MqlRates, um ein neues Array für die Preisdaten zu erzeugen. Auch das wird mit der Funktion ArraySetasSeries von der aktuellen Kerze an, abwärts sortiert. Mit der Funktion CopyRates füllen wir jetzt dieses Array mit Preisdaten für das aktuelle Währungspaar auf dem Chart und die dort ausgewählte Zeiteinheit. Und zwar für alle Kerzen auf dem Chart. Diese Preisdaten werden jetzt in unserem PriceInformation-Array gespeichert. Mittels ObjectDelete löschen wir alte Fibonacci-Objekte auf unserem Chart. Beim allerersten Aufruf wird es kein altes Objekt geben, aber ab dem zweiten Durchlauf wird damit das alte Fibonacci-Objekt entfernt und mit dem Befehl ObjectCreate erstellen wir dann ein neues Fibonacci-Objekt für das aktuelle Währungspaar auf dem Chart. Der Name des Objektes soll Fibonacci sein. Der Objekttyp ist OBJ_FIBO. Wenn man das einmal markiert und die F1-Taste drückt, dann sieht man, dass es hier jede Menge unterschiedliche Objekttypen hier gibt. Wir werden diesen Objekttyp hier benutzen. Das Objekt soll auf dem Hauptfenster mit den Kerzen erstellt werden. Für die Berechnung wird die linke Grenze die 100ste Kerze sein. Die rechte Begrenzung ist bei der aktuellen Kerze. Die Obergrenze ist die höchste Kerze aus unseren 100 Kerzen. Und die Untergrenze wird bei der niedrigsten Kerze der 100 Kerzen dargestellt. Und damit wir mit diesen Werten auch rechnen können, ermitteln wir jetzt noch ein paar Werte für unser Objekt. Die Datums- und Zeitangaben erhalten wir über ObjectGetInteger für ein Objekt auf dem Hauptchart mit dem Namen Fibonacci. Die sogenannte Propertie, also die Eigenschaft ist OBJPROP_TIME. Wenn wir das mal markieren und die F1-Taste drücken, dann sehen wir, dass es noch jede Menge andere Properties gibt. Die können von Objekt zu Objekt etwas unterschiedlich sein. Mit ObjectGetInteger können wir uns beispielsweise die Zeit und mit ObjectGetDouble können wir uns den Preis aus den Objekteigenschaften auslesen. Genau so ist es auch möglich Objekteigenschaften zu setzen. Das ginge mit ObjectSet. Damit könnten man beispielsweise die Farbe verändern. Wir wollen in diesem Beispiel einfach nur die Objekteigenschaften mit einem Comment-Befehl auf dem Chart ausgeben lassen. Um diesen Preislevel 50 hier zu ermitteln fehlt uns noch eine einfache Berechnung. Dazu addieren wir den Preislevel 100 und den Preislevel 0 und multiplizieren das Ganze mit 0,5. Das war´s soweit. Wenn Ihnen das hier alles zu schnell ging oder wenn Sie nicht verstehen, was diese Codezeilen hier bewirken sollen, dann möchten Sie sich vielleicht zunächst die anderen Videos aus dieser Grundlagenserie anschauen oder vielleicht ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Für den Moment klicken wir hier auf kompilieren oder drücken die F7-Taste. Ich hab wieder mal ein Sonderzeichen im Code. Das führt hier zu jeder Menge Folgefehlern. Entfernen wir das mal und klicken erneut auf kompilieren. Dann sieht das schon besser aus. Und wenn auch Sie keine Fehler haben, 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 SimplesFibonacciObjekt.ex5 aus. Markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test. So sieht das Ganze dann im laufenden Betrieb aus. Wir halten das mal an. Klicken mit der mittleren Maustaste in das Chart. Für den Level 50 habe ich hier einen Wert von 1.4337. Das stimmt mit dem Wert hier oben überein. Level 0 liegt auf 1.14216. Auch das entspricht dem Wert hier oben. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie ein Fibonacci-Objekt für den Metatrader 5 programmieren können. Und Sie haben das selbst getan mit diesen paar Zeilen hier in MQL5.