Documentação

Aplicações

Última atualização em 29. 4. 2019 por Mark Fric

Testes confiáveis no MetaTrader

Confiabilidade dos testes em geral

Antes de mais nada, temos que perceber que o backtesting significa testar a estratégia nos dados históricos. O fluxo exato de carrapatos nunca se repetirá no futuro, portanto, mesmo que você esteja usando dados reais de carrapatos, isso não significa que sua estratégia se comportará da mesma forma no futuro que se comportou no passado.

Em segundo lugar, devemos perceber que o backktest não pode ser 100% preciso. Na melhor das hipóteses, o backtest oferece uma aproximação próxima de como as negociações seriam executadas em tempo real. Há coisas como spreads alargados, solicitações, deslizamentos, atrasos, desconexões de rede, falhas VPS e assim por diante que afetam as negociações reais ao vivo.

 

A propriedade mais importante de nossa estratégia deve ser sua robustez. 

Temos que ter certeza de que não nos limitamos a ajustar nossa estratégia aos dados existentes para que eles funcionem bem em nossos testes de retaguarda; que permaneçam lucrativos apesar das mudanças nos dados, nos parâmetros, quando faltam poucas operações, etc.

StrategyQuant oferece muitas ferramentas (verificações cruzadas) para testar a estratégia de robustez. Você pode testar t em diferentes mercados, com variação de parâmetros, ou com variação de mudanças aleatórias nos dados do histórico usando testes Monte Carlo.

 

Testes confiáveis entre SQ e MT4/5

Um backtest confiável neste sentido significa que a estratégia terá os mesmos resultados ou resultados muito semelhantes no StrategyQuant e no MetaTrader.

Se sua estratégia tem resultados totalmente diferentes em SQ e em MT, então há algo errado com sua configuração e você tem que resolvê-lo antes de seguir em frente.

O mecanismo de retro-teste no SQ foi feito para combinar com o mecanismo de negociação MetaTrader, portanto, se você vir as diferenças é mais provável que seja em dados ou configurações diferentes entre os dois programas.

Abaixo listamos alguns pontos que você deve estar atento.

 

1. Certifique-se de que você tenha todos os indicadores personalizados importados

Esta é uma das etapas de pós-instalação: https://strategyquant.com/doc/strategyquant/installation/#steps-after-installation
O SQ usa alguns indicadores personalizados e você tem que importá-los para o MetaTrader para que ele funcione.

 

2. Importe dados de seu MetaTrader, ou certifique-se de que os dados baixados do Dukascopy sejam similares ao seu corretor

SQ oferece download conveniente de dados de alta qualidade de tick e M1 fornecidos gratuitamente pela Dukascopy.
Os dados em si são confiáveis, mas certifique-se de usar o mesmo fuso horário de seu corretor, especialmente se você planeja usar recursos como Exit at end of day / Friday.

A maneira mais fácil de verificar se sua configuração está correta é usar os mesmos dados no SQ e no MT, o que significa exportar seus dados do MT e importá-los para o SQ. Em seguida, verifique se o backtest da estratégia corresponde a esses dados - deveria. Se isso não acontecer, verifique o ponto 3.

Além disso, conte com o fato de que seu corretor terá dados ligeiramente diferentes da Dukascopy e certifique-se de que sua estratégia seja robusta e possa resistir a ela. Testar sua estratégia no SQ e depois em dados diferentes em seu MetaTrader é outra forma de teste de robustez.
Basta ter certeza de que se houver grandes diferenças nos dados, elas não serão causadas por sua configuração, mas por uma verdadeira falha estratégica.

 

3. Certifique-se de usar o motor correto e o tipo de barra correta nos dados importados

A escolha do motor é óbvia - verifique duas vezes se você realmente usa o motor MetaTrader 4 ou 5 no SQ, pois ele oferece uma escolha de motores.

Ao importar um arquivo de formulário de dados, certifique-se de usar "O carimbo de tempo é hora de início da barra" tipo de dados de barra. Este é o tipo de dados usado pelo MetaTrader, e influencia como os prazos mais altos são computados.

 

4. Configure seu MetaTrader StrategyTester adequadamente

Certifique-se de usar o mesma faixa de datas, mesma faixa de datas, etc.. O objetivo é ter a mesma configuração entre SQ e MT.

Você também deve considerar desconectar o MetaTrader da rede, pois caso contrário ele usará (por padrão) a corrente ao vivo no backtest, o que significa que seu backtest pode ser pouco diferente cada vez que você o executar.

Como desconectar MetaTrader4
Antes de tudo, o MetaTrader deve estar online e conectado pelo menos por algum tempo, de modo que carregue os spreads reais. Em seguida, você pode desconectá-lo definindo o proxy para algum valor fictício.

Ir para Ferramentas → Opções, guia Servidor e marcar a caixa Habilitar servidor proxy.

Depois clique no botão Proxy ... para configurar o proxy.

Coloque o localhost como um servidor e algum texto falso em Login e Senha. Feche o diálogo clicando em OK e feche o diálogo Opções clicando novamente no botão OK, isso salvará suas configurações.

Agora você tem que reiniciar o MetaTrader novamente e da próxima vez que o iniciar, você será desconectado do corretor.

Você deve ver Sem status de conexão no canto inferior direito do MetaTrader.

A partir de agora todos os seus testes serão executados com os mesmos spreads, e os resultados serão os mesmos toda vez que você executar o teste.

 

5. Reinicie o SQ e limpe os arquivos temporários quando você tiver problemas

O SQ está armazenando os dados de backtest tanto na memória quanto em arquivos em disco, e às vezes pode acontecer que os dados em cache sejam versões mais antigas (erradas) e não tenham sido atualizados quando você importa novos dados ou modifica algo.

Se você experimentar diferenças no backtest tente primeiro sair do SQ, exclua todos os arquivos na pasta /internal/testfiles e inicie o SQ novamente.

Este artigo foi útil? O artigo foi útil O artigo não foi útil

Assine
Notificação de
1 Comentário
Mais antigo
Novidades Mais Votados
Feedbacks em linha
Ver todos os comentários
Corredor de Lâmina
Corredor de Lâmina
21. 11. 2019 3:42 pm

Realmente importante também podem ser as configurações de timestamping e DST dos dados baixados em relação ao corretor que você está planejando usar em Demo ou Real trading, especialmente em prazos mais altos, como H4.