MT4测试EA时平仓错误3,参量无效。啥情况?求解。

 

在一个账户上测试EA,顺利执行测试。而在另一个账户上测试时,出现平仓失败提示。错误代码3。(参量无效)

感觉好奇怪。开仓都没错,都是有效参量 ,平仓时OrderSelect()选定后使用系统函数OrderTicket(),OrderLots(),OrderClosePrice()调用的参量反而是无效参量了…………怀疑数据问题,数据中心依次刷新了下数据,可问题依旧。

 
报错信息和错误码贴出来看看
 
AM Markets外汇平台总部招商
高返佣,低点差,欧美21返15-17,黄金32-40返25-27,原油36返18-20,比特币32返15-17,交易无限制,平仓即返,出金2-5小时。(QQ648993549)
 
Wen Tao Xiong:
报错信息和错误码贴出来看看

OrderClose error 3

并且,1、在另一个账户上测试完全通过,从头到毛全过程测试完毕。

2、本账户测试时出现的平仓失败也不是固定在某个时点,似乎是随机(意思是:这次测试时出现在某个时点,再次测试时,就不是这个时点了,有时会提前出现,有时又顺利通过,在以后的某个时点出现同样错误)

3、将 OrderClosePrice() 改为按类型使用Ask或Bid(使用此会值前也刷新了一下价格),问题依旧;

4、将滑点默认的3放大到50,也出现同样的错误。

 
Lin Luo:

OrderClose error 3

并且,1、在另一个账户上测试完全通过,从头到毛全过程测试完毕。

2、本账户测试时出现的平仓失败也不是固定在某个时点,似乎是随机(意思是:这次测试时出现在某个时点,再次测试时,就不是这个时点了,有时会提前出现,有时又顺利通过,在以后的某个时点出现同样错误)

3、将 OrderClosePrice() 改为按类型使用Ask或Bid(使用此会值前也刷新了一下价格),问题依旧;

4、将滑点默认的3放大到50,也出现同样的错误。

    if(OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),50,clrSandyBrown)==false)

                 {

                  Print("OrderClose failed with error #",GetLastError());

                 }

1,先对比一下正常的参数格式,如果正确,可以排除参数问题,

2,考虑特别情况处理,如跳空平仓,隔周平仓,k线数据错误平仓,等等特殊情况下的平仓处理效果

3,平台是否有什么限制,如手数计算,冻结水平,stop level 等的限制,对平仓的影响

4,mt4的bug,这种情况可能性很小

个人建议重点排查2,3情况,如出现平仓错误时候,结合当时的K线排列查验是否有影响或是否符合逻辑等

错误代码只是参考,不一定是参数问题
原因: