Вот советник, ребята подскажите почему сделки шорт закрываються на следующем баре !!!!!!!!!!!!!!!? то есть условие на закрытие ордеров шорт не функционирует

 

     if(Volume[0]>1) return; // Только что отрытый бар

  for(cnt=0;cnt<total;cnt++)
--------------------порезано-----------------
         if(OrderType()==OP_BUY)  
          // long position is opened
           {
                 if(DigFil < DigFil1 && DigFil1 > DigFil2 && DigFil2 > DigFil3 )// && Close[1]>Close[2] DigFil < DigFil1
--------------------порезано-----------------
          else // go to short position
           if(OrderType()==OP_SELL)         
            // should it be closed?

            if(Low[0]>DigFilOpen0)// maC11Short > maC12Short &&  maC12Short < maC13Short   // Low[0] при Volume[0]  ????

--------------------порезано-----------------
Функции обработки ордеров должны быть одинаковыми, но в противоположные стороны, а здесь разные методы.