MQL4 TUTORIAL DEUTSCH

MQL4 TUTORIAL GRUNDLAGEN – 75 SIMPLER TIME FILTER


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man anhand eines Filters zu bestimmten Zeiten das Trading erlauben oder verbieten kann. Um circa ein Uhr wird hier der erste Trade eröffnet werden. Denn wir haben ein Zeitfenster von ein Uhr morgens bis zehn Uhr morgens definiert. Also lassen Sie uns einmal herausfinden, wie man so etwas in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf dieses kleine Symbol 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 SimplerTimeFilter, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und wir entfernen auch die zwei Kommentarzeilen. Zunächst definieren wir hier einmal eine Startzeit für unser Trading. Ich werde das hier mal auf ein Uhr ändern. Dann geht das später im Strategietester schneller. Da wir hier aber den Modifier Input benutzen, lässt sich dieser Wert auch ohne Neukompilieren hinterher vom Benutzer verändern, indem er über die Expert Advisor Eigenschaften die gewünschte Zeit einstellt. Das wiederholen wir nochmal. Diesmal für die StopTradingTime. Nach der hier definierten Uhrzeit soll Trading verboten sein. Damit wir wissen, wie spät es ist, brauchen wir natürlich auch noch eine Variable für die aktuelle Uhrzeit. Die heißt CurrentTime. Und wir nutzen hier eine Variable, ob Trading erlaubt oder verboten ist. Die ist vom Typ bool, kann also entweder wahr oder falsch sein. In MQL4 wird für false eine Null und für true eine Eins zurückgegeben. Soweit zu den Variablen. In der OnTick Funktion nutzen wir eine lokale Variable mit dem Namen time. Die ist vom Format datetime. Und wir weisen ihr den Rückgabewert der Funktion TimeLocal zu. Wenn man das einmal markiert und die F1 Taste drückt, dann sieht man, dass man damit die lokale Zeit auf dem Computer auf dem der Metatrader läuft, zurückbekommt. Es handelt sich also nicht um die Serverzeit vom Broker. Und diese ermittelte Zeit möchten wir jetzt mit dieser Funktion in eine Textkette umwandeln. TimeToString kann das in unterschiedlichen Formaten tun. Wir hätten gerne dieses Format hier mit Stunden und Minuten, geteilt von einem Doppelpunkt. Das kann uns dieser Parameter hier liefern. TimeToString hat genau zwei Parameter. Der erste Parameter ist eine Uhrzeit, die wir hier oben ermitteln. Und im zweiten Parameter legen wir fest, wie diese Uhrzeit formatiert werden soll. Wir möchten nur traden, wenn wir uns im erlaubten Zeitfenster befinden. Dazu möchten wir eine Funktion mit dem Namen CheckTradingTime nutzen. Die existiert aber noch nicht, die müssen wir gleich noch programmieren. Und nur, wenn wir von dieser Funktion eine Erlaubnis zurückbekommen, dann prüfen wir, ob OrdersTotal einen Rückgabewert von null hat. Also, ob wir keine geöffnete Position haben. Und falls beides zutrifft, dann nutzen wir OderSend um zehn Mikrolot zu kaufen. Das hier sind unsere beiden einzigen Konditionen für diesen Einstieg. Auf einem Echtgeldkonto würde man das so nicht machen. Da würde man noch Indikatoren mit hinzunehmen. Aber für dieses einfache Beispiel soll uns das so reichen. Jetzt benötigen wir noch eine Ausgabe auf dem Chart. Das übernimmt der Comment Befehl. Der wird uns anzeigen, ob Trading erlaubt oder verboten ist. Außerdem die aktuelle ermittelte Zeit und die von uns definierten Werte für die StartTradingTime und die StopTradingTime. Damit das hier funktioniert, müssen wir jetzt aber die entsprechende Funktion programmieren. Unsere benutzerdefinierte Funktion hat den Namen CheckTradingTime. Und sie ist vom Typ bool, kann also nur wahr oder falsch zurückgeben. Wir möchten gerne das Trading erlauben, wenn innerhalb der aktuellen Zeit die von uns definierte StartTradingTime gefunden werden kann. Sowas kann man mit StringSubstr realisieren. Denn hier haben wir eine Startposition und eine Länge. Das bedeutet,
...more
View all episodesView all episodes
Download on the App Store

MQL4 TUTORIAL DEUTSCHBy Raimund Bauer