顺手写了个交易时段过滤函数 跑EA的老哥自取
之前跑趋势EA老是在亚盘被来回打脸,点差又大信号又乱,干脆加了个时间窗过滤,只让它在伦敦纽约重叠那几个小时开单,回测下来回撤直接掉了一截,函数很短就是判断当前服务器小时数在不在8到16之间,各家broker服务器时间不一样,有的是GMT+2有的是GMT+3,自己对照着调一下参数就行,放在OnInit或者OnTick开头先判断一下,不在窗口里直接return,省下半夜挂单被点差吃的亏,用得上的老哥复制走就行,我这边欧盘那套已经跑了快两周没出过幺蛾子,周末这种休市天就别开了,周一到周五白天开着刚好,code在下面
// 只在伦敦+纽约重叠时段开单 (北京时间 15:00-23:00)
bool IsTradingWindow()
{
MqlDateTime dt;
TimeToStruct(TimeCurrent(), dt);
// broker server time 通常是 GMT+2/+3, 按自己broker调
int h = dt.hour;
return (h >= 8 && h <= 16);
}全部回复(2)
发表回复
请先登录后再回复。
