Qual função me retorna a existência de uma ordem já enviada e que ainda não foi executada

Para adicionar comentários, por favor Faça o login ou registrar
William Matheus
234
William Matheus  
Pessoal, eu já li o PDF mql5 , mas não consegui esclarecimento sobre o processo que me informa sobre a existência de uma ordem
Na minha lógica de programação eu não quero que se abram novas ordens se eu já tiver uma aguardando a execução(sei que existem diferentes modos de execução (preenchimento) de ordem) ou se ainda não foi cancelada.
Rogerio Giannetti Torres
3139
Rogerio Giannetti Torres  
williansantoa:
Pessoal, eu já li o PDF mql5 , mas não consegui esclarecimento sobre o processo que me informa sobre a existência de uma ordem
Na minha lógica de programação eu não quero que se abram novas ordens se eu já tiver uma aguardando a execução(sei que existem diferentes modos de execução (preenchimento) de ordem) ou se ainda não foi cancelada.

Bom, isso vai te ajudar;


bool DoExisteOrdem()
  {
   bool ret=false;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(OrderGetTicket(i)))
         if(OrderGetString(ORDER_SYMBOL)==_Symbol
            && OrderGetInteger(ORDER_MAGIC)==MagicNumber)
           {
            Ticket=OrderGetInteger(ORDER_TICKET);
            ret=true;
            break;
           }
     }
   return(ret);
  }
William Matheus
234
William Matheus  
Rogerio Giannetti Torres:

Bom, isso vai te ajudar;


Olá !! Então quer dizer que a função orderstotal me passa o número de ordens que estão aguardando execução ou cancelamento , certo??
Trader_Patinhas
1122
Trader_Patinhas  
williansantoa:
Olá !! Então quer dizer que a função orderstotal me passa o número de ordens que estão aguardando execução ou cancelamento , certo??

Sim, William. Quando uma ordem é totalmente executada, ela some do OrdersTotal() e se torna uma "position" (ou o volume executado se soma à "position" já existente, caso seja uma conta netting e vc já tenha posição no mesmo ativo).

obs: se ela for apenas parcialmente executada, ela ainda continua no OrdersTotal() com status ORDER_STATE_PARTIAL e o volume parcial que foi executado se torna "position" (ou se soma à posição previamente existente do mesmo ativo, se for conta netting).

Eduardo Oliveira
1154
Eduardo Oliveira  
williansantoa:
Pessoal, eu já li o PDF mql5 , mas não consegui esclarecimento sobre o processo que me informa sobre a existência de uma ordem
Na minha lógica de programação eu não quero que se abram novas ordens se eu já tiver uma aguardando a execução(sei que existem diferentes modos de execução (preenchimento) de ordem) ou se ainda não foi cancelada.
OrdersTotal() mostra as ordens Que não foram excutadas
PositionsTotal() as ordens em aberto, as posicionadas...

Para adicionar comentários, por favor Faça o login ou registrar