und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 47
- Rating:
- Veröffentlicht:
- Aktualisiert:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Bibliothek für die Kontrolle von Handelssitzungen. Beim Start zählt sie die Zeiten der Handelssitzungen für alle 7 Tage der Woche (es kann Kryptowährungshandel am Samstag und Sonntag geben), bis zu 10 Sitzungen pro Tag. Dann können Sie in OnTick() Überprüfungen durchführen, und wenn ein Tick außerhalb der Handelssitzung kam, können Sie die weitere Verarbeitung davon beenden.
Beispiel für die Verwendung:
//+------------------------------------------------------------------+ //|testControl_Trade_Sessions.mq5 | //+------------------------------------------------------------------+ // #define LoadSessionFromInputs // Lesen von Sitzungen aus Eingaben #include <Forester\Control_Trade_Sessions.mqh> // Verbindung des Codes für die Steuerung der Handelssitzung int OnInit() { return(INIT_SUCCEEDED); } void OnTick() { static TRADE_SESSIONS TradeSession(_Symbol);// Ermittelt die Eröffnungs- und Schließungszeiten des Marktes und speichert sie in Arrays nach Wochentagen. Wird einmal beim Starten des Expert Advisors aufgerufen (siehe Statik). if(!TradeSession.isSessionTrade(TimeCurrent())){Print("Market closed. OnTick return"); return;} // Ihre Handlungen }
Das Ergebnis ist ein Ausdruck wie dieser:
2022.01.10 00:05:00 Day: 0 Trade sessions: 1: 00:00-00:00 - это воскресенье
2022.01.10 00:05:00 Day: 1 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 2 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 3 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 4 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 5 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 6 Trade sessions: 1: 00:00-00:00
2022.05.30 00:05:00 Market closed. OnTick return
2022.05.30 00:05:01 Market closed. OnTick return
...
2022.05.30 00:14:36 Market closed. OnTick return
2022.05.30 00:14:40 Market closed. OnTick return
2022.05.30 23:55:00 Market closed. OnTick return
2022.05.30 23:55:00 Market closed. OnTick return
...
2022.05.30 23:59:30 Market closed. OnTick return
2022.05.31 00:00:01 Market closed. OnTick return
...
Neue MQL5-Funktionen werden verwendet, um die Handelssitzung für jeden Tag, einschließlich der Wochenenden, zu lesen.
Arbeitet so schnell wie möglich, es wird nur 1 Prüfung für jeden Tick innerhalb der Handelssitzung durchgeführt:
.
if(time < this.NextTradeStop ) { return true; }Dabei ist NextTradeStop die Endzeit der aktuellen Handelssitzung.
Bei jedem Tick außerhalb der Börsensitzung wird ebenfalls 1 Prüfung durchgeführt:
if(time < this.NextTradeStart ) { return false; }Nur beim Übergang zwischen den Sitzungen wird auf die Arrays zugegriffen, um die Zeit der nächsten Sitzung zu ermitteln.
Auf meinem DC dauert die Handelssitzung beispielsweise von 00:15 bis 23:55. Mit dem ersten Tick nach 00:15 wird NextTradeStop auf 23:55 gesetzt und dann wird den ganzen Tag lang nur diese Bedingung geprüft.
Ihre Handelssitzungen
Sie können die Zeit der Handelssitzungen auch manuell festlegen. Um diese Option zu aktivieren, fügen Sie die Zeile
hinzu.
#define LoadSessionFromInputs // Sitzungen aus Eingaben lesen
Es werden 7 Eingänge für die Eingabe von Handelssitzungen nach Wochentagen erstellt.
Geben Sie die Sitzungszeiten ohne Leerzeichen ein, ausschließlich mit : - und ,
In der Registerkarte Parameter sieht das so aus:

Und so wird es im Protokoll ausgegeben:
TradeSessionsTuesday=00:15-23:55
TradeSessionsWednesday=00:10-17:45,17:55-23:00,23:05-23:55
TradeSessionsThursday=00:15-17:45,17:55-23:55
TradeSessionsFriday=00:15-23:55
TradeSessionsSaturday=00:15-23:55
TradeSessionsSunday=
EURUSD : echte Ticks beginnen ab 2022.05.10 00:00:00, jede Tick-Generierung verwendet
2022.01.10 00:05:00 Tag: 1 Handelssitzungen: 1: 00:15-17:45, 2: 17:55-23:55
2022.01.10 00:05:00 Tag: 2 Handelssitzungen: 1: 00:15-23:55
2022.01.10 00:05:00 Tag: 3 Handelssitzungen: 1: 00:10-17:45, 2: 17:55-23:00, 3: 23:05-23:55
2022.01.10 00:05:00 Tag: 4 Handelssitzungen: 1: 00:15-17:45, 2: 17:55-23:55
2022.01.10 00:05:00 Tag: 5 Handelssitzungen: 1: 00:15-23:55
2022.01.10 00:05:00 Tag: 6 Handelssitzungen: 1: 00:15-23:55
2022.01.10 00:05:00 Markt geschlossen. OnTick Rückgabe
...
Wenn die Endzeit der Sitzung kürzer ist als die Startzeit, z. B. 20:00-8:00, dann wird die Sitzung bis 8:00 des nächsten Tages fortgesetzt. Dies kann nützlich sein, wenn die Handelssitzung in einer anderen Zeitzone liegt als die Serverzeit.
Die Zeit der Handelssitzungen kann auch im Code ohne Eingaben angegeben werden. Zu diesem Zweck wurde die Funktion LoadFromInputs() geschaffen. Sie kann ohne Inputs, sondern direkt aus dem Code mit einem String-Array aufgerufen werden, wie im Beispiel.
string s=["00:15-17:45,17:55-23:55","00:00-24:00",....] void LoadFromInputs(string &s[]){...}
Wenn der Expert Advisor mehrwährungsfähig ist und verschiedene Instrumente unterschiedliche Handelssitzungszeiten haben, können Sie eine separate Instanz von TRADE_SESSIONS für jedes Instrument erstellen und LoadFromInputs() mit Sitzungsdaten aufrufen und isSessionTrade() überprüfen. Zu diesem Zweck müssen Sie den Code ähnlich wie in diesem Beispiel ändern.
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/48059
Candle Fitness
Das Candlestick-Fitness-Konzept wird bei der Codierung von HFT-Algos auf der Grundlage von Populationsoptimierungsalgorithmen verwendet.
PHSB-Screener
Dieser Screener wurde entwickelt, um den Prozess der Suche nach Vermögenswerten, die zu vergünstigten Preisen gehandelt werden, zu vereinfachen. Die anfängliche Nutzung kann aufgrund des Ladevorgangs der Daten für alle ausgewählten Instrumente etwas länger dauern. Das Tool kann alle verfügbaren Broker-Assets scannen oder auf bestimmte Assetklassen beschränkt werden.
Moving Averages-14 different types
Dies ist ein Indikator zur Berechnung von 14 Arten von gleitenden Durchschnitten auf Basis des Schlusskurses.
Confluence Index Stoch+RSI+MACD
MULTI TF Confluence Index Stoch+RSI+MACD