Cotação vai a zero no Testador de Estratégias com ticks reais (WIN$N)

 

Caros colegas, durante o desenvolvimento de um robô que usa ordens limit, acabei notando que as operações estavam sendo encerradas imediatamente após a entrada no Testador de Estratégias. 

A mensagem no diário era de "stoploss triggered". Porém conferi de diversas maneiras e o preço do SL estava correto e não acionado. 

Continuei investigando e descobri que a cotação que estava sendo usada para verificar o acionamento do SL e TP de uma posição aberta era igual a zero e diferente da cotação usada para acionamento de entrada das ordens pendentes.

Notei também que isso acontece apenas com a modelagem "cada tick é baseado em um tick real". Não acontece com OHLC.

Após mais alguns testes, verifiquei que o preço Last está vindo zerado.

Portanto me parece que para as entradas o sistema usa Bid/Ask, porém para SL/TP ele usa o Last.

1) Alguém sabe me confirmar se é assim mesmo que o Testador verifica tais preços?

2) Alguma maneira de contornar essa situação que não seja remover o SL/TP da ordem e deixá-los virtuais, passando a monitorar os níveis a cada novo tick?

Grato,

Print abaixo.

Cotação zerada para a posição e não para as ordens pendentes.

 
Tinha encontrado este tópico, porém não ficou claro ainda...
https://www.mql5.com/en/forum/327061
Problem with triggered order
Problem with triggered order
  • 2019.11.23
  • www.mql5.com
I have trouble with orders that trigger automatically...
 

Este link ajuda a responder a questão 1)
https://www.metatrader5.com/pt/terminal/help/algotrading/tick_generation

Ou seja, usa-se bid/ask pra entrar e last pra gerar o gráfico. E, suponho então, avaliar o toque em SL/TP.

Permanece então a questão 2)

e 3) Por que o Last está vindo como zero? Dados falhos da corretora, padrão ou outro problema?

Ticks reais e gerados - Trading algorítmico, robôs comerciais - Ajuda para o MetaTrader 5
Ticks reais e gerados - Trading algorítmico, robôs comerciais - Ajuda para o MetaTrader 5
  • www.metatrader5.com
Para testar e otimizar os experts você precisa de ticks, já que o expert funciona com a sua ajuda. O teste pode ser realizado de...
 
Luigi Nunes Labigalini:

Caros colegas, durante o desenvolvimento de um robô que usa ordens limit, acabei notando que as operações estavam sendo encerradas imediatamente após a entrada no Testador de Estratégias. 

A mensagem no diário era de "stoploss triggered". Porém conferi de diversas maneiras e o preço do SL estava correto e não acionado. 

Continuei investigando e descobri que a cotação que estava sendo usada para verificar o acionamento do SL e TP de uma posição aberta era igual a zero e diferente da cotação usada para acionamento de entrada das ordens pendentes.

Notei também que isso acontece apenas com a modelagem "cada tick é baseado em um tick real". Não acontece com OHLC.

Após mais alguns testes, verifiquei que o preço Last está vindo zerado.

Portanto me parece que para as entradas o sistema usa Bid/Ask, porém para SL/TP ele usa o Last.

1) Alguém sabe me confirmar se é assim mesmo que o Testador verifica tais preços?

2) Alguma maneira de contornar essa situação que não seja remover o SL/TP da ordem e deixá-los virtuais, passando a monitorar os níveis a cada novo tick?

Grato,

Print abaixo.


Olá Luigi.

Percebi na imagem que enviou que estava realizando os testes com os dados da corretora e, neste caso, pode ocorrer problemas com os ticks que lhe são entregues quando os baixa. 

Uma forma que eu contornei essa situação foi baixando os dados e os colocando num símbolo (ativo) personalizado. 

Tem mais detalhes de como fazer neste link --> https://www.mql5.com/pt/forum/388772/page2#comment_27844101

Sucesso por aí.

Backtest - Por que são apresentados resultados diferentes para o mesmo ativo (WING22) nas contas DEMO e Real ?
Backtest - Por que são apresentados resultados diferentes para o mesmo ativo (WING22) nas contas DEMO e Real ?
  • 2022.02.13
  • www.mql5.com
Testei o EA, mês a mês, de 2017 pra cá, usando a opção Cada Tick e os resultados se mostraram promissores, mas ao colocar em conta real surgiram al...
 
Adailton Silva #:

Olá Luigi.

Percebi na imagem que enviou que estava realizando os testes com os dados da corretora e, neste caso, pode ocorrer problemas com os ticks que lhe são entregues quando os baixa. 

Uma forma que eu contornei essa situação foi baixando os dados e os colocando num símbolo (ativo) personalizado. 

Tem mais detalhes de como fazer neste link --> https://www.mql5.com/pt/forum/388772/page2#comment_27844101

Sucesso por aí.

Obrigado Adailton, farei como você sugeriu e retorno em breve aqui, valeu!

 

Aparentemente os dados nessa corretora estão péssimos mesmo. Copiei os ticks reais tanto do WIN$N como WINJ22 e ambos vieram cheios de gaps, além da cotação zerada. 

 
Luigi Nunes Labigalini #:

Aparentemente os dados nessa corretora estão péssimos mesmo. Copiei os ticks reais tanto do WIN$N como WINJ22 e ambos vieram cheios de gaps, além da cotação zerada. 

Só uma correção, não existe TICKS REAIS para WIN$N(*).  Para o WINJ22 faça os teste no período de vigor, antes da data de vigor é cheio de gaps por não ter sido negociada.

(*) Para entender melhor, procure aqui no fórum, como são gerados os ativos de históricos.

 
Rogerio Giannetti Torres #:

Só uma correção, não existe TICKS REAIS para WIN$N(*).  Para o WINJ22 faça os teste no período de vigor, antes da data de vigor é cheio de gaps por não ter sido negociada.

(*) Para entender melhor, procure aqui no fórum, como são gerados os ativos de históricos.

Sim Rogerio, testei o WINJ22 no período de vigor mesmo.
Entendo que o WIN$N é gerado por uma sequência dos contratos WIN vigentes (com maior liquidez). Me baseei naquele vídeo do Vilela em que ele explica as diferenças entre @/$/N/D.
Mas vou procurar sim, obrigado!

Razão: