MQL5 TUTORIAL GRUNDLAGEN – 126 SIMPLER RUNNING TIMER

video
play-sharp-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man messen kann, wie viel Zeit seit dem Start eines Expert Advisors vergangen ist. Dazu möchten wir hier diesen Timer programmieren. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 machen kann. Um das zu tun, klicken Sie im MetaTrader 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 mal den Namen Simpler Running Timer. Klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb der On Tick Funktion gelöscht werden. Und auch die zwei Kommentar Zeilen hier werden entfernt. Wir starten damit, dass wir einige Variablen erstellen. Die sind vom Typ Date Time. Date Time ist ein Format, das Datum und Zeit seit dem 1. Januar 1970 bestimmen kann. Es gibt unterschiedliche Formate, wie man das darstellen kann. Wir haben hier eine Variable für die aktuelle Zeit, für die Startzeit und für die Zeit, die seitdem vergangen ist.

 

In der OnTick Funktion starten wir damit, dass wir prüfen, ob die Startzeit keinen Wert enthält. Das wäre der Fall, wenn Start Time den Wert 0 hat. Und wenn das so ist, dann möchten wir für unsere Startzeit die Time Local Funktion nutzen. Die Time Local Funktion wird uns die lokale Zeit des Computers zurückgeben, auf dem unser Client läuft. Das funktioniert auch für den Strategie Tester, bei dem man ja auch andere Zeitspannen eingeben kann. Im nächsten Schritt nutzen wir Time Local wieder, um die aktuelle Zeit zu bestimmen. Die wird immer dann, wenn die Ontick Funktion aufgerufen wird, etwas anders sein, weil ja Zeit vergangen ist. Bitte behalten Sie im Hinterkopf, dass Ontick die Funktion ist, die nur dann gestartet wird, wenn sich der Preis ändert. Wir werden also nicht jede Sekunde eine Aktualisierung sehen. Es wird nur dann aktualisiert, wenn tatsächlich eine Preisänderungen stattgefunden hat. Als nächstes berechnen wir die Differenz, also die vergangene Zeit, indem wir von der aktuellen Zeit die Startzeit abziehen. Und um das Ganze für uns lesbar zu machen, nutzen wir MQL Date Time, um eine Struktur Variable zu erstellen.

 

Wenn man das hier einmal markiert und die F1 Taste drückt, dann lernen wir, dass es hier unterschiedliche Rückgabewert gibt. Beispielsweise für Stunde, Minuten und Sekunden. Genau das benötigen wir. Und um die gewünschte Ausgabe zu erhalten, nutzen wir time to struct. Damit kann man eine Variable vom Typ Date Time in das gewünschte Format konvertieren. Um die Stunden zu erhalten erstellen wir uns hier eine Integer Variable und weisen ihr den Rückgabewert von date time structure hour zu. Die Minuten erhalten wir mit Date Time Structure min. Die Sekunden erhalten wir über date time structure sec. Bei Bedarf könnten wir hier noch den Tag, das Jahr, den Monat oder den Tag der Woche und sogar den Tag im laufenden Jahr berechnen. Und soll das aber für dieses einfache Beispiel so reichen? Damit wir davon auch was sehen, fügen wir zum Schluss hier noch eine Comment-Ausgabe hinzu. Die wird uns die Startzeit, die aktuelle Zeit und die vergangene Zeit in Stunden, Minuten und Sekunden anzeigen. Das war’s auch schon soweit. Wenn Ihnen das hier zu schnell ging, oder wenn Sie keine Ahnung haben, was diese Codezeilen hier bewirken sollen, dann möchten Sie sich vielleicht zunächst einmal ein anderes Video aus der Grundlagen Serie anschauen.

 

Vielleicht ist aber auch der Premium Kurs interessant für Sie. Den finden Sie auf unserer Webseite. Und da gibt es jetzt auch Links zum Shop, wo man solche Quellcodes hier herunterladen kann, falls man nicht alles selber tippen möchte. Das hier war übrigens wieder ein Vorschlag von einem Premium Mitglied und wenn Sie eine Idee für so ein Video haben und schon Premium Mitglied sind, dann lassen Sie es mich doch einfach wissen. Für den Moment klicken wir hier auf Kompilieren oder drücken die F7 Taste. Das hat bei mir ohne Fehler funktioniert. Und wenn das bei Ihnen auch so ist, dann können Sie jetzt hier oben auf dieses kleine Symbol klicken oder die F4 Taste drücken, um in den MetaTrader zurückzukehren. Und im MetaTrader klicken wir auf Ansicht, Strategie Tester oder drücken Steuerung und R. Bitte wählen Sie hier die neu erstellte Datei Simpler Running Timer.ex5 aus. Markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Timer auch schon los. Wir sehen, die Startzeit war um null Uhr fünf.

 

Aktuell haben wir null Uhr 30 und 20 Sekunden und unser Timer zeigt uns an, dass seit dem Start 25 Minuten und 20 Sekunden vergangen sind. Solche Sachen können sehr nützlich sein, wenn Sie etwas benötigen, das Zeit basiert passieren soll. Denn in diesem kurzen Video haben Sie gelernt, wie Sie einen Timer für die abgelaufene Zeit in einem Expert Advisor programmieren können. Und Sie haben das selbst getan mit diesen paar Zeilen hier in MQL5.