Join our fan page
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
YZ_Summer_Time - Bibliothek für den MetaTrader 5
- Ansichten:
- 671
- Rating:
- Veröffentlicht:
- 2016.08.02 17:18
- Aktualisiert:
- 2016.11.22 07:34
Prüfung eines Datums darauf, ob es zur Winter- oder Sommerzeit gehört. Die Funktion ermittelt die Zeit (Sommer oder Winter).
Die Verschiebung zur Winterzeit erfolgt am letzten Sonntag im Oktober und die Verschiebung zur Sommerzeit wird in der Nacht des letzten Sonntags im März vorgenommen.
Es gibt keinen zuverlässigeren Weg um Sommer- und Winterzeit zu bestimmen.
Der Code wurde für das Debuggen von Nachrichten entwickelt.
// // Der Algorithmus wurde am 2014.10.09 verbessert // // YURAZ yzh@mail.ru // Funktion bestimmt Sommer-oder Winterzeit // Verschiebung zur Winterzeit erfolgt am letzten Sonntag im Oktober // und Verschiebung zur Sommerzeit wird in der Nacht des letzten Sonntags im März vorgenommen // Es gibt keinen zuverlässigeren Weg um Sommer- und Winterzeit zu bestimmen. // return 0 - Sommerzeit // return 1 - Winterzeit // int YZ_summer_time(datetime pdt) { MqlDateTime dt; TimeToStruct(pdt,dt); int code=1; if(dt.mon>=11 || dt.mon<=2) // WINTER { code=1; } if(dt.mon>=4 && dt.mon<=9) // SOMMER { code=0; } datetime tSeek; MqlDateTime dtf; if(dt.mon==10) // Oktober { if(dt.day<25) // Nacht des letzten Sonntags im Oktober - Verschiebung zu Winterzeit code=0; // noch Sommer else { TimeToStruct(pdt,dtf); tSeek=StringToTime(IntegerToString(dtf.year)+".10.31 02:00"); // letzten Oktobertag einstellen TimeToStruct(tSeek,dtf); for(int i=31; i>=25; i--) { if(dtf.day_of_week==0 ) // Notwendig um die Nacht von Samstag auf Sonntag zu finden break; tSeek=tSeek-86400; // ( FINDE exakt 2 Uhr morgens d.h. die Verschiebung selbst hat keinen Sinn, da Forex von Samstag auf Sonntag geschlossen ist ) TimeToStruct(tSeek,dtf); } if(pdt<tSeek) { code=0; // Sommer } else code=1; // Winter } } if(dt.mon==3) // März { if(dt.day<25) // Nacht des letzten Sonntags im März - Verschiebung zur Sommerzeit code=1; // noch Winter else { TimeToStruct(pdt,dtf); tSeek=StringToTime(IntegerToString(dtf.day_of_year)+".03.31 03:00"); // letzten Tag des März einstellen for(int i=31; i>=25; i--) { if(dtf.day_of_week==0 ) // Notwendig um die Nacht von Samstag auf Sonntag zu finden break; tSeek=tSeek-86400; // ( FINDE exakt 3 Uhr morgens d.h. die Verschiebung selbst hat keinen Sinn, da Forex von Samstag auf Sonntag geschlossen ist ) TimeToStruct(tSeek,dtf); } if(pdt>tSeek) { code=0; // Sommer } else code=1; // Winter } } return( code); }
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/11932
Mehrere Charts mit einem Klick einstellen.
Apply TemplateEinfaches Skript um eine Vorlage (Template) und oder TimeFrame auf alle geöffneten Charts anzuwenden.
Skript um meine Vorlage auf alle geöffneten Charts anzuwenden.
Margin CalculationBibliothek für die Berechnung der notwendigen Margin für das Öffnen einer Position in MetaТrader 5.