Ordens Pendentes Executadas Onde o Preço Não Passou

 

Senhores,

Acreditou que estou enfrentando um bug do próprio MT5, porem, gostaria de consultar os universitários.

Logica:

A EA lança ordens pendentes no mercado a partir de um horario definido por mim(antes desse horario as ordens não são lançadas), e fecha essas ordens ou posições que foram em abertas em um horario também definido por mim (quando finaliza o dia pelo horario que eu defini é fechado todas as ordens e posições que estão em aberto). Ou seja, eu tenho um controle de horario na EA.

Cenário:

Em um dia anterior eu lancei as ordens as 09h05 da manhã e fechei todas as ordens e posições em aberto as 17h55. Não carrego nenhuma ordem de um dia para o outro.

No outro dia, vou lançar novamente as ordens as 09h05, porem, algo muito interessante acontece, quando insiro as ordens, geralmente uma ou duas dessas ordens são executadas mas o preço não passou pelo preço de acionamento das ordens, como pode ser observado na imagem em anexo.

Explicação da imagem: A EA poderia abrir ordens a partir da linha verde, e é oque ela faz, e abre uma ordem de venda muita abaixo do preço, mas mesmo assim, ela é acionada por algum motivo.

Não tem nenhuma exibição de nenhum erro, o log informa a execução perfeita de uma venda. Esse erro acontece varias vezes, mas não necessariamente em sequencia, existem varias vezes que esse erro não acontece.

Alguém sabe como resolver?



Documentação sobre MQL5: Constantes, Enumeradores e Estruturas / Constantes de Negociação / Propriedades de uma Ordem
Documentação sobre MQL5: Constantes, Enumeradores e Estruturas / Constantes de Negociação / Propriedades de uma Ordem
  • www.mql5.com
Propriedades de uma Ordem - Constantes de Negociação - Constantes, Enumeradores e Estruturas - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5
Arquivos anexados:
 
King Eric:

Senhores,

Acreditou que estou enfrentando um bug do próprio MT5, porem, gostaria de consultar os universitários.

Logica:

A EA lança ordens pendentes no mercado a partir de um horario definido por mim(antes desse horario as ordens não são lançadas), e fecha essas ordens ou posições que foram em abertas em um horario também definido por mim (quando finaliza o dia pelo horario que eu defini é fechado todas as ordens e posições que estão em aberto). Ou seja, eu tenho um controle de horario na EA.

Cenário:

Em um dia anterior eu lancei as ordens as 09h05 da manhã e fechei todas as ordens e posições em aberto as 17h55. Não carrego nenhuma ordem de um dia para o outro.

No outro dia, vou lançar novamente as ordens as 09h05, porem, algo muito interessante acontece, quando insiro as ordens, geralmente uma ou duas dessas ordens são executadas mas o preço não passou pelo preço de acionamento das ordens, como pode ser observado na imagem em anexo.

Explicação da imagem: A EA poderia abrir ordens a partir da linha verde, e é oque ela faz, e abre uma ordem de venda muita abaixo do preço, mas mesmo assim, ela é acionada por algum motivo.

Não tem nenhuma exibição de nenhum erro, o log informa a execução perfeita de uma venda. Esse erro acontece varias vezes, mas não necessariamente em sequencia, existem varias vezes que esse erro não acontece.

Alguém sabe como resolver?



Bom dia. 

Qual o ativo?

O preço não passou ali no leilão?
Como estava o spread neste momento?


 
King Eric:

Senhores,

Acreditou que estou enfrentando um bug do próprio MT5, porem, gostaria de consultar os universitários.

Logica:

A EA lança ordens pendentes no mercado a partir de um horario definido por mim(antes desse horario as ordens não são lançadas), e fecha essas ordens ou posições que foram em abertas em um horario também definido por mim (quando finaliza o dia pelo horario que eu defini é fechado todas as ordens e posições que estão em aberto). Ou seja, eu tenho um controle de horario na EA.

Cenário:

Em um dia anterior eu lancei as ordens as 09h05 da manhã e fechei todas as ordens e posições em aberto as 17h55. Não carrego nenhuma ordem de um dia para o outro.

No outro dia, vou lançar novamente as ordens as 09h05, porem, algo muito interessante acontece, quando insiro as ordens, geralmente uma ou duas dessas ordens são executadas mas o preço não passou pelo preço de acionamento das ordens, como pode ser observado na imagem em anexo.

Explicação da imagem: A EA poderia abrir ordens a partir da linha verde, e é oque ela faz, e abre uma ordem de venda muita abaixo do preço, mas mesmo assim, ela é acionada por algum motivo.

Não tem nenhuma exibição de nenhum erro, o log informa a execução perfeita de uma venda. Esse erro acontece varias vezes, mas não necessariamente em sequencia, existem varias vezes que esse erro não acontece.

Alguém sabe como resolver?



Conta demo ou teste historico?
 
Ricardo Branco #:
Bom dia. 

Qual o ativo?

O preço não passou ali no leilão?
Como estava o spread neste momento?


Opa

Esse ai é backtest.

Ativo: WIN$N
Como é backtest em ativo de serie temporal é sempre 5.

 
Ricardo Rodrigues Lucca #:
Conta demo ou teste historico?
Conta Real, mas utilizando o ativo de serie continua, especificadamente o WIN$N.
 
King Eric #:
Conta Real, mas utilizando o ativo de serie continua, especificadamente o WIN$N.

Tenta testar no ativo com vencimento (por exemplo WING23 atual ou WINZ22 anterior). Só lembra de colocar o intervalo de datas correto (20/10/22 à 13/12/22 para WINZ22).

 
Rafael Grecco #:

Tenta testar no ativo com vencimento (por exemplo WING23 atual ou WINZ22 anterior). Só lembra de colocar o intervalo de datas correto (20/10/22 à 13/12/22 para WINZ22).

Ele falou que nao eh o testador de estrategia mesmo nao fazendo sentido.
 
Ricardo Rodrigues Lucca #:
Ele falou que nao eh o testador de estrategia mesmo nao fazendo sentido.

É acho que não tem como negociar diretamente na serie contínua, então deduzi que fosse no testador...

 
Rafael Grecco #:

Tenta testar no ativo com vencimento (por exemplo WING23 atual ou WINZ22 anterior). Só lembra de colocar o intervalo de datas correto (20/10/22 à 13/12/22 para WINZ22).

Fala Rafael, realizei os testes e permanece o mesmo erro.

Uma ordem foi executada na barra de abertura as 09:00, ele acionou uma ordem de compra no preço de 113385, mas o preço máximo da barra que acionou essa ordem foi de 113229, ou seja, o preço não passou por lá para acionar essa ordem.


Segue print em anexo.

Arquivos anexados:
 
King Eric #:

Fala Rafael, realizei os testes e permanece o mesmo erro.

Uma ordem foi executada na barra de abertura as 09:00, ele acionou uma ordem de compra no preço de 113385, mas o preço máximo da barra que acionou essa ordem foi de 113229, ou seja, o preço não passou por lá para acionar essa ordem.


Segue print em anexo.

Essa ordem aparece no histórico? Pode ser que o template salvo tenha setas de outro backteste?
 
King Eric #:

Fala Rafael, realizei os testes e permanece o mesmo erro.

Uma ordem foi executada na barra de abertura as 09:00, ele acionou uma ordem de compra no preço de 113385, mas o preço máximo da barra que acionou essa ordem foi de 113229, ou seja, o preço não passou por lá para acionar essa ordem.


Segue print em anexo.

Se for o testador (coisa que voce me disse que não era), eh perfeitamente normal as setas e tal. Outra coisa que leva a crer que seria é a "compra" durante o leilão, mas como não é pra que dar uma solução usada nele né?