Categoria
Desempenho
Nível
Avançado
Usado em
BacktestingDesenho de estratégiaOperação do MT5

Análise walk-forward

Análise walk-forward é o método de validação que reotimiza a estratégia em uma janela do histórico, opera esses ajustes intocados na janela seguinte e então desloca as duas janelas e repete — citando apenas os trechos intocados.

também: WFA, otimização walk-forward, WFO, teste fora da amostra deslizante

Atualizado · Revisado · Revisado por mt5depot research desk

Em palavras simples

Ajuste as regras em um trecho do histórico, opere-as intocadas no trecho seguinte, depois deslize os dois trechos e faça tudo de novo. Só os trechos intocados entram no número que você cita.

Por que importa

Um único teste fora da amostra responde a uma pergunta uma vez. A análise walk-forward volta a fazê-la a cada passo, que é o único jeito de ver se uma vantagem continua sobrevivendo ao reajuste em vez de ter sobrevivido a ele uma vez por sorte. Ela também ensaia o que um operador de fato faz: escolher parâmetros no passado recente e depois rodá-los rumo a um futuro que ninguém viu.

  • Ela avalia o procedimento, não um ajuste. «Reajustar deste jeito, depois operar» é o que você realmente vai fazer, então é isso que vale validar.
  • Ela devolve uma série de resultados fora da amostra em vez de um número só, de modo que um trimestre lisonjeiro não consegue sustentar a alegação sozinho.
  • Ela expõe os parâmetros que se recusam a ficar parados. Quando cada reajuste cai em um lugar novo, as regras estão seguindo a amostra e não o mercado.
  • Uma reserva única esconde a questão do regime. Duas das nossas oito buscas registradas passaram na janela posterior à busca e depois falharam na janela anterior a ela.

Usando para validar uma estratégia

Onde é usado

  • Validar uma estratégia cujos parâmetros você realmente pretende reajustar em intervalos regulares.
  • Escolher o intervalo de reotimização — quanto tempo um conjunto de parâmetros continua utilizável antes de precisar de uma renovação.
  • Separar uma vantagem que sobrevive a vários regimes de outra que só existiu na janela em que foi ajustada.
  • Construir um registro fora da amostra defensável quando o histórico é curto demais para abrir mão de um único bloco reservado grande.

Como é um resultado confiável

  • Só os trechos fora da amostra compõem o número de manchete, emendados um no outro, com as cifras dentro da amostra ao lado deles e não misturadas a eles.
  • Você fixou o comprimento de treino, o comprimento de teste e o passo antes da primeira corrida, e os três viajam junto com o resultado.
  • O relato cita a eficiência fora da amostra — o desempenho fora da amostra como fração do desempenho dentro da amostra — e não apenas o lucro.
  • Cada passo lista os parâmetros que selecionou, para que o leitor julgue o quanto eles vagam.
  • A quantidade de configurações walk-forward testadas aparece em algum lugar, porque testar muitas já é, em si, uma forma de ajuste.

Sinais de alerta

  • Uma única cifra combinada, sem separação entre as metades dentro e fora da amostra.
  • Comprimentos de janela que parecem ajustados: uma razão estranha entre treino e teste que ninguém explica.
  • Parâmetros que saltam a cada reajuste, o que significa que cada ajuste persegue o ruído da janela anterior.
  • Eficiência perto ou acima de 100 %, o que aponta para um vazamento entre as janelas muito mais vezes do que para uma estratégia excepcionalmente robusta.
  • Variantes ancorada e deslizante citadas como intercambiáveis, já que uma janela que cresce e uma janela fixa respondem a perguntas diferentes.

Backtest x operação real

  • A análise walk-forward fecha parte da distância até o resultado real, porque o procedimento testado é o procedimento implantado.
  • Ela deixa o risco de execução intocado. Slippage, alargamento de spread e latência ficam todos fora do exercício.
  • Ela não consegue inventar regimes que o histórico nunca teve, então uma estratégia que sobrevive a vinte reajustes dentro de uma década calma segue sem teste contra uma década de estresse.
  • Espere um resultado real perto da série fora da amostra, e não da série dentro da amostra. As cifras dentro da amostra diagnosticam a busca; elas não preveem nada.

Método de validação recomendado

  1. 1O MetaTrader 5 não traz um walk-forward deslizante. O campo Forward, na aba Configurações (Settings) do Testador de Estratégia (Strategy Tester), corta o intervalo uma única vez — 1/2, 1/3, 1/4 ou uma data personalizada — e avalia as passagens sobreviventes na cauda, em uma aba Forward Results separada. Cada corrida rende um único passo.
  2. 2Monte a série na mão: repita a otimização uma vez por passo, cada uma com o intervalo de datas deslocado pelo comprimento do passo, e guarde a linha forward de cada uma. Vinte trechos custam vinte corridas, então defina a contagem de passos antes de começar.
  3. 3Escolha o critério de otimização antes de olhar a grade, porque é ele que decide qual passagem o MT5 chama de vencedora em cada passo. O Custom max encaminha essa decisão para o seu OnTester() quando nenhum critério embutido corresponde ao seu jeito de julgar uma corrida.
  4. 4O MT5 sempre recorta a fatia forward do fim do intervalo, então a janela imediatamente anterior ao período de treino nunca enfrenta um teste. Rode essa janela você mesmo: no nosso próprio conjunto, ela pegou duas estratégias que a checagem forward já havia liberado.
  5. 5Registre os parâmetros vencedores passo a passo. A aba Forward Results entrega uma passagem, nunca a trajetória dos ajustes ao longo dos passos — e essa trajetória é o achado.
  6. 6Trate o exercício inteiro como um experimento. Rodá-lo de novo com novos comprimentos de janela até que ele passe move o overfitting um nível acima em vez de removê-lo.

Exemplo

Um passo, do nosso próprio trabalho registrado: as oito buscas de parâmetros de EXP-PARAM-SEARCH-OUTCOMES-001. O modelo ichimoku varreu uma grade de 12 combinações em H1, guardou a sua melhor passagem dentro da amostra e então encontrou duas janelas que a busca nunca havia tocado.

Grade varrida
12 combinações
SL 30-80 x TP 60-250, H1
Fator de lucro dentro da amostra
1,37
Janela posterior à busca
0,89
Janela anterior à busca
0,80
Buscas registradas / adotadas
8 / 0

65 % cai dentro da faixa que a maioria dos relatos chama de forte. O mesmo ajuste ainda assim perdeu dinheiro nas duas janelas inéditas, e é por isso que um passo se lê como um dado e nunca como um veredicto.

Cálculo 0,89 dividido por 1,37 = 65 % de eficiência no passo; 0,80 dividido por 1,37 = 58 % na janela anterior

Resultado 65 % de eficiência — em um ajuste que nos recusamos a publicar

Como interpretar

Leia primeiro a série fora da amostra, depois a razão, depois a estabilidade dos parâmetros. O lucro de manchete é o menos informativo dos três.

Faixa O que significa
Abaixo de cerca de 40 % A busca ajustou principalmente a própria janela. Uma vantagem pequena pode sobreviver, mas não a que foi anunciada.
Cerca de 40-60 % Comum assim que vários parâmetros se movem. Planeje em torno da cifra fora da amostra, não da que está dentro da amostra.
Acima de 60 % em um único passo Animador, não um veredicto. O nosso passo de 65 % ainda perdeu nas duas janelas que não tinha visto.
Acima de 60 % na maioria dos passos, com parâmetros estáveis Forte. Os reajustes continuam funcionando e concordam sobre os ajustes.
Perto ou acima de 100 % Suspeite de um vazamento entre as janelas, de um viés de antecipação (look-ahead) ou de trechos em número pequeno demais para significar algo.
  • Conte os trechos. Quatro trechos são uma anedota; vinte são uma distribuição.
  • Trace os parâmetros selecionados ao longo dos passos. Um ótimo que vagueia está lhe dizendo que é ruído.
  • Nunca misture o capital dentro e fora da amostra em uma única curva: essa mistura é parte prova, parte gabarito.
  • Teste também a janela anterior ao período de treino. Duas das nossas oito buscas passaram para a frente e falharam para trás.

O mt5depot publica a janela de dados, o modelo do testador e o número de operações por trás de cada corrida, de modo que qualquer alegação fora da amostra aqui possa ser conferida contra a amostra que a produziu.

Erros comuns

Chamar uma única corrida Forward do MT5 de walk-forward

O campo Forward divide o intervalo uma vez e reporta a cauda. Isso é uma reserva ancorada única com uma aba mais arrumada, e responde à pergunta uma só vez. A análise walk-forward precisa que a divisão se mova, o que no MT5 significa conduzir o laço você mesmo: uma otimização por passo, depois reunir as linhas forward em uma série.

Ajustar a própria configuração do walk-forward

Varrer vários comprimentos de treino e de teste e depois publicar o par que pontuou melhor apenas realoca o overfitting um nível acima. Os comprimentos de janela também são parâmetros, então escolha-os, anote-os e só então rode.

Ler um número alto fora da amostra como automaticamente bom

A nossa busca macd_signal chegou a 1,14-1,15 na janela posterior à busca e a 0,74-0,77 na janela anterior a ela. Números altos fora da amostra podem significar um vazamento, um regime favorável ou trechos de menos — investigue antes de comemorar.

Supor que o walk-forward prova robustez contra condições inéditas

Ele só testa condições que o histórico continha. Vinte reajustes dentro de um mesmo regime produzem vinte resultados daquele regime, o que não diz nada sobre o próximo.

Em detalhe

Perguntas frequentes

Como se roda uma análise walk-forward no MetaTrader 5?
O MT5 entrega as peças, não o laço. Ajuste o Forward, na aba Configurações (Settings) do Testador de Estratégia, para 1/2, 1/3 ou 1/4: o testador otimiza na frente do seu intervalo de datas e avalia as passagens sobreviventes na cauda, que ele lista em uma aba Forward Results própria. Isso é um passo. Para uma série, desloque o intervalo de datas inteiro para a frente pelo comprimento do passo e rode a otimização de novo, uma vez por trecho, registrando a linha forward e os parâmetros vencedores a cada vez. Vinte trechos significam vinte corridas.
Quais devem ser os comprimentos das janelas dentro e fora da amostra?
Longos o bastante para que a janela de treino contenha mais de um regime e a janela de teste contenha operações em número suficiente para significar algo. As razões embutidas do testador — 1/2, 1/3 e 1/4 — são pontos de partida sensatos, e uma data forward personalizada dá uma fatia de teste mais curta quando o passo é pequeno. A regra importa mais do que os números: escolha a razão antes da primeira corrida, porque testar várias e publicar a melhor repete justamente o erro que o walk-forward existe para pegar.
A análise walk-forward elimina o overfitting?
Não. Ela o realoca e o torna visível. O reajuste continua acontecendo dentro de cada janela de treino, então o método mede quanto desse ajuste sobrevive ao contato com a janela seguinte em vez de impedi-lo. As nossas próprias oito buscas registradas rodaram 116 combinações de parâmetros e não adotaram nenhuma: duas delas passaram na janela posterior à busca e depois falharam na janela anterior a ela, que é exatamente o padrão que uma reserva única esconde.
O que conta como uma boa eficiência fora da amostra?
Cerca de 40-60 % é o comum assim que um punhado de parâmetros se move, e cifras acima de 60 % mantidas na maioria dos passos com parâmetros estáveis contam como fortes. Trate qualquer passo isolado com desconfiança: a nossa busca mais bem ajustada marcou 65 % em um passo e o ajuste escolhido ainda perdeu dinheiro nas duas janelas que não tinha visto. Uma cifra perto ou acima de 100 % sinaliza um vazamento entre as janelas de treino e de teste com mais frequência do que uma estratégia excepcionalmente robusta.
Qual critério de otimização deve classificar as passagens?
Decida antes de a grade aparecer, porque o critério — a função objetivo, na literatura mais ampla — escolhe a passagem vencedora em cada passo. A classificação por saldo premia a passagem que assumiu mais risco, a classificação por drawdown premia a que menos operou, e o Custom max entrega a decisão ao seu próprio OnTester() quando nenhuma das duas serve. Nas nossas buscas registradas, a classificação do testador nunca resolveu nada sozinha: toda passagem sobrevivente ainda tinha de sustentar um fator de lucro acima de 1,0 em três janelas, e nenhuma das oito conseguiu.
Em que a análise walk-forward difere de um único teste fora da amostra?
Um teste único reserva um bloco de dados e confere os parâmetros finais contra ele uma vez. O walk-forward repete o ciclo de ajustar e testar ao longo de todo o histórico, então devolve uma série de resultados fora da amostra e testa o próprio procedimento de reajuste — a coisa que um operador de fato executa mês após mês.