In diesem Video wollen wir uns einmal anschauen, wie man ein solches Fächerobjekt hier von der höchsten Kerze auf dem Chart zeichnen kann. Es handelt sich um einen sogenannten Gann Fächer. Und wir wollen uns einmal anschauen, wie man so etwas in MQL4 programmiert. Um das zu tun, klicken Sie bitte hier oben auf dieses kleine Symbol 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 vergebe hier mal den Namen SimplerHighGannFan, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden.
Und auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir die Nummer der höchsten Kerze berechnen. Das funktioniert mittels WindowFirstVisibleBar.
Wenn man diese Funktion einmal markiert und die F1 Taste drückt, dann lernen wir, dass der Index von der ersten Kerze im aktuellen Chart Fenster zurückgegeben wird. Das bedeutet die Nummer, nicht der Wert der Kerze. Und das Ergebnis weisen wir dieser Variable hier zu. Im Anschluss ermitteln wir die höchste Kerze auf dem Chart. Das geht mit der Funktion iHighest. iHighest gibt uns nämlich den höchsten Wert zurück.
Und zwar für das aktuelle Währungspaar und die auf dem Chart gerade ausgewählte Zeiteinheit. Wir nutzen hier MODE_HIGH, alles in Großbuchstaben, um für alle Kerzen auf dem Chart bis zur aktuellen Kerze null den höchsten Wert herauszusuchen. Und der wird dann dieser Variable zugewiesen.
Danach nutzen wir ObjektDelete um alle Objekte mit diesem Namen hier, die auf dem Chart vielleicht schon vorhanden sind, zu löschen. Beim ersten Aufruf dieser Funktion werden wir noch kein Objekt haben. Aber danach möchten wir gerne sicherstellen, dass alle alten Objekte mit dem Namen SimplerHighGannFan gelöscht werden, bevor wir unser neues Objekt zeichnen. Und um das zu tun nutzen wir die Funktion ObjectCreate. Dafür müssen wir einige Variablen übergeben. Und die gehen wir jetzt der Reihe nach durch.
Die erste Variable null steht für das aktuelle Chart. In der zweiten Variable übergeben wir den Namen des Objektes. Ich habe hier SimplerHighGannFan gewählt. Sie können aber vom Prinzip jeden beliebigen Namen wählen, solange Sie immer den gleichen verwenden. Parameter drei steht für den Objekttypen. Wir nutzen hier OBJ_GANNFAN. Wenn man das einmal markiert und die F1 Taste drückt, dann sehen wir, hier gibt es eine ganze Reihe von Objekttypen. Wir nutzen dieses Objekt, das soll uns diese fächerartige Linienkonstruktion zeichnen.
Jetzt geben wir an, wo das Ganze passieren soll. Auch da wählen wir das Hauptfenster null. Denn ich möchte gerne, dass der Fächer in dem Fenster mit den Kerzen gezeichnet wird. Und zwar von dem Zeitpunkt/ und zwar von dem Zeitpunkt, an dem die höchste Kerze im Fenster erscheint. Und im nächsten Parameter sagen wir, dass wir das gerne für den höchsten Preis der höchsten Kerze haben möchten. Das ist unser Startpunkt. Wir geben auch einen Endpunkt an. Das ist die aktuelle Kerze null. Und auch hier müssen wir einen Preis angeben. Ich habe mich hier für den Höchstpreis entschieden. Und zwar von Kerze null, also von der aktuellen Kerze.
Das war es auch schon soweit mit unserem Objekt. Setzen wir noch zwei Eigenschaften. Die erste Eigenschaft ist für die Farbe. Um die zu verändern nutzen wir ObjectSetInteger für die Chart-ID null und das Objekt SimplerHighFan auf diesem Chart möchte ich gerne die OBJPROP_COLOR, also die Objekteigenschaft Farbe, auf Orange setzen. Die Zweite Eigenschaft nennt sich OBJPROP_RAY. Die setzen wir hier auf true. Das bedeutet, wir bekommen eine Verlängerung der Linie auch über die aktuelle Kerze hinaus. Und das war es soweit.
Wenn Sie nicht wissen, was alle diese Coden Zeilen hier bewirken sollen oder falls Ihnen das zu schnell ging, dann möchten Sie sich vielleicht zunächst die anderen Videos in der Grundlagenserie noch einmal anschauen. Vielleicht ist aber auch der Premium Kurs interessant für Sie. Den finden Sie bei uns auf der Webseite.
Für den Moment klicken wir hier mal auf Kompilieren oder drücken die F7 Taste. Und wenn das ohne Fehler funktioniert, 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 Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Das ruft dann hier den Strategietester auf. Bitte wählen Sie hier die neu erstellte Datei SimplerHighGannFan.ex4 aus, markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Hier wird unser Objekt auch schon gezeichnet. Allerdings nicht in orange, sondern in blau. Ah, offensichtlich habe ich hier nicht auf meinen eigenen Rat gehört. Man sollte das Objekt auch an allen Stellen gleich bezeichnen.
Kompilieren wir also den Quelltext nochmal und wechseln zurück in den Metatrader und starten einen neuen Test. Diesmal wird unser Objekt auch in orange gezeigt. Und Sie haben in diesem kurzen Video gelernt, wie Sie ein Fächerobjekt auf dem Chart zeichnen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.
Podcast: Play in new window | Download