WIN$N e WDO$N muito lentos no testador de estratégia para históricos longos? Segue Uma possível solução simples.
Foi então que eu testei, sem querer, a opção "Somente Abertura de Preços"...
A escolha do tipo de dado para um Backtest ou Otimização depende exclusivamente do modelo de operação do EA. Assim como é aprarentemente ilógico usar "Ticks Reais"para testar estratégias de Swing, também é usar OHLC para Scalpers.
Ter o conhecimento completo desses modos é imperativo para não se descartar estratégias boas, testadas erradamente, e/ou insistir em estratégias ruins pela falsa impressão de um OHLC.
https://www.metatrader5.com/en/terminal/help/algotrading/tick_generation
![Real and Generated Ticks - Algorithmic Trading, Trading Robots - MetaTrader 5 Help Real and Generated Ticks - Algorithmic Trading, Trading Robots - MetaTrader 5 Help](https://c.mql5.com/36/54/real-and-generated-ticks-algorithmic.png)
- www.metatrader5.com
A escolha do tipo de dado para um Backtest ou Otimização depende exclusivamente do modelo de operação do EA. Assim como é aprarentemente ilógico usar "Ticks Reais"para testar estratégias de Swing, também é usar OHLC para Scalpers.
Ter o conhecimento completo desses modos é imperativo para não se descartar estratégias boas, testadas erradamente, e/ou insistir em estratégias ruins pela falsa impressão de um OHLC.
https://www.metatrader5.com/en/terminal/help/algotrading/tick_generation
Sem dúvidas, concordo plenamente. Por isso que considerei "Somente Abertura de Preços" para acelerar a otimização. Ao final, sempre rodo com "Ticks Reais" para ter certeza de que os parâmetros estão adequados. No meu caso especificamente, como meu código trabalha fechamentos de candles, acaba que fica próximo porque os fechamentos dos candles anteriores tendem a ser próximos dos preços de abertura dos candles atuais. Lógico que há diferenças, principalmente com gaps elevados, mas tende a ficar próximo.
De qualquer forma, reforço que vale apenas como teste. E faço das suas palavras as minhas.
Abs
Depende da estratégia que voce esta testando.
Se for estratégias com operações curtas de day trade, provavelmente vai dar muita diferença com a modelagem "cada tick".
Se for operações com stops mais longos, a diferença será pequena.
Você tem toda razão! QUem estiver lendo esses posts, atente-se ao comentário do Guilherme acima.
Abs.
Boa noite!
Eu não consigo fazer o backtest com as sérias contínuas WIN$N ou WDO$N.
Alguém consegue me ajudar?
Agradeço.
Pessoal,
Muitos aqui já devem ter enfrentado esse problema ao testar a estratégia do WIN$N e WDO$N (ou @) em períodos muito longos. Tive conhecimento que isso depende de corretora para corretora, mas, no meu caso, corretora Clear, esse é um problema real e frustrante... Leva horas e até muitas madrugadas para encontrar um setup de parâmetros que seja adequado e já cheguei a culpar o meu código achando que tinha algo errado.
Cheguei a publicar tópicos aqui e ninguém conseguiu esclarecer. Os poucos que responderam de forma solícita atribuiram a culpa ao meu código e outros já sugeriram eu criarar um Símbolo customizado. Ações que eu já tentei e que eu asseguro que não são as razões para o problema.
Foi então que eu testei, sem querer, a opção "Somente Abertura de Preços"... eu já sabia dessa opção, mas nunca tentei porque o meu EA está configurado para operar Fechamento de Preços. Pois bem, testei sem querer e então foi que eu descobri que ele fica muito rápido, tão rápido quanto testar ativos Forex.
Os resultados diferem um pouco da alternativa "Cada Tick". Se pensarmos bem, a diferença tem que ser pequena mesmo, pois a abertura do candle atual tem que ser próxima do fechamento do candle anterior (exceto quando há gaps). É um pequeno "prejuízo" que eu aceito diante da velocidade que eu obtive usando a opção "Somente Abertura de Preços". Ficou tão rápido que agora eu faço testes com históricos de 2016 em diante sem problemas. Depois de configurados os meus parâmetros, eu testo novamente com "Cada Tick" para ver se está aderente. Normalmente fica sim.
Logicamente, isso depende do histórico que a corretora disponibiliza para o MT5. No meu caso, e de muitos outros aqui, a Clear disponibiliza de tal forma que fica extremamente lento para "Cada Tick".
Talvez isso não se aplique a você, mas vale a pena o teste!
Boa sorte e bons trades!
(se você testou, publica aqui o seu Sucesso ou Insucesso. Vamos ajudar ao próximo).
Ola Alexandre, estou tendo problemas similares, mas o que mais me instiga no assunto é que em Forex eh 24x5 (ou seja, muito mais historico) e roda mais rapido com mesmo setup, exatamente mesmo setup acredita? Estou quase acreditando que tem alguma coisa relacionada ao historico da B3 ser diferente do Forex. Como opero Scalper passar para OHLC me parece imprudente, irei testar se da alguma diferença mas eu costumo testar a cada tick. Para cada Tick em B3 eh quase parado o andamento do meu expert já em Forex é muito mais rapido.
Estou tambem passando a acreditar que como tem menos Ticks em forex (supondo que tenha menos) pode ser que se minha rotina de cada Tick for lenta, tendo mais ticks demoraria muito mais.
O que ainda me deixa na dúvida é, pode ser que tenha mais ticks (mas pelo que sei o historico nao armazena mais ticks) e sim eh uma simulação. O historico do sistema me parece que é apenas minima, máxima, abertura e fechamento dos candles de 1 minuto, o resto é tudo simulacao, ou seja, ele simula o tick oscilando. Vi estudos aqui sobre o assunto, tem um artigo completo aqui de como é feito o codigo. ou seja, levo ainad a crer, de que o culpado nisso tudo é a distancia/volatilidade do movimento, sendo assim a simulacao de cada tick acaba sendo maior (pois a distancia é maior) e entao sendo mais ticks e com isso sendo mais lento.
Será que estou muito perdido no assunto?
Ola Alexandre, estou tendo problemas similares, mas o que mais me instiga no assunto é que em Forex eh 24x5 (ou seja, muito mais historico) e roda mais rapido com mesmo setup, exatamente mesmo setup acredita? Estou quase acreditando que tem alguma coisa relacionada ao historico da B3 ser diferente do Forex. Como opero Scalper passar para OHLC me parece imprudente, irei testar se da alguma diferença mas eu costumo testar a cada tick. Para cada Tick em B3 eh quase parado o andamento do meu expert já em Forex é muito mais rapido.
Estou tambem passando a acreditar que como tem menos Ticks em forex (supondo que tenha menos) pode ser que se minha rotina de cada Tick for lenta, tendo mais ticks demoraria muito mais.
O que ainda me deixa na dúvida é, pode ser que tenha mais ticks (mas pelo que sei o historico nao armazena mais ticks) e sim eh uma simulação. O historico do sistema me parece que é apenas minima, máxima, abertura e fechamento dos candles de 1 minuto, o resto é tudo simulacao, ou seja, ele simula o tick oscilando. Vi estudos aqui sobre o assunto, tem um artigo completo aqui de como é feito o codigo. ou seja, levo ainad a crer, de que o culpado nisso tudo é a distancia/volatilidade do movimento, sendo assim a simulacao de cada tick acaba sendo maior (pois a distancia é maior) e entao sendo mais ticks e com isso sendo mais lento.
Será que estou muito perdido no assunto?
Em forex tem menos movimentações de preços que são guardadas quando comparadas com o mercado brasileiro. Se olhar no WIN temos quase 5kk de movimentações de preço num unico dia (volume tick), se olhar o mercado de forex EURUSD e tambem o USDJPY peguei para comparar alguns dias, mas nenhum deles chegou perto de 1kk de movimentação ao dia. O mercado de forex exige muito mais valor financeiro para mover o preço então por isso que o forex é mais rapido que o teste no WIN ou WDO. Não é culpa de corretoras.
Sobre a outra coisa que tu disse, eu olhei na documentação e lá diz que a informação do tick é opcional e não que ela não é mais armazenada. No caso de não haver a informação de tick e haver a informação do minuto então é feita a simulação. Se há a informação do tick e não há do minuto, é descartado considerado como erro do historico.
Uma das coisas que tinha pensado que pra mim deixa extremamente lento, mas não tem como desativar aparentemente. Quando fazia teste visual em estrategia de scalper ficava inumeras operações no historico e aqueles objetos que pra mim são inuteis vão pesando o testador de alguma forma. Isso pode tentar ser resolvido salvando um template desativando a exibição do historico, mas como esse template so da certo pro primeiro grafico aberto pra mim se torna inutil ja que analiso mais de um timeframe.
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Pessoal,
Muitos aqui já devem ter enfrentado esse problema ao testar a estratégia do WIN$N e WDO$N (ou @) em períodos muito longos. Tive conhecimento que isso depende de corretora para corretora, mas, no meu caso, corretora Clear, esse é um problema real e frustrante... Leva horas e até muitas madrugadas para encontrar um setup de parâmetros que seja adequado e já cheguei a culpar o meu código achando que tinha algo errado.
Cheguei a publicar tópicos aqui e ninguém conseguiu esclarecer. Os poucos que responderam de forma solícita atribuiram a culpa ao meu código e outros já sugeriram eu criarar um Símbolo customizado. Ações que eu já tentei e que eu asseguro que não são as razões para o problema.
Foi então que eu testei, sem querer, a opção "Somente Abertura de Preços"... eu já sabia dessa opção, mas nunca tentei porque o meu EA está configurado para operar Fechamento de Preços. Pois bem, testei sem querer e então foi que eu descobri que ele fica muito rápido, tão rápido quanto testar ativos Forex.
Os resultados diferem um pouco da alternativa "Cada Tick". Se pensarmos bem, a diferença tem que ser pequena mesmo, pois a abertura do candle atual tem que ser próxima do fechamento do candle anterior (exceto quando há gaps). É um pequeno "prejuízo" que eu aceito diante da velocidade que eu obtive usando a opção "Somente Abertura de Preços". Ficou tão rápido que agora eu faço testes com históricos de 2016 em diante sem problemas. Depois de configurados os meus parâmetros, eu testo novamente com "Cada Tick" para ver se está aderente. Normalmente fica sim.
Logicamente, isso depende do histórico que a corretora disponibiliza para o MT5. No meu caso, e de muitos outros aqui, a Clear disponibiliza de tal forma que fica extremamente lento para "Cada Tick".
Talvez isso não se aplique a você, mas vale a pena o teste!
Boa sorte e bons trades!
(se você testou, publica aqui o seu Sucesso ou Insucesso. Vamos ajudar ao próximo).