Подсчет ордеров. Где я не прав?

 
Вот функция, которая считает отложенные.

bool AllPresent() {

     BuyStopCnt = 0;
     BuyLimitCnt = 0;
     SellStopCnt = 0;
     SellLimitCnt = 0;
     for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)
         {
          OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
          if ((OrderSymbol() == Symbol()) && (OrderTicket() > LastLock) && (OrderType() > 1))
             {
              switch (OrderType())
                  {
                   case 2: BuyLimitCnt++;
                           break;
                   case 3: SellLimitCnt++;
                           break;
                   case 4: BuyStopCnt++;
                           break;
                   case 5: SellStopCnt++;
                           break;
                   default: continue;
                  }
             }
         }
     Print ("BuyStopCnt==",BuyStopCnt,"  BuyLimitCnt==",BuyLimitCnt,"  SellStopCnt==",SellStopCnt,"  SellLimitCnt==",SellLimitCnt);
     if ((BuyStopCnt==0) || (BuyLimitCnt==0) || (SellStopCnt==0) || (SellLimitCnt==0)) {return(false);}
     else {return(true);}
} 



Подскажите, почему, пока я не добавил проверку && (OrderType() > 1), у меня

case 3: SellLimitCnt++;

прибавляет к СелЛимиту все BUY и SELL??

 
уберите continue. нынешний кодогенератор неправильно обрабатывает continue внутри свитча. RickD уже указал нам на эту ошибку. пожалуйста, подождите следующего билда
 
уберите continue. нынешний кодогенератор неправильно обрабатывает continue внутри свитча. RickD уже указал нам на эту ошибку. пожалуйста, подождите следующего билда

Спасибо за сведения.
 
уберите continue. нынешний кодогенератор неправильно обрабатывает continue внутри свитча. RickD уже указал нам на эту ошибку. пожалуйста, подождите следующего билда


Спасибо.
Причина обращения: