Erro ao realizar Backtest utilizando serie histórica do mini dólar

 

Estou aprendendo a programar agora no metatrader e estou com um problema ao realizar um backtest utilizando um robô desenvolvido por mim. Quando utilizo a serie histórica o resultado é muito desproporcional. Aparece esses erros:

2021.04.07 19:34:15.226 Core 1 2021.04.01 09:46:10   exchange sell 1 WDO$ at market sl: 5693.500 tp: 5673.500 (0.000 / 0.000 / 5683.500)

2021.04.07 19:34:15.226 Core 1 2021.04.01 09:46:10   deal #2 sell 1 WDO$ at 0.000 done (based on order #2)

2021.04.07 19:34:15.226 Core 1 2021.04.01 09:46:10   deal performed [#2 sell 1 WDO$ at 0.000]

2021.04.07 19:34:15.226 Core 1 2021.04.01 09:46:10   order performed sell 1 at 0.000 [#2 sell 1 WDO$ at market]


Pelo gráfico do backtest (onde aparece as setas de entrada e saída) é como se a saída fosse no preço 0.0.


Esse erro ocorre apenas na serie histórica. Ao utilizar o ativo de vencimento atual (wdok21), o resultado é o esperado, com as entradas e saída nos pontos normais


Essa primeira imagem é da série histórica.


Essa segunda é do vencimento normal (wdok21).


Se alguém puder me ajudar, agradeço. Atualmente estou utilizando apenas a conta demo pela Clear.

Arquivos anexados:
historica.PNG  7 kb
normal.PNG  7 kb
 

Bom Dia.

Até o dia 31/03/21 a série histórica (WDO@N ou WDO$) parecem funcionar corretamente, porém a partir do dia 31/03 os testes estão ficando com erros que não acontecem se utilizar o código corrente WDOK21.

Acredito que deve ser algum problema da corretora.

 
Eduardo Luz:

Estou aprendendo a programar agora no metatrader e estou com um problema ao realizar um backtest utilizando um robô desenvolvido por mim. Quando utilizo a serie histórica o resultado é muito desproporcional. Aparece esses erros:

2021.04.07 19:34:15.226 Core 1 2021.04.01 09:46:10   exchange sell 1 WDO$ at market sl: 5693.500 tp: 5673.500 (0.000 / 0.000 / 5683.500)

2021.04.07 19:34:15.226 Core 1 2021.04.01 09:46:10   deal #2 sell 1 WDO$ at 0.000 done (based on order #2)

2021.04.07 19:34:15.226 Core 1 2021.04.01 09:46:10   deal performed [#2 sell 1 WDO$ at 0.000]

2021.04.07 19:34:15.226 Core 1 2021.04.01 09:46:10   order performed sell 1 at 0.000 [#2 sell 1 WDO$ at market]


Pelo gráfico do backtest (onde aparece as setas de entrada e saída) é como se a saída fosse no preço 0.0.


Esse erro ocorre apenas na serie histórica. Ao utilizar o ativo de vencimento atual (wdok21), o resultado é o esperado, com as entradas e saída nos pontos normais


Essa primeira imagem é da série histórica.


Essa segunda é do vencimento normal (wdok21).


Se alguém puder me ajudar, agradeço. Atualmente estou utilizando apenas a conta demo pela Clear.

Estou tendo o mesmo retorno de histórico com erros na corretora rico, mas acho que isso é que nem o Ivan comentou  deve ser problema no histórico fornecido pela corretora

 
Agradeço a resposta. Irei tentar realizar alguns backtest utilizando outros periodos da serie historica.
 

Outro erro que esta aparecendo ao usar a serie histórica WDO$ e WDO$N:

2021.04.08 20:34:32.722 Core 1 WDO$ : 2021.03.01 23:59 - all the real ticks discarded within a day

2021.04.08 20:34:32.722 Core 1 WDO$ : 2021.03.01 23:59 - 304913 tick prices mismatch for 570 minute bars

.

.

.

2021.04.08 20:34:32.722 Core 1 WDO$ : 2021.03.19 23:59 - all the real ticks discarded within a day

2021.04.08 20:34:32.722 Core 1 WDO$ : 2021.03.19 23:59 - 335372 tick prices mismatch for 540 minute bars

Puxei os dados de março pra realizar o backtest, utilizando "cada tick é baseado em um tick real" e aparece esses erros. Do dia primeiro ao dia 19, aparece isso. 

Se eu utilizar apenas "cada tick" na modelagem a principio o backtest acontece de forma normal. Porém a qualidade do histórico fica em torno de 63% (do dia 22/03 até 31/03) ele da como se fosse 0%. O restante do mês ele coloca 100%.

 
Comigo, segundo o log gerado, está acontecendo da seguinte forma: Quando vou lançar ordens limitadas o "tester" de repente ele inclui o ativo BRLUSD10 no Market watch e tenta atualizar e ai trava tudo. Seja com WDO$ ou WDOK21.
 
Eduardo Luz:


Olá Eduardo,

1) Não existe TICKS REAIS para as séries históricas nem tente usar, quando muito, existe TICKS REAIS para série de maior liquidez, mas quanto a qualidade do histórico é sofrível mesmo.

2) Troque WDO$ por WDO@D.

3) Veja no testador se a moeda está configurada para BRL.

 
Fernando Lima:

Olá Fernando,

veja se existe ATIVO custom BRLUSD10 no seu MT5, se existir é só deletar. 

 
Rogerio Giannetti Torres:

Olá Eduardo,

1) Não existe TICKS REAIS para as séries históricas nem tente usar, quando muito, existe TICKS REAIS para série de maior liquidez, mas quanto a qualidade do histórico é sofrível mesmo.

2) Troque WDO$ por WDO@D.

3) Veja no testador se a moeda está configurada para BRL.

Agradeço Rogério. Irei realizar os testes com essa alteração. No caso utilizo o WDO@D e na modalidade coloco "cada tick"?
 
Rogerio Giannetti Torres:

Olá Fernando,

veja se existe ATIVO custom BRLUSD10 no seu MT5, se existir é só deletar. 

Eu fui por esse caminho já. Não tenho nenhum ativo custom.


Grato