MQL5 TUTORIAL GRUNDLAGEN – 100 SIMPLES DREIECK OBJEKT

video
play-sharp-fill

 

In diesem Video wollen wir uns mal anschauen, wie man so ein dreieckiges Objekt auf einem Chart zeichnen kann. Es handelt sich hier um ein dynamisches Objekt, das immer wieder angepasst wird, wenn sich der Preis verändert. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL5 programmieren kann. Um das zu tun, klicken Sie im Metatrader bitte hier oben auf dieses kleine Symbol oder drücken Sie die F4 Taste. Das ruft dann hier den Meta Editor auf. Und hier klicken wir auf Datei, Neue Datei, Expert Advisor aus Vorlage. Weiter. Ich vergebe hier mal den Namen SimplesDreieck, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen können Sie entfernen. Wir starten damit, dass wir uns zunächst Variablen für die höchste und für die niedrigste Kerze erstellen.

 

Außerdem brauchen wir für die Berechnung noch jeweils ein Array. Die Arrays bekommen den Namen High für die höchsten und Low für die niedrigsten Kerzenwerte. Mit Hilfe der Funktion ArraySetAsSeries sortieren wir jetzt unser High Array von der aktuellen Kerze an abwärts. Das Ganze wiederholen wir dann nochmal für das Low Array. Mit der Funktion CopyHigh lassen sich die Höchstpreise aus einer bestimmten Zeiteinheit kopieren. Und zwar für das aktuelle Währungspaar auf dem Chart, die aus dem Chart ausgewählte Zeiteinheit. Wir starten mit Kerze null und kopieren die Daten für die Höchstpreise von dreißig Kerzen in unser High Array. Eine entsprechende Funktion gibt es auch für die niedrigsten Preise. Die heißt dann CopyLow. Die tut das gleiche.

 

Und diesmal speichern wir die Ergebnisse im Array mit dem Namen Low. Um jetzt die höchste Kerze zu berechnen gibt es eine weitere nützliche Funktion mit dem Namen ArrayMaximum. Die liefert uns das maximale Element in unserem Array. Das Ergebnis speichern wir in dieser Variable. Das gibt es natürlich dann auch für die niedrigste Kerze. Hier heißt die Funktion dann ArrayMinimum. Der Rest ist gleich, bis auf den Namen des Arrays und der Variable. Jetzt brauchen wir ein Array für Preisinformationen. Das erstellen wir mit MqlRates. Auch das sortieren wir mit Hilfe des Befehls ArraySetAsSeries von der aktuellen Kerze an abwärts. Und mit der Funktion CopyRates können wir jetzt für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit, angefangen von Kerze null, Daten kopieren. Dieser Begriff hier gibt uns die Werte für alle verfügbaren Kerzen. Und diese Werte speichern wir in unserem Array Preisinformation. Bevor wir ein neues Objekt erstellen, möchten wir erstmal vorherige Objekte löschen. Das machen wir mit der Funktion ObjectDelete. Die soll hier für unser aktuelles Währungspaar alle Objekte mit dem Namen Dreieck löschen.

 

Danach nutzen wir ObjectCreate, um ein neues Objekt zu erstellen. Und zwar für das aktuelle Währungspaar auf dem Chart. Der Objektname soll Dreieck heißen. Der Typ des Objektes ist OBJ_TRIANGLE. Das Objekt soll auf dem Kerzenchart, also Chart null gezeichnet werden. Und zwar für den Zeitpunkt, an dem Kerze dreißig erscheint. Für den Schlusskurs von Kerze dreißig, das ist unser Ankerpunkt. Die eine Seite soll gezeichnet werden bis zu dem Zeitpunkt, wo die niedrigste Kerze der letzten dreißig Kerzen entsteht. Und zwar dort für den niedrigsten Preis der niedrigsten Kerze. Die andere Seite zeichnen wir bis zu dem Zeitpunkt, wo die höchste der letzten dreißig Kerzen entsteht. Und dort zum Höchstpreis der höchsten Kerze. Zum Schluss ändern wir noch zwei Objekteigenschaften. Das geht mit der Funktion ObjectSetInteger. Der erste Parameter hier ist null. Der steht für die Chart-ID. Und null steht für das laufende Chart. Hier möchten wir für das Objekt mit dem Namen Dreieck gerne die Eigenschaft OBJPROP_COLOR ändern.

 

Und zwar auf die Farbe Gelb. Das Ganze wiederholen wir dann nochmal für den Hintergrund. Das ist in etwa dieselbe Funktion. Aber diesmal ändern wir hier die Eigenschaft OBJPROP_FILL. Ganz hier unten hat sich noch meine schließende Klammer versteckt. Und das war es soweit. Wenn Sie keine Ahnung haben, was alle diese Codezeilen hier bewirken sollen oder wenn Ihnen das zu schnell ging, dann möchten Sie sich vielleicht zunächst ein anderes der Grundlagenvideos anschauen. Vielleicht ist aber auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Für den Moment klicken wir 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 mit der F4 Taste zurückkehren in den Metatrader. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Bitte wählen Sie hier die neu erstellte Datei SimplesDreieck.ex5 aus. Markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor auch schon los. Wir sehen, dass ein gelbes Dreieck gezeichnet wird. Das wird auch jedes Mal angepasst, wenn sich hier die Preise verändern. Und Sie haben in diesem kurzen Video gelernt, wie Sie für ein dynamisches dreieckiges Objekt mit MQL5 einen Expert Advisor erstellen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier, in MQL5.