在mql5中怎么判断 当前是夏令时 还是 冬令时?谢谢。

 
谢谢,如题。
 

没有现成的.需要自己实现.

使用MqlDateTime数据类型,考虑.mon .day对应.day_of_week的所有可能性.

10行左右代码.

 
TimeDaylightSaving

返回以秒为单位的正确时间,转变成夏季时间,取决于电脑上的时间设置。



int  TimeDaylightSavings();
 

返回值

如果转换成冬季(标准的)时间,返回0
 

对于大部分外汇交易商, 有一个方法是取TimeCurrent()和TimeGMT()的值进行比较, 差5个小时现在就是冬令时,差4个小时就是夏令时. 

此方法不适合LMAX等外汇交易商的时区设置.

还有本身就是采用UTC/GMT时区的有些期货/股票交易商, 都是要自己代码实现来判断当前是否处于夏令时.

MQL5和本地时间相关的几个时间函数最好都不要用,有一定危险. 尤其是运行Linux的VPS上,时区设置可能在重启后改变.

 
好的,谢谢大家。
原因: