Como parar uma função (For)

 

No código abaixo, eu dei condição pra ele deletar a ordem pendente

                     if(Trade.OrderDelete(ticket))
                        continue;

Porém, como é possível após deletar a ordem, ele sair dessa função e caso eu inserir outra ordem, ele não deletar ela mais?

Ou seja, eu quero que ele deleta apenas uma vez e depois conclua essa função.


 int total_p=0;
   ulong ticket;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      ticket=OrderGetTicket(i);
      if(ticket>0)
        {
         if(OrderGetString(ORDER_SYMBOL)==_Symbol)
           {
            if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_STOP ||
               OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_LIMIT||
               OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_STOP||
               OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_LIMIT)
              {
               total_p++;
               if(exist)
                  if(OneCancelOther)
                     if(Trade.OrderDelete(ticket))
                        continue;

}

} } }

 
Guilherme Mendonca:

No código abaixo, eu dei condição pra ele deletar a ordem pendente. 

Porém, como é possível após deletar a ordem, ele sair dessa função e caso eu inserir outra ordem, ele não deletar ela mais?

Ou seja, eu quero que ele deleta apenas uma vez e depois conclua essa função.

Olá Guilherme Mendonca,

Já deu uma olhada no operador break?

https://www.mql5.com/en/docs/basis/operators/break

Abraços,
Malacarne

Documentation on MQL5: Language Basics / Operators / Break Operator
Documentation on MQL5: Language Basics / Operators / Break Operator
  • www.mql5.com
Language Basics / Operators / Break Operator - Reference on algorithmic/automated trading language for MetaTrader 5
Razão: