In diesem Video wollen uns einmal anschauen, wie man den Wochentag mit MQL4 berechnen kann. Das ist eine Frage von einem Mitglied des Premium Kurses gewesen. Und wir wollen uns einmal anschauen, wie man das Datum berechnet und wie man daraus den Wochentag ermitteln kann. Um das zu tun, klicken Sie bitte hier oben auf dieses kleine Symbol. Das ruft dann hier den Meta Editor auf. Und hier klicken wir auf Datei, Neue Datei, Expert Advisor aus Vorlage. Weiter. Ich vergebe hier einmal den Namen SimpleDatumsBerechnung, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir eine string Variable für die Zeit erstellen. Die bekommt hier den Namen MeineZeit. Das Ganze wiederholen wir dann nochmal für den Wochentag. Um die Zeit zu ermitteln, möchten wir gerne eine benutzerdefinierte Funktion zur Zeitberechnung aufrufen. Die soll den Namen GetTime erhalten. Und für den Wochentag machen wir das Ganze nochmal. Dazu erstellen wir eine benutzerdefinierte Funktion mit dem Namen GetWochentag. Beide Funktionen existieren noch nicht. Also müssen wir die jetzt erstellen. Die Funktion GetTime soll uns eine Textkette zurückliefern. Im ersten Schritt erstellen wir uns eine string Variable mit dem Namen ZeitMitSekunden. Und um die zu berechnen nutzen wir zwei Funktionen. Die erste Funktion ist die Funktion TimeLocal. Die liefert uns die lokale Zeit vom Computer zurück. Allerdings nicht von unserer Systemzeit, sondern die jeweils aktuelle Zeit aus dem Strategietester. Und hier übergeben wir als Parameter TIME_DATE, ein Pipe Zeichen und TIME_SECONDS. Wenn man das einmal markiert und die F1 Taste drückt, dann lernen wir, das TIME_DATE und das Datum in diesem Format hier zurückliefert. Und TIME_SECONDS liefert uns dann Stunden, Minuten und Sekunden. Und das ermittelte Ergebnis wird dann mit dem return Befehl zurück an die Hauptfunktion geliefert. Das war es mit der ersten benutzerdefinierten Funktion. Aber hauptsächlich ging es ja darum, den Wochentag zu ermitteln. Auch das soll eine Textkette werden. Zuvor müssen wir uns allerdings mit einer integer Variablen für den Tag, beziehungsweise die Wochentagnummer zufriedengeben. Die lässt sich nämlich ermitteln, indem wir die MQL4 Funktion DayOfWeek nutzen. DayOfWeek liefert uns einen Wert zwischen null und sechs zurück. Wobei null hier für den Sonntag steht. Das ist für Deutschland außergewöhnlich. Wir würden Sonntage als siebten Tag in der Woche zählen. Also behalten Sie das bitte im Hinterkopf. Tatsächlich ist das in der Praxis gar nicht so relevant. Denn wenn wir das hier einmal beschleunigen und uns anschauen, wie die Wochentage wechseln, dann sehen wir, dass wir hier oben gar keine Sonntage sehen. Das liegt daran, dass der Markt am Wochenende geschlossen ist. Aber DayOfWeek kann das halt für alle Tage der Woche ermitteln. Wir möchten aber jetzt einen string, also eine Textkette mit dem richtigen Wochentag haben. Dazu erstellen wir uns eine string Variable mit dem Namen Wochentag. Die hat zunächst noch keinen Wert. Und um das zu ändern, weisen wir jetzt die zurückgelieferte Wochentagnummer dem entsprechenden Wochentag zu. Wenn der Rückgabewert eins ist, dann wäre das ein Montag. Beim Rückgabewert zwei wäre es Dienstag und so weiter und so fort. Auch hier sieht man, die null wird zurückgeliefert für den Sonntag. Theoretisch könnten wir uns diese beiden Tage hier sparen, weil der Markt da geschlossen ist. Und zum Schluss liefern wir in unserer benutzerdefinierten Funktion mit dem return Statement noch den Wochentag zurück an das Hauptmodul. Damit wir davon auch was sehen, erstellen wir uns hier mir der Comment Funktion noch eine Ausgabe auf dem Chart. Dort hätte ich gerne die Ausgabe: Die Zeit ist, gefolgt von der berechneten Zeit. Und in einer neuen Zeile: heute ist, gefolgt vom ermittelten Wochentag. Wenn Ihnen das hier alles zu schnell ging oder wenn Sie nicht verstehen, was diese Codezeilen bewirken sollen, dann möchten Sie sich vielleicht zunächst die anderen Videos aus dieser Grundlagenserie noch einmal anschauen. Oder vielleicht ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Wir klicken zunächst hier auf Kompilieren oder drücken die F7 Taste. Okay, offensichtlich habe ich mich vertan. Die Chartausgabe muss natürlich hier oben in der OnTick Funktion erstellt werden. Klicken wir nochmal auf Kompilieren. Dann geht das hier ohne Fehler ab. Und wenn das bei Ihnen auch so ist, dann klicken Sie bitte hier oben auf dieses kleine Symbol oder drücken die F4 Taste, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Das ruft dann hier den Strategietester auf. Und hier wählen Sie bitte die neu erstellte Datei SimpleDatumsBerechnung.ex4 aus. Markieren den visuellen Modus und starten einen Test. Hier läuft unser Expert Advisor auch schon los. Wir sehen hier die Ausgabe die Zeit ist, mit dem Datum und der Uhrzeit. Darunter steht, dass wir Donnerstag haben. Schauen wir uns einmal an, ob das für den 18. Januar 2018 zutrifft. Laut Kalender war der 18. Januar 2018 tatsächlich ein Donnerstag. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie mit MQL4 die Zeit, das Datum und den aktuellen Wochentag ermitteln können. Und sie haben das selbst programmiert, mit diesen paar Zeilen hier, in MQL4.
Podcast: Play in new window | Download