发现很难发送订单。

 

我一直收到 "无效交易量 "的错误,账户余额 为10 000,手数为0.07。

这是我的代码,我认为这可能不是成交量的问题。

MqlTradeResult StageOneBuyRes={0};
MqlTradeRequest StageOneBuy={0};

StageOneBuy.action=TRADE_ACTION_DEAL;  
StageOneBuy.magic=MagicNumber;  
StageOneBuy.symbol=_Symbol;            // symbol
StageOneBuy.volume=Lot;
StageOneBuy.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
StageOneBuy.sl=0;                  // Stop Loss is not specified
StageOneBuy.tp=0;                 // Take Profit is not specified 
StageOneBuy.deviation =7;  
StageOneBuy.type=ORDER_TYPE_BUY; // order type
StageOneBuy.type_filling = ORDER_FILLING_FOK;
StageOneBuy.comment = "test";
 

MqlTradeResult StageOneSellRes={1};
MqlTradeRequest StageOneSell={1};

StageOneSell.action=TRADE_ACTION_DEAL;  
StageOneSell.magic=MagicNumber;  
StageOneSell.symbol=_Symbol;            // symbol
StageOneSell.volume=Lot;
StageOneSell.price=SymbolInfoDouble(_Symbol,SYMBOL_BID);
StageOneSell.sl=0;                  // Stop Loss is not specified
StageOneSell.tp=0;                 // Take Profit is not specified 
StageOneSell.deviation =7;  
StageOneSell.type=ORDER_TYPE_SELL; // order type
StageOneSell.type_filling = ORDER_FILLING_FOK;
StageOneSell.comment = "test";
 
MetaNt:

我一直收到 "无效交易量 "的错误,账户余额 为10 000,手数为0.07。

这是我的代码,我认为这可能不是成交量的问题。

你的经纪人对这个符号允许的最小交易量是多少?
 
angevoyageur:
你的经纪人允许这个符号的最小交易量是多少?
0.01.
 
MetaNt:

我一直收到 "无效交易量 "的错误,账户余额 为10 000,手数为0.07。

这是我的代码,我认为这可能不是成交量的问题。

我的EA也有类似的问题(得到同样的错误)。交易量低于我的经纪人允许的最小交易量,或者增量/步长太小。

(检查你的经纪人的最小交易量,也许最小交易量或增量/步长比你的0.07大)"已经完成"

变量 "Lot "是双倍类型的吗?

 
snelle_moda:

我的EA也有类似的问题(得到同样的错误)。交易量低于我的经纪商允许的最小交易量,或者增量/步长太小。

检查你的经纪人的最小交易量,也许最小交易量或增量/步长比你的0.07要大。

变量 "Lot "是双倍类型的吗?

它是双倍类型,我没有设置增量。

我之前尝试使用1作为订单手数的值,看看它是否能工作,但错误仍然存在,我现在会尝试使用10。

 
这并不奏效。
 

使用

ZeroMemory(StageOneBuy);

ZeroMemory(StageOneSell)。


在你填写请求和发送订单之前。

 
snelle_moda:

使用

ZeroMemory(StageOneBuy);

ZeroMemory(StageOneSell)。


在你填写请求和发送订单之前。

已经用{0}完成了。完全一样。
 
angevoyageur:
已经用{0}做了。完全一样。
最初两个都是0,但我把卖出的那个改成了1,看是否能解决这个问题,这就是为什么在我发布的代码中说是1。
 
MetaNt:
最初两个都是0,但我把卖出的那个改为1,看是否能解决问题,这就是为什么我发布的代码中写着1。
另外,当我运行打印程序以获得错误代码 时,我得到的是错误代码4756,这是一个无效的输入错误,所以它没有什么帮助。
 
有什么建议吗?
原因: