wlown:
问题:EA平仓时为何总出现4051错误。
平仓模块程序如下:
// 关闭所有BUY订单void f_CloseBUY()
{
int ctn_i = -1;
int ti = 10;
int _GetLastError = 0;
while(true)
{
for(cnt = OrdersTotal();cnt >= 0;cnt--)
{
if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) continue;
if( (OrderSymbol() == Symbol()) && (OrderType() == OP_BUY) )
while(!OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Blue)); // slippage=10
_GetLastError = GetLastError(); // 获取错误信息
}
if(OrdersTotal()<=0) break;
ti--;
if( ti <= 0)
{
Print("平仓失败",_GetLastError); // 输出信息,2017-5-12
break;
}
}
return;
}
以往都能正确完成平仓动作。
最近几天,调用执行f_CloseBUY()时,不能正确完成平仓,错误代码为:4051.
请指教!
close前 输出 各参数 错误代码的时候才好检查
问题:EA平仓时为何总出现4051错误。
平仓模块程序如下:
// 关闭所有BUY订单void f_CloseBUY()
{
int ctn_i = -1;
int ti = 10;
int _GetLastError = 0;
while(true)
{
for(cnt = OrdersTotal();cnt >= 0;cnt--)
{
if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) continue;
if( (OrderSymbol() == Symbol()) && (OrderType() == OP_BUY) )
while(!OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Blue)); // slippage=10
_GetLastError = GetLastError(); // 获取错误信息
}
if(OrdersTotal()<=0) break;
ti--;
if( ti <= 0)
{
Print("平仓失败",_GetLastError); // 输出信息,2017-5-12
break;
}
}
return;
}
以往都能正确完成平仓动作。
最近几天,调用执行f_CloseBUY()时,不能正确完成平仓,错误代码为:4051.
请指教!