冷清3.5

关于EA开仓时间窗口控制,这篇可能最接地气

XM 推荐平台

覆盖品种全,新手友好,支持多种入金方式

CySEC(塞浦路斯) / ASIC(澳洲) / IFSC(伯利兹) · 最低入金 $5
zhangshuang6295
zhangshuang6295 楼主
1 小时前 15 1 1分钟 Lv.3 资深汇友 Lv.3 主题1 帖数1 积分887 汇币536
1楼
说到时间窗口控制,我先算一笔返佣账。一个中等频率的EA,假设每天开平仓20次,每次0.5手欧美,点差1.2,返佣按每手8刀算,一天下来就是20*0.5*8=80刀的返佣。但如果你把交易限制在流动性最好的时段,比如伦敦开盘到纽约午盘,滑点平均能减少0.3个点,一个月按22个交易日算,光滑点节省就是20*0.5*0.3*10*22=660刀——这还没算那些因为避开低流动性时段而躲掉的异常止损。所以时间窗口不是锦上添花,是实打实的利润。
我最早用MT4自带的TimeHour()函数做限制,写的是if(Hour()>=8 && Hour()<=22)这种,看起来没问题吧?结果跑了一个月,发现凌晨两点偶尔还是会开仓。查了半天日志才明白,这个Hour()取的是服务器时间,而我的VPS在美东,经纪商服务器在伦敦,夏令时冬令时一换算,我的“晚上8点”其实是服务器凌晨2点。后来我改成用TimeCurrent()配合TimeToStruct()解析,再统一转成自己定义的“交易时区”,才算彻底解决。

  • 第一步,先确定你想要的核心交易时段。比如我做镑美,只做伦敦开盘(北京时间15:00)到纽约午盘(北京时间24:00),这段流动性最好,点差最稳定。
  • 第二步,写窗口判断函数。别直接用Hour(),用TimeToStruct(TimeCurrent())取小时,然后加一个时区偏移常量。我的做法是在EA参数里加一个“ServerGMTOffset”的输入项,手动填服务器和本地的时差,比如我VPS用UTC,服务器是GMT+2,那偏移就是-2。
  • 第三步,开仓条件里必须加一个StartTime和EndTime的双重判断,注意跨日的情况。比如你要做22:00到02:00这个夜盘窗口,直接写Hour()>=22 && Hour()<=2是永远不成立的,必须拆成两个条件:一个是Hour()>=22,另一个是Hour()<2,用OR连接。

踩过最大的坑是回测和实盘的“时间错位”。MT4策略测试器里默认用的是服务器时间,但你在图表上看到的K线时间轴可能是经纪商给你调过偏移的。我有个EA在回测里明明严格遵守了窗口,实盘却频繁在窗口外开仓。后来对比了测试报告和实盘日志,发现测试器里的BarStartTime是服务器时间,而我实盘VPS上的Docker容器时区是UTC+8,EA里拿到的Hour()又变成了容器时间。一个EA三个时间基准,不乱才怪。
我的解决办法是彻底抛弃系统时间,直接用 iTime(NULL, PERIOD_H1, 0)取当前K线的开盘时间,然后换算成UTC再做窗口判断。这样无论VPS在哪个时区,还是经纪商服务器在哪个时区,只要K线时间轴是统一的,逻辑就一致。另外,节假日和夏令时切换日必须特殊处理,我建议在EA里加一个“禁止交易日期表”,把每年三月和十月的最后一个周日前后两天都手动填进去,因为那些日子流动性异常,即使时间窗口内也容易出幺蛾子。
最后说个细节:窗口判断最好放在一切开仓条件的最前面,用“早退机制”减少不必要的计算。我见过很多人把时间判断放在再说前面跑了一堆指标计算,结果发现时间不对直接return,纯粹浪费CPU,VPS负载高了还容易造成延迟。而且注意,平仓也要设时间窗口,别只限制开仓。我有一次只限制了开仓,结果EA在凌晨三点流动性枯竭的时候平了一单,滑了4个点,把当天利润吃回去一半。
顺便问一句,你们做多品种对冲的时候,时间窗口是怎么统一协调的?我最近想加一个US30的跨品种套利进去,但美股盘前盘后流动性太差,正在纠结要不要单独给这个品种设一套独立的窗口参数。有人搞过类似的吗?
0 回复 复制 众裁0
#1
南城
南城 #2· 1 小时前
1 小时前
2楼
说到时间窗口控制,你算的返佣账很实在,我也有同感。但TimeHour()写条件时容易犯边界错,我之前就吃过亏,比如Hour()>=22却漏了等于0的情况,建议用>=和<组合更稳。
回复 复制 众裁0
1 小时前 #2
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。汇友之家合作的各家经纪商均为持有正规外汇牌照的经纪商,我们不参与经纪商的任何经营活动。经纪商在经营过程中可能出现破产清算、资不抵债、跑路或躲避责任等情况,这些问题汇友之家无法控制,亦不承诺任何经纪商资金的绝对安全。请知悉!
← 上一帖 好的交易是从无聊开始的 下一帖 → EA跑了半年收益和回撤复盘,从亏损到盈利我做对了什么