先说下情况吧,我那个EA在MT4回测里跑了近半年欧美1小时数据,最大回撤控制在8%以内,胜率也稳定在62%左右,想着参数应该没啥大问题了。结果上周挂到实盘VPS上,才跑了一天半,就频繁弹OrderModify错误130,单子要么改不了止损要么平不了仓,直接卡到浮亏扩大,人都麻了。
我一开始以为是VPS网络延迟导致的,毕竟用的是伦敦的服务器,ping在30ms左右还算正常。后来把EA换成低延迟模式,也检查了经纪商的执行类型是市价单,130错误在MT4文档里查了下,说是无效止损或止盈价格,但我回测里同样的止损距离明明没问题啊。更诡异的是,我手动开个模拟单去改止损,同样的价位却能成功,这就让我怀疑是不是EA代码里取价格的方式在实盘环境有偏差。
目前我尝试过的方法:
但问题还是间歇性出现,尤其是行情波动快的时候特别频繁。有没有汇友遇到过类似情况?是经纪商那边的报价跳动导致的价格校验问题,还是我代码里对价格规范化的处理有漏洞?真心求指点,这个问题已经困扰我快两周了,回测和实盘差距这么大,实在有点扛不住。🙏
我一开始以为是VPS网络延迟导致的,毕竟用的是伦敦的服务器,ping在30ms左右还算正常。后来把EA换成低延迟模式,也检查了经纪商的执行类型是市价单,130错误在MT4文档里查了下,说是无效止损或止盈价格,但我回测里同样的止损距离明明没问题啊。更诡异的是,我手动开个模拟单去改止损,同样的价位却能成功,这就让我怀疑是不是EA代码里取价格的方式在实盘环境有偏差。
目前我尝试过的方法:
- 把OrderModify里的价格参数改成用Bid/Ask实时刷新,而不是用开仓时的价格;
- 检查了经纪商的止损最小距离限制,发现是0,应该不是这个问题;
- 在EA里加了Print输出,看到报错时止损价和当前价差只有2个点,按理说没到最小限制;
但问题还是间歇性出现,尤其是行情波动快的时候特别频繁。有没有汇友遇到过类似情况?是经纪商那边的报价跳动导致的价格校验问题,还是我代码里对价格规范化的处理有漏洞?真心求指点,这个问题已经困扰我快两周了,回测和实盘差距这么大,实在有点扛不住。🙏
