MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL GRUNDLAGEN – 75 SIMPLER TIME FILTER


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man einen Zeitfilter programmieren kann. So um neun Uhr wird der hier umspringen und wir sehen die erste Position. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 programmieren kann. Um das zu tun, klicken Sie im Metatrader bitte auf dieses kleine Symbol hier 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 dieser OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Wir starten mit einem include Statement. Das wird uns die Datei Trade.mqh zur Verfügung stellen. Die enthält vereinfachte Handelsfunktionen. Und wir erstellen uns hier eine Instanz von der Klasse CTrade. Die bekommt den Namen trade und die werden sie später verwenden, um Positionen zu eröffnen. Im ersten Schritt erstellen wir uns hier eine string Variable für das Signal. Die kann Textketten aufnehmen, aber wir hier noch keinen Wert zu. Im nächsten Schritt erstellen wir eine input Variable. Die wird uns eine Eingabe ermöglichen. Auch die ist vom Typ string. Sie heißt StartTradingTime, denn sie soll die Startzeit für unsere erlaubten Trades festlegen. In diesem Fall nehmen wir hier neun Uhr morgens. Dann wiederholen wir das Ganze noch einmal für eine StopTradingTime. Das hier ist das Ende des erlaubten Zeitfensters. Also, in diesem Fall dürfen wir nur zwischen neun Uhr und zehn Uhr morgens Positionen eröffnen. Wir brauchen eine weitere Variable für die aktuelle Zeit. Und für unseren Filter gibt es hier noch eine Variable TradingIsAllowed. Es handelt sich um eine bool Variable. Das bedeutet, die kann entweder den Wert true für wahr oder false für falsch annehmen. Innerhalb der OnTick Funktion starten wir damit, dass wir mit SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart den Ask Preis berechnen. Das geht mit diesem Parameter SYMBOL_ASK. Und mit NormalizeDouble und _Digits stellen wir sicher, dass wir für das jeweilige Währungspaar die richtige Anzahl von Nachkommastellen automatisch ermitteln. Danach berechnen wir die lokale Zeit. Das übernimmt die Funktion TimeLocal. Die liefert uns die lokale Zeit des Computers zurück, auf dem das Client-Terminal läuft. Und im nächsten Schritt konvertieren wir mit der Funktion TimeToString diese ermittelte Zeit in eine Textkette. Hier übergeben wir als Parameter TIME_MINUTES. Wenn man das einmal markiert und die F1 Taste drückt, dann sieht man hier, dass die Zeit in unterschiedlichen Formaten zurückgegeben werden kann. Das von uns gewählte Format gibt uns die Stunden und Minuten geteilt von einem Doppelpunkt zurück. Um zu prüfen, ob wir uns innerhalb des Zeitfensters befinden, das wir definiert haben, möchte wir eine Funktion CheckTradingTime verwenden. Und nur, wenn die auf true steht, dann soll die Eröffnung einer neuen Position möglich sein. Diese Funktion existiert allerdings noch nicht. Darum müssen wir die gleich programmieren. Die zweite Bedingung die wir prüfen ist, ob uns die Funktion PositionsTotal einen Wert von null zurückliefert. Das bedeutet, wir haben keine geöffneten Positionen. Und wenn beides zutrifft, dann nutzen wir hier trade.buy, um eine Position für zehn Mikrolot hier zu eröffnen. Außerdem hätte ich gerne noch eine Chartausgabe. Die wird uns den Rückgabewert für den Trading Filter: die aktuelle Zeit und die Start- und die Stopp Zeit direkt auf unserem Chart ausgeben. Programmieren wir jetzt unsere benutzerdefinierte Funktion mit dem Namen CheckTradingTime. Die hat den Rückgabewert bool, kann also nur true für wahr oder false für falsch zurückgeben. Und wenn in dem ermittelten Wert für die aktuelle Zeit der Wert für unsere definierte StartTradingTime gefunden werden kann, dann setzen wir die Variable TradingIsAllowed auf true. Wenn man diese Funktion einmal markiert und die ...
...more
View all episodesView all episodes
Download on the App Store

MQL5 Tutorial - Automatisch traden mit Metatrader5By MQL5 Tutorial - Automatisch traden mit Metatrader5