MQL4 TUTORIAL GRUNDLAGEN – 53 SIMPLES FIBONACCI OBJEKT

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man ein Fibonacci-Objekt in MQL4 programmieren kann. Wir sehen hier unterschiedliche Fibonacci-Level, die auf dem Chart dargestellt werden. Und wir wollen uns jetzt einmal anschauen, wie man so etwas für den Metratrader 4 programmieren kann. Um das zu tun, klicken Sie bitte auf dieses kleine Symbol hier oder drücken Sie die F4-Taste. Das ruft dann hier den Metaeditor auf und hier klicken wir auf Datei, neue Datei, Expert Advisor aus Vorlage, weiter. Ich vergeben hier einmal den Namen SimplesFibonacciObjekt, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb der OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen können weg. Zunächst einmal möchten wir die Höchste von 100 Kerzen ermitteln. Dazu nutzen wir eine Funktion mit dem Namen iHighest. Wenn man die einmal markiert und die F1-Taste drückt, dann lernen wir, dass wir hier einen Maximalwert von einer bestimmten Nummer von Kerzen zurückerhalten. Wir möchten das Ganze gerne für das aktuelle Währungspaar auf dem Chart ermitteln. Und zwar für auf dem Chart ausgewählte Zeiteinheit. Wir nutzen als Parameter MODE_HIGH. Wenn man das einmal in der Hilfe anschaut, dann sehen wir, dass MODE_HIGH uns den Höchstpreis für jede Kerze zurückliefert. Und wir hätten das Ganze gerne für 100 Kerzen. Angefangen von der aktuellen Kerze 0. Für die Unterkante von unserem Objekt brauchen wir das Ganze nochmal für die niedrigste Kerze. Auch hierfür gibt es eine entsprechende Funktion mit dem Namen iLowest. Die wird uns den niedrigsten Wert einer bestimmten Anzahl von Kerzen liefern. Und auch hier übergeben wir das aktuelle Chart und die auf dem Chart ausgewählte Zeiteinheit. Diesmal nutzen wir MODE_LOW, alles in Großbuchstaben. Und auch hier möchten wir gerne aus 100 Kerzen die niedrigste Kerze, angefangen von Kerze 0. Im nächsten Schritt nutzen wir die Funktion ObjectDelete. Die kann Objekte mit einem bestimmten Namen von einem definierten Chart entfernen. Der Name ist in unserem Fall Fibonacci. Das Objekt an sich existiert beim ersten Durchlauf noch gar nicht, aber ab dem zweiten Durchlauf werden wir mit ObjektDelete zunächst das alte Objekt entfernen, bevor wir ein Neues zeichnen. Und um so ein Objekt zu erstellen gibt es den Befehle ObjektCreate. Der erste Parameter hier ist eine Textkette. Das ist der Name des Objektes und wir nennen es in diesem Fall einfach Fibonacci. Parameter Nummer 2 steht für den Objekttyp. Wir nutzen OBJ_FIBO, alles in Großbuchstaben und wenn man das mal markiert, mit F1 und in der Hilfe nachschaut, dann sieht man, dass es noch eine ganze Menge von anderen Objekttypen gibt. Alle diese Objekttypen haben unterschiedliche Eigenschaften. Wir werden dieses Objekt hier erstellen. Dieser nächste Parameter hier, steht für die Ausgabe auf dem Hauptchart. Das bedeutet, wir werden unser Objekt direkt über die Kerzen zeichnen. Bei Oszillatoren ist es üblich, dass ein separates Fenster unterhalb der Kerzen gezeichnet wird, aber für das Hauptfenster nehmen wir hier die ID 0. Die rechte Begrenzung für unser Objekt wird bei der aktuellen Kerze 0 sein. Die Oberkante ist der höchste Preis, von der höchsten Kerze aus unseren 100 Kerzen. Die linke Begrenzung ist bei Kerze 100 und die Unterkante unseres Objektes liegt auf dem tiefsten Preis der tiefsten Kerze. Berechnen wir mal die Werte für die einzelnen Level. Für den Level 100, das wäre hier diese Linie, ermitteln wir den Wert mit der Funktion ObjectGetDoubel. Wir suchen auf unserem Chart nach einem Objekt, mit dem Namen Fibonacci. Und hier möchten wir gerne eine sogenannte Propertie, also eine Eigenschaft ermitteln und zwar OBJPROP_PRICE. Wenn man das einmal markiert und die F1-Taste drückt, dann sieht man, es gibt eine ganze Menge von unterschiedlicher Objekteigenschaften, die man aufrufen oder auch setzen könnte. Der letzte Parameter hier ist eine 0. Das wird uns den Preis für den Level 100 liefern. Für den Level 0 machen wir das Ganze nochmal. Diesmal übergeben wir als letzten Parameter eine 1. Und den Level 50 berechnen wir uns einfach, indem wir die Werte von Level 0 und Level 100 addieren und durch 2 teilen. Damit wir davon auch etwas sehen, nutzen wir den Comment-Befehl und erstellen uns eine Chartausgabe, die uns jeweils den Text für die Level und den ermittelten Wert ausgeben wird. Und das war´s soweit auch schon. Wenn Sie nicht wissen, was diese ganzen Code-Zeilen hier bewirken sollen oder wenn Ihnen das alles zu schnell ging, 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. Das sollte hier ohne Fehler und Warnungen funktionieren. Und wenn das bei Ihnen auch der Fall ist, dann könne Sie hier oben 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. Das ruft dann hier den Strategietester auf. Und hier wählen wir die neu erstellte Datei SimplesFibonacciObjekt.ex4 aus. Markieren den visuellen Modus und starten einen Test. Hier läuft unser Expert Advisor auch schon los. Beschleunigen wir mal ein bisschen, halten das Ganze hier an, klicken mit der mittleren Maustaste in das Chart und schauen ob die ermittelten Werte auch stimmen. Für den 100-Level habe ich einen Wert von 87.886. Das stimmt auch mit unserer ermittelten Ausgabe überein. Level 0 liegt bei 87.748. Auch das stimmt mit dem berechneten Wert überein. Und Sie haben in diesem kurzen Video gelernt, wie Sie für den Metatrader4 ein Fibonacci-Objekt programmieren können. Und Sie haben das selbst getan, mit diesen paar Zeilen hier in MQL4.