- 显示:
- 3306
- 等级:
- 已发布:
- 2008.12.05 08:01
- 已更新:
- 2016.03.29 08:51
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
///////////////////////////////////////////////////////////// // // YURAZ yzh mail ru // // 函数将返回 // true - 夏令时 // false - 冬令时 // // 在十月的最后一个星期日夜晚转换 // 在三月的最后一个星期日夜晚转换 // bool TimeWinter(datetime dt) { int i; if ( TimeMonth(dt) >= 11 || TimeMonth(dt) <= 2 ) // 冬季 { return(false); // 冬天 } if ( TimeMonth(dt) >= 4 && TimeMonth(dt) <= 9) // 夏季 { return(true); // 夏天 } // 我们来明确时间 datetime tSeek; string sTIM; if ( TimeMonth(dt) == 10 ) // 十月 { if ( TimeDay(dt) >= 20 ) // 十月的最后一个星期日夜晚 - 转换冬令时 { tSeek = StrToTime( StringTrimRight(StringTrimLeft(DoubleToStr(TimeYear(dt),0)))+".10.31"); // 确定十月的最后一天 // 从最后搜索第一个星期日 for ( i = 31; i >= 20; i-- ) { if ( TimeDayOfWeek(tSeek) == 0 ) { break; // 找到十月的最后一个星期日 } tSeek = tSeek - 86400; // 还有一天 } if ( dt >= tSeek ) // 已经冬令时 { return(false); // 确定冬天 } } return(true); } if ( TimeMonth(dt) == 3 ) // 三月 { if ( TimeDay(dt) >= 20 ) // 在三月的最后一个星期日夜晚- 转换夏令时 { tSeek = StrToTime( StringTrimRight(StringTrimLeft(DoubleToStr(TimeYear(dt),0)))+".03.31"); // 确定三月的最后一天 for ( i = 31; i >= 20; i-- ) { if ( TimeDayOfWeek(tSeek) == 0 ) //从最后搜索第一个星期日 { break; // 找到三月的最后一个星期日 } tSeek = tSeek - 86400; // 还有一天 } if ( dt >= tSeek ) // 已经夏令时 { return(true); // 确定夏天 } } return(false); } }
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/7357