Proteções Anti-Repainting
Entenda o que é o repainting de indicadores, como o Backtrex o previne e por que os resultados do seu backtest são confiáveis.
O que é Repainting?
O repainting ocorre quando um indicador ou estratégia altera seus sinais históricos após o fato. Um sinal que pareceu acionar uma compra em um momento específico pode desaparecer ou mudar quando você olha o mesmo gráfico mais tarde.
Esta é uma das fontes mais comuns de resultados de backtest enganosos. Uma estratégia que parece altamente lucrativa no backtesting pode ter desempenho ruim no trading ao vivo, porque os sinais que mostrava historicamente foram modificados após o preço se mover.
Causas Comuns de Repainting
Uso de Dados da Barra Atual
Muitos indicadores usam o preço de fechamento da barra atual enquanto ela ainda está se formando. O valor muda a cada tick até o fechamento da barra, o que significa:
- Um sinal de "compra" pode aparecer no meio da barra e desaparecer quando a barra fechar
- Motores de backtest que usam os dados finais da barra mostrarão o sinal como se tivesse sido confirmado, mas no trading ao vivo você teria agido com base em um sinal não confirmado
Viés de Antecipação
Alguns cálculos de indicadores referenciam pontos de dados futuros. Por exemplo, um indicador zigzag precisa "olhar para frente" para encontrar o próximo pivô, o que significa que seus valores históricos mudam à medida que novos dados chegam.
Recalculo do Histórico
Certos indicadores recalculam todo o histórico quando novos dados chegam, reescrevendo efetivamente sinais passados.
Como o Backtrex Previne o Repainting
Somente Dados de Barras Confirmadas
O Backtrex aplica uma regra estrita: todos os cálculos de indicadores e avaliações de sinais usam somente dados de barras confirmadas. Especificamente:
- Todas as referências de preço usam
close[1](o fechamento confirmado da barra anterior), nãoclose[0](a barra atual em formação) - Nenhum indicador pode acessar os dados da barra atual para geração de sinais
- Isso garante que cada sinal no seu backtest existiu e estava visível no momento em que foi acionado
Sem Antecipação
O motor de backtest processa as barras estritamente em ordem cronológica. Em qualquer barra:
- Apenas dados passados estão disponíveis
- As barras futuras são completamente invisíveis para o cálculo
- Nenhum indicador pode referenciar dados que não estariam disponíveis naquele momento no tempo
O que Isso Significa para Você
Quando você vê um sinal de compra em uma barra específica no seu backtest no Backtrex:
- Esse sinal foi gerado usando apenas dados disponíveis naquele momento
- O sinal teria sido visível para você se estivesse observando o gráfico ao vivo
- O mesmo sinal aparecerá se você exportar para o TradingView e verificar a mesma barra
Verificação Através do Export
O recurso de export de Pine Script oferece uma camada adicional de verificação:
- Exporte sua estratégia e execute-a no TradingView
- Compare os sinais e as entradas de trades entre Backtrex e TradingView
- A divergência garantida inferior a 2% confirma que o anti-repainting está funcionando corretamente
Por que Isso Importa
Uma estratégia com resultados de backtest realistas oferece:
- Confiança: O que você vê é o que você teria experimentado no trading ao vivo
- Avaliação de risco precisa: As cifras de drawdown e perdas refletem o risco real
- Otimização confiável: As mudanças de parâmetros produzem melhorias genuínas, não artefatos de repainting
Conceito Equivocado Comum
Alguns traders acreditam que usar close[1] em vez de close[0] significa "perder" uma barra. Isso não é uma limitação. É a única forma correta de avaliar sinais:
- No trading ao vivo, você só pode agir em um sinal após o fechamento da barra
- Usar
close[0]daria um sinal baseado em dados nos quais você não pode operar em tempo real - O "atraso" de uma barra é na verdade como o trading real funciona