Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Telegram !
Rejoignez notre page de fans
Rejoignez notre page de fans
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
- Vues:
- 3666
- Note:
- Publié:
- 2015.01.28 15:29
- Mise à jour:
- 2016.11.22 07:32
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Checking a date for belonging to winter or summer time. The function determines time (summer or winter).
Shift to winter time is made at night of the last October Sunday, and shift to summer time is made at night of the last Sunday of March.
There is not more reliable way of figuring summer and winter time.
The code was developed for news debugging.
// // The algorithm was improved on 2014.10.09 // // YURAZ yzh@mail.ru // function determines summer or winter time // shift to winter time is made at night of the last October Sunday // and shift to summer time is made at night of the last Sunday of March // there is not more reliable way of figuring summer and winter time // return 0 - summer time // return 1 - winter time // 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) // SUMMER { code=0; } datetime tSeek; MqlDateTime dtf; if(dt.mon==10) // October { if(dt.day<25) // night of the last October Sunday - shift to winter time code=0; // still summer else { TimeToStruct(pdt,dtf); tSeek=StringToTime(IntegerToString(dtf.year)+".10.31 02:00"); // set the last October day TimeToStruct(tSeek,dtf); for(int i=31; i>=25; i--) { if(dtf.day_of_week==0 ) // Necessary to find the night from Saturday to Sunday break; tSeek=tSeek-86400; // ( FIND exactly 2 o'clock in the morning i.e. the shift itself has no sense as Forex is closed from Saturday to Sunday ) TimeToStruct(tSeek,dtf); } if(pdt<tSeek) { code=0; // summer } else code=1; // winter } } if(dt.mon==3) // March { if(dt.day<25) // night of the last Sunday of March - shift to summer time code=1; // still winter else { TimeToStruct(pdt,dtf); tSeek=StringToTime(IntegerToString(dtf.day_of_year)+".03.31 03:00"); // set the last day of March for(int i=31; i>=25; i--) { if(dtf.day_of_week==0 ) // Necessary to find the night from Saturday to Sunday break; tSeek=tSeek-86400; // ( FIND exactly 3 o'clock in the morning i.e. the shift itself has no sense as Forex is closed from Saturday to Sunday ) TimeToStruct(tSeek,dtf); } if(pdt>tSeek) { code=0; // summer } else code=1; // winter } } return( code); }
Traduit du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/11932
![Trading Signals Module Based on Delta ZigZag Indicator](https://c.mql5.com/i/code/library.png)
Trading signals module based on Delta ZigZag indicator.
![Trailing Stop Module Based on Delta ZigZag](https://c.mql5.com/i/code/library.png)
The module for tracking open positions based on Delta ZigZag for MQL5 Wizard.
![Margin Calculation](https://c.mql5.com/i/code/library.png)
Library for calculation of a margin required for opening a position in MetaТrader 5.
![Mutex - WinAPI](https://c.mql5.com/i/code/library.png)
Synchronize ОС/EA/MT processes etc. Any self-made DLLs are not needed now.