Felipe Lisboa:
Eu tive um caso semelhante numa corretora no qual ela abria a posicao e a confirmacao da mesma parecia levar quase 2 minutos pra chegar. Isso fazia abrir multiplas operacoes no ativo, nao tem o que fazer infelizmente quanto ao PositionsTotal(). No meu caso mesmo o OrderStatus nao mudava pra filled. Acabei fazendo uma estrutura auxiliar e colocando um tempo de timeout nos dados que tavam nessa fila. Nao eh a solucao otima, mas ja atendeu o suficiente.
Olá pessoal
Criei uma função de stop móvel que é acionada a cada tick, para verificar se precisará ou não modificar a posição da ordem, porém verifiquei que em alguns casos, a função PositionsTotal() retorna zerada, mesmo com a posição aberta mesmo, não acionando assim a verificação do tralling. O que poderia fazer para evitar essa situação?
Ricardo Rodrigues Lucca #:
Eu tive um caso semelhante numa corretora no qual ela abria a posicao e a confirmacao da mesma parecia levar quase 2 minutos pra chegar. Isso fazia abrir multiplas operacoes no ativo, nao tem o que fazer infelizmente quanto ao PositionsTotal(). No meu caso mesmo o OrderStatus nao mudava pra filled. Acabei fazendo uma estrutura auxiliar e colocando um tempo de timeout nos dados que tavam nessa fila. Nao eh a solucao otima, mas ja atendeu o suficiente.
Eu tive um caso semelhante numa corretora no qual ela abria a posicao e a confirmacao da mesma parecia levar quase 2 minutos pra chegar. Isso fazia abrir multiplas operacoes no ativo, nao tem o que fazer infelizmente quanto ao PositionsTotal(). No meu caso mesmo o OrderStatus nao mudava pra filled. Acabei fazendo uma estrutura auxiliar e colocando um tempo de timeout nos dados que tavam nessa fila. Nao eh a solucao otima, mas ja atendeu o suficiente.
Muito obrigado pelo feedback. Não tinha pensado nesse atraso da corretora
Vou criar uma estrutura parecida com suporte do evento de confirmação da execução da ordem, e ir modificando enquanto ela ainda estiver aberta, sem precisar dessa PositionsTotal() por enquanto.
Ricardo Rodrigues Lucca #:
Eu tive um caso semelhante numa corretora no qual ela abria a posicao e a confirmacao da mesma parecia levar quase 2 minutos pra chegar. Isso fazia abrir multiplas operacoes no ativo, nao tem o que fazer infelizmente quanto ao PositionsTotal(). No meu caso mesmo o OrderStatus nao mudava pra filled. Acabei fazendo uma estrutura auxiliar e colocando um tempo de timeout nos dados que tavam nessa fila. Nao eh a solucao otima, mas ja atendeu o suficiente.
Eu tive um caso semelhante numa corretora no qual ela abria a posicao e a confirmacao da mesma parecia levar quase 2 minutos pra chegar. Isso fazia abrir multiplas operacoes no ativo, nao tem o que fazer infelizmente quanto ao PositionsTotal(). No meu caso mesmo o OrderStatus nao mudava pra filled. Acabei fazendo uma estrutura auxiliar e colocando um tempo de timeout nos dados que tavam nessa fila. Nao eh a solucao otima, mas ja atendeu o suficiente.
Uma saida interessante! No caso voce fez de forma assíncrona?
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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á pessoal
Criei uma função de stop móvel que é acionada a cada tick, para verificar se precisará ou não modificar a posição da ordem, porém verifiquei que em alguns casos, a função PositionsTotal() retorna zerada, mesmo com a posição aberta mesmo, não acionando assim a verificação do tralling. O que poderia fazer para evitar essa situação?