诚信为本
量力而为
当前位置:ea编程网 EA知识 正文

EA测试中报错 OrderSend error 130 的原因及解决办法

部分从网上下载来的EA,可能是程序在较早的mt4环境中开发,测试时往往会出现 OrderSend error 130 的报错,本文就来简单说说,是什么原因造成 OrderSend error 130 报错,它具体是指什么错误,又该如何解决。

同样,我们查阅MQL4语言帮助文档,可以看到:130 ERR_INVALID_STOPS Invalid stops,中文的大概意思是止损错误,无效止损。简单的说法就是订单的止损数值设置有误。

对于这种报错,在测试环境中,它的日志显示 OrderSend error 130(如下图所示),而在实际交易中,它通往在发送交易指令返回错误时,终端日志窗口显示………….[Invalid S/L or T/P],是指某个订单开仓不成功的原因是因为它的止损或者止盈数值无效。

EA测试中报错 OrderSend error 130

既然明白了报错的原因,那我们就应当来解决问题。在mt4平台上,有个止损水平参数,或者叫止损位,它是指设置订单止损离当前价格的最小距离,我们可以在市场报价窗口对应品种上面鼠标右键,并选择规则,在弹出来的该品种的合约细则窗口,即可看到止损位参数,如上图所示,比如欧元兑美元EURUSD的止损位为10,就表示设置止损的最小距离要离市价上下10点。

不同平台,或者同一平台的不同品种,止损位标准往往是不一定相同的。所以在测试或使用EA中,如果出现OrderSend error 130 报错或[Invalid S/L or T/P]的报错,导致无法正常测试或交易。那么按上面图片说明,先查看一下该品种的止损位大小,然后在EA中找到止损StopLoss参数,调整止损大小试试看能不能解决问题。

未经允许不得转载:ea编程网 » EA测试中报错 OrderSend error 130 的原因及解决办法