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
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:
Muito legal brow, deu pra entender melhor assim vendo um código pronto, muito obrigado
Olá, lowinho!
Eu uso uma função para saber o número de ordens pendentes quando for lançar uma nova ordem
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
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