Na verdade, esta é a minha pergunta. Estou usando o MT5 há muito tempo, mas tenho que usar o MT4 por alguma razão. Mas o mql4 não tem nenhuma OnTrade() e OnTradeTransaction() o que é muito triste.
Portanto, tenho que resolver o problema com um pequeno custo (em termos de recursos).
Até agora, eu não pensei em nada melhor do que passar pelas ordens abertas e comparar o estado atual com o anterior.
Talvez haja soluções mais razoáveis.
Não é a variante mais fácil, para se familiarizar com os artigos de Artem Trishkin. E já são 31 no total ou 32. Eu verifiquei e me comuniquei com ele sobre isso. Todos os eventos são pegos "com um estrondo".
Naturalmente, se você não tentar entrar na essência do conteúdo de seus códigos, deve ser mais fácil.
ps; Oh... acabou de voltar deste tópico e o tópico de discussão na 32ª parte do artigo chamou minha atenção imediatamente. O artigo em si está aqui.

- 2020.01.24
- www.mql5.com
Igor está certo, é difícil encontrar algo mais inteligente e simples ao mesmo tempo, porque qualquer outra solução será baseada na mesma chamada para OrderTotal() com ordens de filtragem de acordo com o gosto e processamento posterior da data.
Por enquanto vou parar por aí, isso servirá para o meu problema.
Esta é exatamente a solução mais razoável. E é o mais razoável também para a MT5, porque não se pode confiar somente na OnTrade() e OnTradeTransaction(). Elas não são garantidas.
Deve ter sido há muito tempo que você não se interessou por ela. A noção de que uma transação pode ser perdida foi retirada da documentação há muito tempo. Portanto, para mql5 não há nada melhor que a OnTradeTransaction(). Verifiquei a velocidade de obtenção do evento de ativação do pedido pendente na OnTradeTransaction() e através da biblioteca da Artem. A OnTradeTransaction() é mais rápida. Eu não o medi. Tenho que fazer mais medições para fazer uma estimativa justa, mas não queria gastar tempo com isso.
Provavelmente, você não se preocupa com isso há muito tempo. Eles removeram a advertência de que a transação pode se perder da documentação há muito tempo. Portanto, não há nada melhor do que OnTradeTransaction() para mql5. Verifiquei a velocidade de obtenção do evento de ativação do pedido pendente na OnTradeTransaction() e através da biblioteca da Artem. A OnTradeTransaction() é mais rápida. Eu não o medi. Tenho que fazer mais medições para fazer uma estimativa justa, mas fui ganancioso demais para gastar tempo com isso.
É natural - eu tenho uma freqüência definida para escanear o ambiente. Portanto, o fato do evento em si no terminal e o fato da mudança do ambiente se sucedem. Mas no meu caso é o fato da mudança ambiental que é capturada, não a chegada do evento. Isto tem seus méritos. Mas você os nega de qualquer forma ;) Portanto, não há sentido em debater.
Quais são os pontos fortes da minha negação? Eu tenho apenas uma negação. Quero entender como as coisas funcionam, e se só é possível entender coisas que não são da minha mente, então não me sinto confortável em usá-las, e qualquer coisa com a qual não me sinta confortável, eu nego. Eu já lhe disse que você escreve mais cartas do que eu consigo ler para o resto da minha vida. Não descarregue em mim...
Esta é exatamente a solução mais razoável. E é a mais inteligente também para a MT5, porque não se pode confiar somente na OnTrade() e OnTradeTransaction(). Eles não são garantidos.
Vocês estão desesperadamente atrasados!
Há muito tempo estes eventos estão garantidos!
Vocês estão desesperadamente atrasados!
Estes eventos têm sido garantidos há muito tempo!
E a disponibilidade de luzes e internet? Sem mencionar a habitual perda de pacotes de rede. Quão legais as MetaQuotes se tornaram - elas garantem tudo! ))

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Na verdade, esta é a minha pergunta. Estou usando o MT5 há muito tempo, mas tenho que usar o MT4 por alguma razão. Mas o mql4 não tem nenhuma OnTrade() e OnTradeTransaction() o que é muito triste.
Portanto, tenho que resolver o problema com um pequeno custo (em termos de recursos).
Até agora, eu não pensei em nada melhor do que passar pelas ordens abertas e comparar o estado atual com o anterior.
Talvez haja soluções mais razoáveis.