新手小白求助平仓脚本为什么平不了单

 
void OnStart()
  {
//---

   bool bOrderClose;
   
   for (int i=OrdersTotal(); i>=0; i--)
   {
   
      if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      
      if ( OrderSymbol() == Symbol() && OrderType() == OP_BUY ) 
          bOrderClose = OrderClose(OrderTicket(),OrderLots(), Bid, 500);
          
      if ( OrderSymbol() == Symbol() && OrderType() == OP_SELL ) 
          bOrderClose = OrderClose(OrderTicket(),OrderLots(), Ask, 500);    
          
      RefreshRates();    
   }

 
ggcsky:
void OnStart()
  {
//---

   bool bOrderClose;
   
   for (int i=OrdersTotal(); i>=0; i--)
   {
   
      if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      
      if ( OrderSymbol() == Symbol() && OrderType() == OP_BUY ) 
          bOrderClose = OrderClose(OrderTicket(),OrderLots(), Bid, 500);
          
      if ( OrderSymbol() == Symbol() && OrderType() == OP_SELL ) 
          bOrderClose = OrderClose(OrderTicket(),OrderLots(), Ask, 500);    
          
      RefreshRates();    
   }

 i=OrdersTotal() 改为i=OrdersTotal()-1。 应该是你疏忽大意了。
原因: