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
A linha referente a "cada carrapato" pode ser o motivo pelo qual isso não acontece mais.
A função só é executada, quando aparece uma nova barra. Portanto, muito provavelmente, apenas o primeiro tique de uma barra pode executar uma troca. Após a primeira barra, o código recebe um "retorno" até que uma nova barra apareça. Talvez isso tenha sido resolvido para mim.
Acho que este pedaço de código é dos artigos:
É claro. Quero dizer "por que ele podia ver...". A questão aqui é que não há nada em seu código que possa explicar por que você conseguiu estas duas negociações.
Acho que é muito importante encontrar a razão por trás desta questão, é claro que também é importante ter uma alternativa (Dormir ?) até que possamos entender completamente o que está acontecendo. Por isso, tento retomar a situação:
* Ao utilizar o método PositionOpen da classe CTrade, pelo menos 3 usuários conseguiram, em algum momento, 2 negócios na mesma direção ao invés de 1, resultando em uma posição com um volume dobrado em relação ao que se espera.
Eu uso os dois métodos, para abrir nova posição = "old fashion way", modificando o stoploss = "classe CTrade".
* Este problema parece ocorrer no mesmo corretor, com um símbolo onde a Profundidade de Mercado é ativada (as pessoas envolvidas podem confirmar isto, por favor).
Sim, o servidor do corretor X, Profundidade de Mercado é ativado.
* Este problema ocorre com ordem síncrona, ordem assíncrona não foi utilizada (favor confirmar).
Sim, a ordem assíncrona não foi utilizada.
* O problema ocorre de forma aleatória.
Sim, mas somente durante as horas ocupadas do mercado( eventosmacroeconômicos ).
Na minha opinião, este problema pode ser facilmente resolvido.
A EA deve sempre esperar por uma resposta/resposta se a função "PositionSelect(Symbol())" for utilizada e o terminal tiver atualizado os dados da função, antes de poder retomar com a execução do código.
A EA deve sempre esperar por uma resposta/resposta se a função "OrderSend(mrequest,mresult)" for usada e o terminal tiver atualizado os dados da função, antes de poder retomar com a execução do código.
Menciono também o próprio terminal porque os dados da função serão copiados para o terminal e isso também levará algum tempo.
Desta forma, o tamanho da posição atual será sempre calculado corretamente, de modo que a ordem dupla não ocorrerá mais.
O que você acha?
Na minha opinião, este problema pode ser facilmente resolvido.
O EA deve sempre esperar por uma resposta/resposta se a função "PositionSelect(Symbol())" for utilizada e o terminal tiver atualizado os dados da função, antes de poder retomar com a execução do código.
A EA deve sempre esperar por uma resposta/resposta se a função "OrderSend(mrequest,mresult)" for usada e o terminal tiver atualizado os dados da função, antes de poder retomar com a execução do código.
Menciono também o próprio terminal porque os dados da função serão copiados para o terminal e isto também levará algum tempo.
Desta forma, o tamanho da posição atual será sempre calculado corretamente, de modo que a ordem dupla não ocorrerá mais.
O que você acha?
Não tenho certeza do que você quer dizer com "esperar sempre por uma resposta...". ?
De qualquer forma, eu preenchi um pedido ao ServiceDesk para pedir conselhos. Veremos.
Não tenho certeza do que você quer dizer com "esperar sempre por uma resposta...". ?
De qualquer forma, eu preenchi um pedido ao ServiceDesk para pedir conselhos. Veremos.
"Não tenho certeza do que você quer dizer com "sempre aguarde uma resposta..." ?"
A EA deve esperar/parar até que a função PositionSelect(Symbol()) tenha completado a cópia dos dados sobre uma posição para o ambiente do programa.
Veja-o como uma função de sono forçado ().
"Não tenho certeza do que você quer dizer com "esperar sempre por uma resposta..." ?"
A EA deve esperar/parar até que a função PositionSelect(Symbol()) tenha completado a cópia dos dados sobre uma posição para o ambiente do programa.
Veja-o como uma função de sono forçado ().