Условие открытия только одного ордера до срабатывания определённого условия.

 
Команда

int  OrdersTotal()==0; позволяет советнику открывать ордера снова и снова при указанных условиях, если предыдущий ордер закрылся. но требуется открытие только одного ордера от одного пересечения скользящих МА до следующего пересечения скользящих МА.

Подскажите пожалуйста команду открытия только одного ордера до смены условий.

Имеется код, но он позволяет открывать ордера при их закрытии в одних и тех же условиях:

if (OrdersTotal()==0 && ima1==ima2)
   { // если быстрая скользящая больше медленной скользящей
     if (ima1 <= ima2 && ima11 >= ima2) // открываем ордер на покупку
     OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,Ask-sl && Ask-ima2 ,Ask+tp,NULL,MagicNumber,0,clrBlue);
     // если быстрая скользящая меньше медленной скользящей
     else if (ima1 >= ima2 && ima11 >= ima2) // открываем ордер на продажу
     OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Bid+sl && Bid+ima2,Bid-tp,NULL,MagicNumber,0,clrRed);
   }

Причина обращения: