折腾了一下午了,实在有点想不通,来请教下各位老哥。我最近在MT4上跑一个EA,策略其实不算复杂,就是基于布林带和RSI的突破系统,回测数据看着还行。但一挂到实盘上(用的IC Markets的Raw Spread账户,点差0.0起),问题就来了:EA明明触发了开仓条件,但订单就是报错,显示 无效的价格请求 或者 市场关闭 之类的信息。
我一开始以为是我VPS延迟或者网络问题,换了个香港的VPS,延迟降到10ms以内,结果还是老样子。后来我又检查了EA里的滑点设置,从默认的20改到50,甚至100,都没用。我还特意去看了交易品种的合约规格,确认了最小交易量是0.01手,也没超限。服务器时间我也对过了,跟经纪商官网一致。
最让我困惑的是,有些时候它又能成交,但大部分时候就是报错,感觉像是随机性的。是不是我的EA在调用OrderSend函数时,参数里某个细节没写对?比如开仓价格计算方式,或者止损止盈的设定逻辑有冲突?我怀疑是MT4的报价更新频率跟EA执行速度不匹配,但具体怎么修完全没头绪。
有没有大神遇到过类似问题?或者有没有什么调试工具能记录下EA每一步的日志,让我看看是哪一步卡住了?求指点,先谢过了!
我一开始以为是我VPS延迟或者网络问题,换了个香港的VPS,延迟降到10ms以内,结果还是老样子。后来我又检查了EA里的滑点设置,从默认的20改到50,甚至100,都没用。我还特意去看了交易品种的合约规格,确认了最小交易量是0.01手,也没超限。服务器时间我也对过了,跟经纪商官网一致。
最让我困惑的是,有些时候它又能成交,但大部分时候就是报错,感觉像是随机性的。是不是我的EA在调用OrderSend函数时,参数里某个细节没写对?比如开仓价格计算方式,或者止损止盈的设定逻辑有冲突?我怀疑是MT4的报价更新频率跟EA执行速度不匹配,但具体怎么修完全没头绪。
有没有大神遇到过类似问题?或者有没有什么调试工具能记录下EA每一步的日志,让我看看是哪一步卡住了?求指点,先谢过了!