MQL5 TUTORIAL GRUNDLAGEN – 55 SO ERMITTELN SIE DATUM ZEIT UND WOCHENTAG

video
play-sharp-fill

In diesem Video wollen uns einmal anschauen, wie man Uhrzeit, Datum und Wochentag berechnen kann. Das war eine Frage von einem Premium Kurs Mitglied. Also schauen wir uns einmal an, wie man so etwas in MQL5 ermittelt. Um das zu tun, klicken Sie bitte im Metatrader auf dieses kleine Symbol hier oben oder drücken 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 SimpleDatumsBerechnung, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier entfernt werden. Und wir löschen auch die zwei Kommentarzeilen. MQL5 nutzt für die Darstellung von Datum und Zeit einen Datentyp, der nennt sich datetime. Und mit der Funktion TimeLocal können wir uns den aktuellen Wert holen. TimeLocal gibt die lokale Zeit des Computers zurück. In unserem Fall jetzt, aber nicht die Zeit aus meiner Windows Installation. Sondern die aktuelle Uhrzeit für den Backtest. Damit das Ganze lesbar wird, müssen wir die datetime Angabe noch etwas verändern. Denn wir bekommen lediglich die Sekundenanzahl, seit dem 1. Januar 1970 geliefert. Und um das für Menschen lesbarer zu machen, nutzen wir die Funktion TimeToString, um die Lokalzeit, die wir hier oben ermittelt haben, in einem bestimmten Format bereitzustellen. Dazu nutzen wir TIME_MINUTES. TIME_MINUTES wird uns die Stunden und Minuten zurückliefern. Wenn Sie es noch genauer brauchen, dann können Sie auch TIME_SECONDS verwenden. Dann hätten Sie eine Ausgabe von Stunden, Minuten und Sekunden. Das Ganze wiederholen wir jetzt noch einmal, denn wir möchten auch das Jahr und das Datum ausgeben. Auch hier nutzen wir TimeToString für die Lokalzeit. Aber diesmal den Parameter TIME_DATE. Der liefert uns eine vierstellige Jahreszahl, den Monat und den Tag. Die Frage des Premium Kurs Mitgliedes war aber eine andere. Und zwar ging es darum, herauszufinden, welcher Wochentag denn gerade ist. Wie man sieht, wird hier der Wochentag mit ausgegeben. Hier haben wir die Ausgabe, heute ist Dienstag. Und um das herauszufinden, muss man einen kleinen Umweg nehmen. Das ist etwas kniffliger. Dazu nutzen wir die Funktion MqlDateTime. Die enthält acht Felder mit unterschiedlichen Werten und dazu gehört auch der Tag. Und um den zu ermitteln nutzen wir zunächst die Funktion TimeToStruct für die Lokalzeit und übergeben hier als weiteren Parameter unsere Datumsstruktur. Danach können wir den Wochentag erhalten, indem wir innerhalb der Datumsstruktur auf den Wert day-of-week zugreifen. Wenn man das einmal löscht und den Punkt drückt, dann sieht man, es gäbe zum Beispiel auch day-of-year. Aber brauchen hier den Wochentag. Und der wird uns als Zahl zurückgeliefert. Es ist eine Ganzzahl vom Typ integer. Ich hätte das Ganze aber gerne lesbar. Darum erstelle ich mir hier eine Textvariable mit dem Namen Wochentag. Und je nachdem, welche Zahl wir zurückerhalten, ordnen wir hier den entsprechenden Wochentag zu. Der Sonntag hat in diesem Fall den Wert null. Aber wenn man sich das hier mal im Schnelldurchlauf anschaut, dann sehen wir, wir bekommen nur Daten bis Freitag geliefert, da der Markt am Wochenende geschlossen ist. Also eigentlich könnten wir uns diese beiden Abfragen hier schenken. Eine Besonderheit ist, dass die Woche von Sonntag an mit dem Wert null hochgezählt wird. In Deutschland wäre der Sonntag der siebte Tag der Woche. So weit, so gut. Brauchen wir noch eine Chart Ausgabe. Ich hätte gerne die Ausgabe: Das Datum ist, gefolgt von Jahr und Datum. In einer neuen Zeile möchte ich gerne den Text haben: heute ist, gefolgt von dem Wochentag. Und in Zeile drei hätte ich dann gern die ermittelte Uhrzeit. Das war es im Großen und Ganzen. Wenn Sie nicht verstehen, was diese Codezeilen hier bewirken sollen oder wenn Ihnen das zu schnell war, dann möchten Sie sich vielleicht zunächst die anderen Videos aus diesem Grundlagenkurs noch einmal anschauen. Oder vielleicht ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Für den Moment klicken wir hier auf Kompilieren. Das sollte ohne Fehler abgehen. Und wenn das bei Ihnen auch der Fall ist, dann klicken Sie bitte hier oben auf dieses kleine Symbol oder drücken Sie die F4 Taste, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Hier rufen wir dann die neu erstellte Datei SimpleDatumsBerechnung.ex5 auf. Bitte markieren Sie hier unten noch den visuellen Modus und starten Ihren Test. Und so sieht das Ganze dann im laufenden Betrieb aus. Wir sehen hier, die aktuelle Uhrzeit wird aktualisiert. Ich erhalte hier die Ausgabe, dass der 28.2.2019 ein Donnerstag war. Prüfen wir das mal kurz nach. Hier ist der 28. Februar 2019 und das war tatsächlich ein Donnerstag. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie mit MQL5 das Datum, den Wochentag und die aktuelle Uhrzeit ermitteln können. Und sie haben das selbst programmiert, mit diesen paar Zeilen hier, in MQL5.