您好!EA验证时,为什么总是出现交易量无效这个错误?

 

1,出现以下情况下,我初始以为是单量0.01太小,于是将单量改为0.1,依然出现这个提示,无法通过验证。

 2022.04.01 12:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 12:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 20:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 20:00:00  FZ EURUSD,H1: OrderSend error 131
there are no trading operations   


2,我根据提示,特意申请 MetaQuotes-Demo 服务器测试账户,对EA进行测试,但是没有遇到这个情况。如图:


3,请问如何解决以上问题,最终通过验证

 
Xiong Wu Ceng:

1,出现以下情况下,我初始以为是单量0.01太小,于是将单量改为0.1,依然出现这个提示,无法通过验证。

 2022.04.01 12:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 12:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 20:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 20:00:00  FZ EURUSD,H1: OrderSend error 131
there are no trading operations   


2,我根据提示,特意申请 MetaQuotes-Demo 服务器测试账户,对EA进行测试,但是没有遇到这个情况。如图:


3,请问如何解决以上问题,最终通过验证

这个错误131提示的是违背一对分支,没见过,这个是发送订单出现错误,可以先尝试使用标准交易类库的下单函数看看是否可以正常下单,交易量错误不是这个提示。
 

您好!很高兴收到您的回复!

这个是MT4 EA,请问你说的分支是?

 
Xiong Wu Ceng #:

您好!很高兴收到您的回复!

这个是MT4 EA,请问你说的分支是?

我以为是MT5,那你在菜单里找到市场报价,在市场报价里找到对应的货币对,右击鼠标,找到规格,规格里可以看到货币对的最小交易量和最小步进,看看是不是都是0.01,不是每个交易商的最小交易量都是0.01起步的,另外,还要把仓位交易量的数据类型定义为double类型,不能定义成int。
 
Xiong Wu Ceng:

1,出现以下情况下,我初始以为是单量0.01太小,于是将单量改为0.1,依然出现这个提示,无法通过验证。

 2022.04.01 12:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 12:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 20:00:00  FZ EURUSD,H1: OrderSend error 131
 2022.04.01 20:00:00  FZ EURUSD,H1: OrderSend error 131
there are no trading operations   


2,我根据提示,特意申请 MetaQuotes-Demo 服务器测试账户,对EA进行测试,但是没有遇到这个情况。如图:


3,请问如何解决以上问题,最终通过验证

得看到你計算手數的函數是怎麼寫的才有辦法做判斷。

 
想在市场卖EA是吧,这个自动检测就是一个神经病患者,有问题有限制的检查不出来,没问题就胡说你有这个问题那个问题,是这样的,只能胡乱改改默认参数,多试几次,我都是这么干的才过。甚至有一次是把默认参数里的下单手数从0.1改0.01就过了,就这么奇葩
 
这是你发送的手数没有进行规范化操作。应在Send()之前,先将手数规范为该货币对的手数的小数位数。