Documentação

Aplicações

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

Testes confiáveis em Tradestation / MultiCharts

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 TS / MC

Um backtest confiável neste sentido significa que a estratégia terá os mesmos resultados ou resultados muito semelhantes em StrategyQuant e Tradestation/ MultiCharts.

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

O motor de retro-teste no SQ foi feito para combinar com os motores de negociação TS/MC, 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
A SQ usa alguns indicadores personalizados e você tem que importá-los para a Tradestation / MultiCharts para fazê-la funcionar.

 

2. Usar as configurações e dados corretos

A diferença nos testes de retaguarda é causada principalmente por problemas nesta área.

Há duas maneiras de usar os dados de seu TS / MC no SQ:

Opção 1 - Importar os dados exatos do gráfico

Esta é a maneira mais confiável - exportar os dados diretamente de sua tabela em TS / MC e importá-los para SQ.

Em Multicarts - use Arquivo -> Exportar Dados
Em Tradestation - abra a Janela de Dados e use a funcionalidade Save there.

Desta forma, você pode ter certeza de estar testando os mesmos dados com suas sessões reais e outras configurações.

Assim, por exemplo, quando você testa sua estratégia no TS/MC, por exemplo, no gráfico de 15 minutos com alguma sessão, então exporta esses dados exatos do gráfico de 15 minutos com a sessão aplicada da plataforma de negociação e os importa para o SQ.

Importante - se você usar desta forma você TEM que definir Sessão = Sem Sessão em Opções de Negociação. É porque os dados já incluem a sessão, caso contrário a SQ tentará aplicar a sessão novamente e o resultado será dados incorretos!


Opção 2 - Importar dados por minuto e deixar o SQ calcular prazos mais altos

É mais conveniente importar dados minuto a minuto do TS, e deixar o SQ calcular prazos mais altos para qualquer backtest que você fizer.

Importante - neste caso, certifique-se de usar a sessão correta no SQ, tem de ser exatamente igual à da Tradestation / Multicharts. As barras em TS / MC são computadas com base nesta sessão e, se você estiver errado, as barras serão computadas erroneamente!

Se você experimentar diferenças no backtest, volte à opção anterior e teste nos dados exportados do gráfico.

Há um novo artigo descrevendo como fazer corretamente exportar o formulário de dados Tradestation.

 

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 Tradestation ou MultiCharts 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 é o fim do tempo de bar" tipo de dados de barra. Este é o tipo de dados usado pelo MetaTrader, e influencia como os prazos mais altos são computados.

 

4. Usar as opções corretas de negociação de saída baseadas no tempo

Isto se aplica se você tiver qualquer uma das opções comerciais baseadas no tempo ativadas - por exemplo Saída no final do diaou Saída Na sexta-feira.

Ao usar qualquer uma destas duas opções, você tem que definir o horário de saída deles para 00:00 - SQ fechará as negociações no final do dia - ou, se você especificar o horário exato, você tem que ter certeza de que é o horário de uma barra existente ANTES da última barra do dia.

A configuração incorreta neste caso poderia fazer com que a SQ fechasse as negociações no final do dia em um horário diferente do da plataforma TS / MC.

Se você experimentar diferenças nas estratégias, compare os horários de fechamento de negócios fechados no final do dia entre SQ e TS/MC se ele se comportar da mesma forma.

 

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.

 

6. O apoio aos subcartões ainda está em desenvolvimento

Concentramo-nos em estratégias de um único gráfico na implementação do mecanismo de teste Tradestation / MultiCharts.
As estratégias que utilizam múltiplos gráficos (Data2, Data3 etc. em EasyLanguage) ainda não foram testadas em StrategyQuant para corresponder - elas podem ou não funcionar.
Estaremos nos concentrando nisto nas próximas construções.

 

7. Maior precisão nos testes ainda está em desenvolvimento

Neste momento, é possível utilizar o motor de teste Tradestation / MultiCharts com precisão de teste 'Selected Timeframe'. Isto é suficiente para todos os tipos de pedidos - mercado, parada, limite. A Tradestation / MultiCharts funciona de forma confiável com este tipo de precisão de teste, e pode ser usada em negociações ao vivo.

Estamos trabalhando para adicionar também melhores modos de precisão, eles serão adicionados em uma das futuras construções.

 

8. Há poucos indicadores que não foram testados extensivamente no TS/MC

Muito poucos indicadores não foram testados em todas as suas configurações possíveis, e poderiam causar diferenças no comércio. Eles são:
- Pivots
- Fibo

 

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
Jordânia
2. 12. 2023 1:57 am

Estou ansioso por um mecanismo de teste Multicharts de maior precisão, pois estou esperando há vários anos, o que é realmente importante para aumentar a credibilidade dos resultados dos testes.