Backtest em série histórica muito mais lento

 

Olá pessoal!

Estou programando uma estratégia minha aqui no MetaTrader5 e cai em uma situação bem estranha na realização de backtests. Minha estratégia é para operar no mini índice e mini dólar.

O problema é o seguinte:
Realizar um backtest no WINV20 entre os dias 01/09/2020 até 16/09/2020, com modelagem OHLC leva aproximadamente 0,5 segundos.
Realizar um backtest no WIN$, WIN$N, etc, no mesmo período (01/09/2020 até 16/09/2020), com mesma modelagem e mesmos parâmetros, leva aproximadamente 10 segundos (20 vezes mais demorado).

E fiquei sem entender o porquê. Procurei pela solução e não consegui encontrar nenhum problema parecido.

O mesmo acontece com o dólar. Testar no WDOV20 era extremamente rápido, e ontem como trocou o código do contrato fui testar com o WDO$, WDO$N, etc, e aconteceu o mesmo problema.

 
Lucas Pevidor:

Olá pessoal!

Estou programando uma estratégia minha aqui no MetaTrader5 e cai em uma situação bem estranha na realização de backtests. Minha estratégia é para operar no mini índice e mini dólar.

O problema é o seguinte:
Realizar um backtest no WINV20 entre os dias 01/09/2020 até 16/09/2020, com modelagem OHLC leva aproximadamente 0,5 segundos.
Realizar um backtest no WIN$, WIN$N, etc, no mesmo período (01/09/2020 até 16/09/2020), com mesma modelagem e mesmos parâmetros, leva aproximadamente 10 segundos (20 vezes mais demorado).

E fiquei sem entender o porquê. Procurei pela solução e não consegui encontrar nenhum problema parecido.

O mesmo acontece com o dólar. Testar no WDOV20 era extremamente rápido, e ontem como trocou o código do contrato fui testar com o WDO$, WDO$N, etc, e aconteceu o mesmo problema.

A primeira vez, ou repetidas vezes?  Você está descontando o tempo de download da série?

Estou chutando aqui, tá?

;)

 
Flavio Jarabeck:

A primeira vez, ou repetidas vezes?  Você está descontando o tempo de download da série?

Estou chutando aqui, tá?

;)

Repetidas vezes. Sei que o problema não está relacionado com o tempo de download. Até para a otimização de estratégias o tempo que leva para otimizar no WDO$ é mmuuuuito maior que no WDOV20.
 

Essa postagem é antiga, mas ainda válida.

Estou enfrentando o mesmo problema. Para o mesmo EA, mesmo parâmetros e limites, o testador é EXTREMAMENTE LENTO para WIN$N. Já fiz download dos dados, criei um indicador customizado etc. Não adianta, é lento.

Não estou falando de pouco, mas sim de quase 1 dia de diferença. Para uma série de dados de 1 ano, enquanto eu levo 1h para para rodar EURUSD, eu levo quase 1 DIA para rodar WIN$N. Nada diferente nos parâmetros e algoritmo, nada mesmo. E o mesmo se aplica ao WDO$N.

Posso rodar Futuros US, Forex que seja. Somente WIN e WDO é assim.

Pensei que fosse a minha corretora (Clear), mas depois de ver essa postagem aqui, resolvi pedir ajuda aos senhores.

Alguém poderia me ajudar por favor?


Valeu! 

 
Pridoale9 #:

Essa postagem é antiga, mas ainda válida.

Estou enfrentando o mesmo problema. Para o mesmo EA, mesmo parâmetros e limites, o testador é EXTREMAMENTE LENTO para WIN$N. Já fiz download dos dados, criei um indicador customizado etc. Não adianta, é lento.

Não estou falando de pouco, mas sim de quase 1 dia de diferença. Para uma série de dados de 1 ano, enquanto eu levo 1h para para rodar EURUSD, eu levo quase 1 DIA para rodar WIN$N. Nada diferente nos parâmetros e algoritmo, nada mesmo. E o mesmo se aplica ao WDO$N.

Posso rodar Futuros US, Forex que seja. Somente WIN e WDO é assim.

Pensei que fosse a minha corretora (Clear), mas depois de ver essa postagem aqui, resolvi pedir ajuda aos senhores.

Alguém poderia me ajudar por favor?


Valeu! 

Experimentou com o vigente? ou com outros continuos como o WIN@N?

 
Ricardo Rodrigues Lucca #:

Experimentou com o vigente? ou com outros continuos como o WIN@N?

Estou com o mesmo problema. Segui a sua recomendação de testar outros contínuos e tb demora muito...

Usando papel vigente não há esse problema. Porém, o base de dados para ele é de apenas 3 meses com 100% de qualidade do histórico, então não adianta.

Vc teria alguma outra suspeita de como resolver isso?

Obrigado!

 
Alexandre Sousa Bezerra #:

Estou com o mesmo problema. Segui a sua recomendação de testar outros contínuos e tb demora muito...

Usando papel vigente não há esse problema. Porém, o base de dados para ele é de apenas 3 meses com 100% de qualidade do histórico, então não adianta.

Vc teria alguma outra suspeita de como resolver isso?

Obrigado!

Vai dar mais trabalho, mas acho que vc deveria baixar o histórico e criar um simbolo personalizado.

https://www.mql5.com/pt/articles/3540

Criação e teste de símbolos personalizados na MetaTrader 5
Criação e teste de símbolos personalizados na MetaTrader 5
  • www.mql5.com
A criação de símbolos personalizados empurra os limites no desenvolvimento de sistemas de negociação e análise do mercado financeiro. Agora, os traders são capazes de desenhar gráficos e testar estratégias de negociação em um número ilimitado de instrumentos financeiros.
 
Alexandre Sousa Bezerra #:

Estou com o mesmo problema. Segui a sua recomendação de testar outros contínuos e tb demora muito...

Usando papel vigente não há esse problema. Porém, o base de dados para ele é de apenas 3 meses com 100% de qualidade do histórico, então não adianta.

Vc teria alguma outra suspeita de como resolver isso?

Obrigado!

Não tenho outra sugestão, não. Minha desconfiança era que talvez por conta de alguns históricos serem por liquidez e por vencimento, talvez tivesse algo haver. Mas se não melhorou não deve ter.
 
Ricardo Rodrigues Lucca #:
Não tenho outra sugestão, não. Minha desconfiança era que talvez por conta de alguns históricos serem por liquidez e por vencimento, talvez tivesse algo haver. Mas se não melhorou não deve ter.
Ricardo/Mateus/Alexandre, vcs saberiam dizer se existe alguma possível incompatibilidade entre o MQL5 e ativos contínuos do WIN/WDO ($/@)?
 
Pridoale9 #:
Ricardo/Mateus/Alexandre, vcs saberiam dizer se existe alguma possível incompatibilidade entre o MQL5 e ativos contínuos do WIN/WDO ($/@)?

Olha o jeito é vc criar um Custom Symbol, isso deve resolver, não é o ideal, mas é o jeito, tente ai nada que em uns 15 minutos vc não faça, e ai vc testa.


01 - Ligue o Observação de mercado , clique com o direito no ativo
02 - Dê um CTRL+U, selecione o ativo, vá em Barras selecione ativo, timeframe e período,
clique em Solicitação e Exportar Barras, salve o arquivo.
03 - Clique em Criar símbolo. Coloque um nome (Winteste exemmplo) dê um Ok
04 - Selecione o ativo que vc criou em Custom Symbols.
05 - Vá em Barra selecione o período e timeframe como vc fez na opção 2/Importar barras/Selecione o arquivo.

Teste

 
Pessoal, tambem notei isso, tenho usado mega maquinas para processar, mas acho muito estranho. trabalhei para melhorar a performance do software mas tambem nao foi, é muito estranho. E testar vencimento por vencimento esta osso tambem. Realmente a solucao é criar um historico local? vixi