Acredito que vc deveria tirar este delay e colocar a função de nova barra que já é testada/utilizada em contas reais.
Em https://www.mql5.com/pt/docs/trading/historyordergetinteger possui o Histórico dos Deals e referências para outras funções.
Evento nova barra https://www.mql5.com/pt/articles/159
Básico de como criar uma ea https://www.mql5.com/pt/articles/100

Handler de evento "nova barra"
- 2014.02.06
- Konstantin Gruzdev
- www.mql5.com
A linguagem de programação é capaz de resolver problemas em um nível completamente novo. Mesmo as tarefas que já tenham soluções, graças à programação orientada a objeto elas podem atingir um nível ainda maior. Neste artigo, consideramos um exemplo especialmente simples de verificação de uma nova barra em um gráfico, que foi transformado em uma ferramenta bastante poderosa e versátil. Qual ferramenta? Descubra neste artigo.

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
Pessoal,
Preciso de uma ajuda. Coloquei no meu robo um delay para dar um tempo entre uma ordem e outra. Porém quando mando executar uma ordem, registro o horario e acrescento o delay para somente após entrar novamente no mercado.
Até ai tudo bem, o problema é quando executa o stop gain ou loss, que eu fico sem saber que executou.
Exemplo: comprei as 10:00, e tenho um delay de 15 min. Pelo robo ele faz o calculo e se eu não estiver posicionado a partir da 10:15 ele pode enviar outra ordem, mas se por exemplo as 10:30 executou o gain, na barra seguinte o robo ja envia outra ordem (se der o set up), pois o registro de ultima ordem foi as 10:00.
O que eu queria é saber como pegar que a ordem foi executa pelo gain ou loss, no caso do exemplo as 10:30, pois quero colocar o delay a partir da ultima execução, independente se foi envio de ordem ou stop.
Temos uma funcao que eu posso olhar a cada nova barra qual foi a ultima hora e minuto de execução de uma ordem ?
Obrigado pela ajuda pessoal!