MQL4 TUTORIAL GRUNDLAGEN – 48 SIMPLES CHART OBJEKT

video

In diesem Video wollen wir uns einmal anschauen wie man ein Objekt automatisch auf dem Chart zeichnen lassen kann. In diesem Fall sollte hier gleich ein blaues Rechteck um 09:30 Uhr auf dem Chart auftauchen, welches die höchsten und niedrigsten Kerzen der letzten 30 Kerzen einschließt. Hier ist das Objekt jetzt gezeichnet worden. Und wir wollen uns einmal anschauen, wie man so etwas in MQL4 programmieren kann. Um das zu tun klicken Sie bitte hier oben auf dieses kleine Symbol oder drücken die F4-Taste auf Ihrer Tastatur. 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 SimplesChartObjekt, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb der OnTick-Funktion gelöscht werden. Und auch die zwei Kommentarzeilen kommen weg. Wir starten mit einer Textvariablen mit dem Namen EndeEroeffnungsPhase. Die Märkte eröffnen um neun und nach 30 Minuten möchten wir gerne unser Rechteck zeichnen lassen. Dazu ermitteln wir zunächst einmal die aktuelle Zeit. Das übernimmt die Funktion TimeLocal. Die bekommt von uns hier als Parameter den Wert TIME_SECONDS, alles in Großbuchstaben, übergeben. TimeLocal liefert einen Rückgabewert vom Typ datetime. Darum nutzen wir hier noch TimeToStr, um das Ergebnis in unserer Stringvariable AktuelleZeit zu speichern. Denn im nächsten Schritt möchten wir ermitteln, ob unsere Eröffnungsphase beendet ist. Dazu nutzen wir die Funktion StringFind, die in MQL4 enthalten ist, um in der aktuellen Zeit, die wir hier ermittelt haben, nach dem Ende der Eröffnungsphase zu suchen. Das bedeutet wir gucken, ob in dem String der Wert 9:30 Uhr vorkommt. Das ist nur einmal am Tag der Fall, ansonsten liefert uns dieser Rückgabewert immer den Wert -1. Für unser Rechteck möchte ich gerne die Höchste der letzten 30 Kerzen ermitteln. Dazu nutzen wir hier die Funktion iHighest, für das aktuelle Währungspaar auf dem Chart und die auf diesem Chart ausgewählte Zeiteinheit. Mit MODE_HIGH bekommen wir die höchste Kerze. Und wir hätten das gerne für 30 Kerzen, angefangen von der aktuellen Kerze 0. Das Ganze machen wir hier nochmal für die niedrigste Kerze. Dazu nutzen wir die Funktion iLowest, für das aktuelle Währungspaar auf dem Chart und die dort eingestellte Zeiteinheit. Diesmal nutzen wir MODE_LOW, auch alles in Großbuchstaben, bitte. Und ebenfalls für 30 Kerzen angefangen von der aktuellen Kerze 0. Damit wir die aktuelle Zeit auch auf dem Chart sehen, nutzen wir hier den Comment-Befehl. Der wird uns den Text „Aktuelle Zeit“ gefolgt von der ermittelten Zeit ausgeben und wenn der gesuchte Wert 9:30 Uhr in der aktuellen Uhrzeit gefunden wurde, dann wäre der Rückgabewert für die Eröffnungsphase ungleich -1. Und dann machen wir zwei Dinge: Zunächst nutzen wir ObjectDelete für das Rechteck vom Vortag. Das wird beim ersten Aufruf nicht existieren, aber für alle Folgetage würde mit diesem Befehlt halt das alte Objekt zerstört. Und das neue Objekt erstellen wir mit dem Befehl ObjectCreate. Wir nutzen hier den Objekttyp OBJ_RECTANGLE. Wenn man das einmal markiert und F1 drückt, dann sieht man es gibt noch eine ganze Reihe von anderen Objekten. Man könnte z. B. ein Button oder ein Lable benutzen. Alle diese Objekte hier haben unterschiedliche Einstellungen und benötigen unterschiedliche Parameter. In unserem Fall ist der erste Parameter hier eine Null, das steht für das Hauptfenster. Das bedeutet: Wir zeichnen unser Objekt hier direkt auf den Kerzen. Für Oszillatoren nutzt man in der Regel ein separates Fenster unterhalb des Hauptfensters. Time[0] steht für die Zeit von Kerze 0. Der Endpunkt wäre hier beim Zeitpunkt für Kerze 30. Und wir möchten gerne unser Rechteck zeichnen vom Hoch der höchsten Kerze bis zum Tief der niedrigsten Kerze und das ganze rückwirkend für die letzten 30 Kerzen. So weit so gut. Das war´s. Wenn sie nicht wissen, was dieser Code hier bewirken soll oder wenn Ihnen das alles zu schnell ging, dann möchten Sie sich vielleicht zunächst die anderen Videos aus dieser Grundlagenserie noch einmal anschauen oder vielleicht ist sogar der Premiumkurs auf unserer Webseite interessant für Sie. Für den Moment können wir hier auf kompilieren klicken oder die F7-Taste drücken. In meinem Fall hat das ohne Fehler funktioniert und wenn das bei Ihnen auch so ist, dann können wir jetzt 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. Bitte wählen Sie hier die neu erstellte Datei SimplesChartObjekt.ex4 aus. Markieren Sie hier die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor los. Wir haben jetzt 18:50 Uhr. Ich versuche das Ganze mal zu beschleunigen. Jetzt ist es 9:13 Uhr und in wenigen Sekunden sollten wir hier unser Rechteck auf dem Chart auftauchen sehen. Das wird genau dann gezeichnet, wenn hier oben die Uhrzeit 9:30 Uhr erscheint. Das ist jetzt der Fall. Unser Expert Advisor funktioniert also. Und Sie haben in diesem kurzen Video gelernt, wie Sie ein Objekt auf dem Hauptchart zeichnen können. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL4.