MQL4 TUTORIAL GRUNDLAGEN – 92 SIMPLER DEVIATION CHANNEL

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man ein solches Objekt hier programmieren kann. Es handelt sich um einen sogenannten Deviation Channel. Also lassen Sie uns einmal schauen, wie man so etwas in MQL4 programmiert.

 

Um das zu tun, klicken Sie bitte auf dieses kleine Symbol hier oben 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 SimplesDevChannelObjekt, klicke auf Weiter, Weiter und Fertigstellen.

 

Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen können Sie entfernen. Wir starten damit, dass wir uns zunächst einmal die Anzahl der sichtbaren Kerzen auf dem Chart ermitteln. Das geht mit der Funktion WindowFirstVisibleBar. Wenn man die markiert und die F1 Taste drückt, dann sieht man, dass man den Index der ersten sichtbaren Kerze zurückbekommt.

 

Des Weiteren möchten wir gerne die niedrigste Kerze ermitteln. Das übernimmt die Funktion iLowest für das aktuelle Währungspaar auf dem Chart und die auf dem Chart gewählte Zeiteinheit nutzen wir MODE_LOW für alle Kerzen auf dem Chart bis hin zur aktuellen Kerze. Und der Rückgabewert wird dann in dieser Variable LowestCandle gespeichert. Zur Ermittlung der höchsten Kerze nutzen wir die Funktion iHighest. Auch hier nutzen wir das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit und ermitteln mit Hilfe von MODE_HIGH für alle Kerzen auf dem Chart, bis hin zur aktuellen Kerze, den höchsten Wert und speichern ihn in der Variable HighestCandle.

 

Jetzt nutzen wir ObjectDelete um alle vorhergehenden Objekte mit dem Namen SimpleChannel zu löschen. Beim ersten Aufruf gibt es diese Objekte noch nicht. Aber jedes Objekt danach wird gezeichnet, nachdem das vorherige Objekt gelöscht wurde. Und im Anschluss nutzen wir ObjectCreate, um ein neues Objekt zu erstellen. Hier übergeben wir eine ganze Anzahl von Parametern. Der erste Parameter ist für das aktuelle Chart. Parameter Nummer zwei ist der Objektname. Wir haben das Objekt hier SimpleChannel genannt. Parameter Nummer drei steht für den Typ des Objektes. Wir haben OBJ_STDDEVCHANNEL.

 

Wenn wir das markieren und die F1 Taste drücken, dann sehen wir, das ist dieser Objekttyp. Es gibt eine ganze Reihe von unterschiedlichen Objekttypen, die man wählen kann. Und je nach Objekttyp muss man auch unterschiedliche Parameter übergeben. Der nächste Parameter den wir hier nutzen bedeutet, dass wir das Objekt im Hauptfenster mit den Kerzen zeichnen möchten. Und dazu gibt es jetzt einige Koordinaten. Der erste Punkt wird definiert durch den Zeitpunkt der ersten Kerze auf dem Chart.

 

Des Weiteren übergeben wir hier den niedrigsten Preis der niedrigsten Kerze. Das hier steht für den Zeitpunkt der aktuellen Kerze. Und auch hier übergeben wir den niedrigsten Preis der niedrigsten Kerze. Für die zweite Linie übergebe ich hier den Zeitpunkt der ersten Kerze und den höchsten Preis der höchsten Kerze. Sie können diese Werte hier natürlich verändern, je nachdem, wie Sie das Objekt zeichnen lassen möchten. Aber für dieses einfach Beispiel soll uns das so reichen. Jetzt ändern wir noch ein paar Eigenschaften.

 

Wir fangen an mit der Objektfarbe. Die wird geändert, indem wir ObjectSetInteger nutzen. Für die Chart-ID Nummer null möchten wir gerne für das Objekt mit dem Namen SimpleChannel die Objectproperty, also die Objekteigenschaft Color verändern. Die setzen wir auf Yellow. Ähnlich macht man das mit anderen Objekteigenschaften. Hier ist es der Objectproperty Style, also die Art und Weise, wie unser Objekt gezeichnet werden soll. Ich habe das hier mal als Beispiel auf STYLE_SOLID gesetzt. Das gibt dann eine durchgezogene Linie.

 

Je nach Objekttyp stehen auch nicht alles Stile zur Verfügung. Jetzt ändern wir noch die Eigenschaft OBJPROP_WIDTH und setzen die Breite, also die Linienstärke auf drei. Und im Anschluss setzen wir eine Eigenschaft mit dem Namen OBJPROP_RAY auf true, also wahr. Die wird dafür sorgen, dass unser Objekt in die Zukunft über die aktuelle Kerze hinaus gezeichnet werden kann. Eine weitere Eigenschaft heißt Object Deviation. Die hat Einfluss auf den Abstand der Linien. Ich setze hier mal den Wert zwei ein. Das war es im Großen Ganzen. Wenn Ihnen das zu schnell ging oder wenn Sie keine Ahnung haben, was alle diese Code Zeilen bewirken sollen, dann möchten Sie sich vielleicht zunächst eines der anderen Videos aus dieser Grundlagenserie noch einmal anschauen. Vielleicht ist aber auch der Premium Kurs interessant für Sie.

 

Den finden Sie auf unserer Webseite. Und wenn Sie schon ein Premium Kurs Mitglied sind und eine Idee für so ein Video haben, dann schicken Sie mir doch einfach ein E-Mail und lassen es mich wissen. Wir klicken jetzt 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 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. Bitte wählen Sie hier die neu erstellte Datei SimplesDevChannelObjekt .ex4 aus, markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Hier sehen wir, unser Objekt wird schon gezeichnet.

 

Die überwiegende Anzahl von Kerzen auf unserem Chart ist innerhalb des Objektes. Aber sobald sich hier die Trendrichtung ändert, wird auch der Kanal entsprechend anders gezeichnet. Wir können jetzt mal etwa zoomen und wir sehen, der Kanal passt sich der jeweiligen Darstellung an. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie eine Diviation Kanal als ein Objekt auf ein Chart zeichnen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.