Ordem executada no meio da barra e não no início ou no final da barra após reiniciar o MT4...
5 respostas
Karish
7 anos atrás #115240
Olá, estou com um problema...
O EA está funcionando bem de acordo com as regras e abre e fecha ordens na abertura/fechamento da barra,
Mas, digamos que eu reinicie minha plataforma MT4, quando ela abrir novamente e as regras forem cumpridas, ela abrirá uma ordem imediatamente no meio da barra sem esperar por uma nova barra formatada...
Quero que o EA espere por uma nova barra formatada e, em seguida, insira a ordem (como deveria) e não no primeiro tique ao reiniciar a plataforma MT4 ou assim...
obrigado.
Karish
7 anos atrás #137719
isso acontece comigo quando estou usando gráficos offline..., talvez algo a ver com "sqIsBarOpen" sob a função "drawStats()"?..., por favor, ajude o mais rápido possível..., porque quando estou reabrindo a plataforma MT4 com um EA que funciona em gráficos OFFLINE, ele simplesmente abre uma nova posição assim que o primeiro tick aparece, e não espera até que a nova barra seja aberta....,
esperando alguma ajuda...! obrigado!...
Karish
7 anos atrás #137740
Qualquer pessoa.............?
tomas262
7 anos atrás #137759
Olá,
Parece-me que o evento de carregamento do gráfico/EA faz com que isBarOpen seja verdadeiro na função DrawStats. É por isso que a ação é acionada. Pedirei a Mark que verifique isso
Karish
7 anos atrás #137775
Olá,
Parece-me que o evento de carregamento do gráfico/EA faz com que isBarOpen seja verdadeiro na função DrawStats. É por isso que a ação é acionada. Pedirei a Mark que verifique isso
Obrigado, Thomas, gostaria de saber como posso corrigir esse problema o mais rápido possível...\\
Mais uma vez, obrigado, vou aguardar uma resposta...!
Marca Fric
7 anos atrás #137989
Karish, dei uma olhada e, sim, é assim que funciona. Quando você inicia o EA no meio da barra, ele pode abrir a ordem imediatamente, sem esperar pelo início de uma nova barra.
O reconhecimento da abertura de uma nova barra verifica se ela é o primeiro tick da barra atual, o que acontece quando você acaba de iniciar o EA no meio da barra.
Na verdade, é bastante difícil fazer com que ele funcione apenas para as novas barras abertas e não para a primeira barra com a qual você inicia o EA.
Deve ser possível alterar um pouco o código MQL - encontre uma função drawStats() em que a variável sqIsBarOpen esteja definida.
Altere a condição da seguinte forma:
Marcar
EstratégiaQuant arquiteto
Visualizando 5 respostas - 1 até 5 (de um total de 5)