MQL4 TUTORIAL GRUNDLAGEN – 89 SIMPLE HIGH PRICE TREND LINIE

video
play-sharp-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man so eine Linie als Objekt programmieren kann. Diese Linie zeigt vom Höchstpreis der höchsten Kerze auf den aktuellen Höchstpreis der aktuellen Kerze. Also lassen Sie uns einmal schauen, wie man so etwas mit 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 einmal den Namen SimpleHighPriceLinie, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb der OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Damit nur die Kerzen auf dem aktuellen Chart berücksichtigt werden, benötigen wir zunächst einmal die Anzahl der Kerzen auf dem Chart. Die ermittelt die Funktion WindowFirstVisibleBar. Im Anschluss daran nutzen wir die Funktion iHighest für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir nutzen hier MODE_HIGH, bitte alles in Großbuchstaben, und greifen dann auf das Ergebnis aus unserer Berechnung für die Anzahl der Kerzen hier oben zurück. Der letzte Parameter hier steht für die Kerze von der aus wir starten wollen. Wir starten also von der aktuellen Kerze 0, schauen alle Kerzen auf dem Chart durch und ermitteln mit dieser Funktion die höchste Kerze. Das ist aber noch nicht der Wert, sondern die Nummer der höchsten Kerze. Das kann man ganz einfach verwechseln. Im nächsten Schritt nutzen wir ObjectDelete. ObjectDelete wird jede vorher gezeichnete Linie mit diesem Namen hier löschen. Beim allerersten Aufruf gibt es die noch nicht, aber jedes weitere Mal löschen wir die alte Linie bevor wir eine neue erstellen. Und das Erstellen geht mit Hilfe der Funktion ObjectCreate. Diese Funktion benötigt weitere Parameter. Gehen wir die also mal der Reihe nach durch. Der erste Parameter steht für das aktuelle Chart. Parameter Nummer 2 ist der Objektname. Ich habe die Linie jetzt mal SimpleHighLineTrend genannt. Vom Prinzip ist es egal, welchen Namen Sie hier wählen, Hauptsache der ist immer gleich geschrieben. In Parameter Nummer 3 geben wir den Objekttyp an. Ich hab hier OBJ_TREND gewählt. Wenn man das einmal markiert und die F1-Taste drückt, dann sieht man, dass es hier noch zahlreiche weitere Objekttypen gibt. Machen wir mit dem vierten Parameter weiter. Ich möchte das Objekt gerne im Hauptfenster anzeigen lassen. Das ist das Fenster 0. Und die Linie soll gezeichnet werden von der höchsten Kerze, die wir hier oben ermittelt haben, und zwar da vom höchsten Preis der höchsten Kerze. Der zweite Punkt für die Linie ist die aktuelle Kerze. Das ist Kerze 0.Und von Kerze 0 hätte ich gerne den Höchstpreis. Damit haben wir zwei Punkte auf dem Chart, um die Linie zu zeichnen. Die Erstellung des Objektes ist damit beendet. Jetzt möchten wir noch ein paar Objekteigenschaften verändern. Das geht mit Hilfe des Befehls ObjectSetInteger für das aktuelle Chart und das Objekt mit dem Namen SimpleHighLineTrend möchte ich gern diese Eigenschaft hier verändern, OBJPROP_COLOR. Und ich hab mich für einen rote Farbe entschieden. Danach verändern wir die Eigenschaft OBJPROP_STYLE. Der Rest vorher ist identisch. Hier wählen wir STYLE_SOLID, um eine durchgezogene Linie anzeigen zu lassen. Man könnte auch Punkte oder Striche auswählen. Weiter geht’s mit der Objekteigenschaft für die Breite, also in diesem Fall die Dicke der Linie. Die setzen wir mit OBJPROP_WIDTH und hier wählen wir die Stärke 1 aus. Und zum Schluss gibt es noch eine Eigenschaft mit der wir die Linie über die beiden Punkte hinaus weiterzeichnen können. Die nennt sich OBJPROP_RAY. Die Beschreibung ist hier nicht sonderlich aussagekräftig, aber das genau führt dazu, dass die Linie hier auch über Kerze 0 hinaus gezeichnet werden kann. Das wars so weit. Wenn Sie nicht wissen, was alle diese Codezeilen hier bewirken sollen oder wenn Ihnen das zu schnell ging, dann möchten Sie sich vielleicht zunächst die anderen Videos aus der Grundlagenserie noch einmal anschauen. Vielleicht ist aber auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Für den Moment klicken wir hier oben 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 auf dieses kleine Symbol klicken oder die F4-Taste drücken, um in den Metatrader zurückzukehren. Im Metatrader öffne ich mir jetzt hier ein leeres Chart, klicke mit der rechten Maustaste, wähle Vorlagen, Vorlage speichern und speichere das Ganze unter dem Namen tester.tpl, denn das ist gleich die Ansicht, die wir im Strategietester zu sehen bekommen. Und ich möchte keine anderen Indikatoren sehen. Klicken wir mal auf speichern, dann werden wir gefragt, ob wir die Schablone ersetzen wollen. Das können wir bejahen. Danach klicken Sie bitte auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Bitte wählen Sie hier die neu erstellte Datei SimpleHighPriceLinie.ex4 aus, markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Wie man sieht, wird hier bereits fleißig gezeichnet. Von der höchsten Kerze zum Höchstpreis der aktuellen Kerze lässt sich hier erkennen, ob es nach oben oder nach unten geht. Und wenn wir hier hineinzoomen, dann funktioniert das immer noch. Unser Expert Advisor läuft also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie für die höchste Kerze und den Höchstpreis der aktuellen Kerze ein dynamisches Linienobjekt erstellen können, dass bei jeder Preisänderung angeglichen wird. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.