说实话这个问题真的快把我搞疯了。我的EA在MT4回测里跑得好好的,一挂到VPS上实盘就出幺蛾子,连续三天了,单子莫名其妙不进场,日志里就一行 order send error 138(应该是报价过期?),但我明明设了滑点啊,最大滑点都放到50点了,还是照样拒单。
我试过的方法:换过VPS(从美国换到英国伦敦的),重装过MT4客户端,也把EA里的 MarketInfo(Symbol(), MODE_SPREAD) 打印出来看,点差高峰也就2.8左右,并不夸张。还检查了服务器时间跟经纪商的时间偏差,同步的。但就是偶尔连续几分钟不下单,然后突然又正常了,完全抓不到规律。
另外还有个现象,挂单(pending order)倒是能正常触发,就是市价单有问题。我怀疑是不是EA里用了 OrderSend() 的时候,价格刷新频率不够?我目前是每次tick都调用的,但VPS上的网络延迟会不会导致tick丢包?有没有人遇到过类似情况?
有老哥能指点下排查方向吗?或者有没有推荐的MT4日志分析工具,我想看看具体是哪一步出的问题,真的不想再盲试了。🙏
我试过的方法:换过VPS(从美国换到英国伦敦的),重装过MT4客户端,也把EA里的 MarketInfo(Symbol(), MODE_SPREAD) 打印出来看,点差高峰也就2.8左右,并不夸张。还检查了服务器时间跟经纪商的时间偏差,同步的。但就是偶尔连续几分钟不下单,然后突然又正常了,完全抓不到规律。
另外还有个现象,挂单(pending order)倒是能正常触发,就是市价单有问题。我怀疑是不是EA里用了 OrderSend() 的时候,价格刷新频率不够?我目前是每次tick都调用的,但VPS上的网络延迟会不会导致tick丢包?有没有人遇到过类似情况?
有老哥能指点下排查方向吗?或者有没有推荐的MT4日志分析工具,我想看看具体是哪一步出的问题,真的不想再盲试了。🙏
