Obter Ordens!

 

Olá,

Como posso obter a quantidade de ordens para meu robô parar de funcionar?

Exemplo: 

Ao fazer 3 Ordens (CompraMercado e Fechar essa posição) ele para de funcionar com ExpertRemove().


Existe também alguma forma de eu robô executar uma ordem sem que use as configurações de Período Gráfico e faça apenas de 1 em 1 minuto?


Desculpem as perguntas, sou novo nisso.


Obrigado

 
vc pode acessar pelo OrdersTotal() as ordens que estão na pedra...para saber quantos estao posicionados PositionsTotal() , pega na documentação que vc vai tbm poder verificar essas ordens em qual symbolo está e em qual numero magico, isso é mto bom utilizar
 
sobre a parte de fazer ordens de 1 em 1 minutos é só tirar seu programa dentro do OnTick() e colocar no OnTimer(), claro que precisa configurar o OnTimer()...na documentação tem, é simples
 
Eduardo Oliveira:
sobre a parte de fazer ordens de 1 em 1 minutos é só tirar seu programa dentro do OnTick() e colocar no OnTimer(), claro que precisa configurar o OnTimer()...na documentação tem, é simples
Obrigado Eduardo.
 

Olá, lowinho!

Eu uso uma função para saber o número de ordens pendentes quando for lançar uma nova ordem


int ordensPendentes(void){
      MqlRates rt[1];
   if(CopyRates(_Symbol,PERIOD_D1,0,1,rt)!=1)
     {
      Print("CopyRates of ",_Symbol," failed, no history");
      return(99);
     }
      //--- select history for access
      HistorySelect(rt[0].time,TimeCurrent());
      //---
      int    orders=OrdersTotal();  // total history deals
      int    ordens_pendentes=0;                    // number of losses orders without a break
      for(int i=orders-1;i>=0;i--)
        {
         ulong ticket=OrderGetTicket(i);
         if(ticket==0)
           {
            Print("Falha ao consultar ordem");
            break;
           }
         //--- check profit
         OrderSelect(ticket);
         int situacao=OrderGetInteger(ORDER_STATE);
         if(situacao==(long)ORDER_STATE_PLACED || situacao==(long)ORDER_STATE_STARTED) 
         ordens_pendentes++;
        }
      //---
   return(ordens_pendentes);
}
 
alsmatos77:

Olá, lowinho!

Eu uso uma função para saber o número de ordens pendentes quando for lançar uma nova ordem


Muito legal brow, deu pra entender melhor assim vendo um código pronto, muito obrigado
Razão: