EA平仓时为何总出现4051错误!

 

问题: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.

请指教!