IS/OOS não basta: como desenhar janelas de walk-forward
Sumário
Conclusão: se o OOS é um único trecho, ainda é só "um teste"
Separar os dados em período de otimização (IS) e período de validação (OOS) é um bom primeiro passo para desconfiar de overfitting. Mas, com uma única divisão, o resultado do OOS só diz como o sistema se saiu naquele trecho específico.
Nossa conclusão é a seguinte: divida o OOS em várias janelas, avance no tempo validando uma a uma e olhe se cada janela fechou no lucro, não apenas o total. Se o total é positivo, mas o lucro está concentrado em poucas janelas, a avaliação fica em suspenso.
O ponto fraco da divisão fixa
O ponto de corte influencia o resultado
Na divisão fixa, quem decide onde cortar é o desenvolvedor. Se o OOS cair num período de tendência bem definida, o sistema parecerá melhor do que realmente é. Se cair num período oposto, você pode acabar descartando uma lógica que funcionaria. Nos dois casos, o resultado depende de uma única escolha: o ponto de corte.
Olhar o OOS várias vezes faz com que ele deixe de ser OOS
Outro problema está no comportamento do desenvolvedor. O desempenho no OOS é ruim, você ajusta os parâmetros e olha o OOS de novo. Repetindo isso, na prática você está escolhendo o que se encaixa no OOS. Os dados continuam "não usados" no papel, mas, na realidade, foram usados na otimização. É um erro que também pode acontecer conosco, e só um procedimento rígido o evita.
Como montar as janelas do walk-forward
O walk-forward trata o "período de otimização" e o "período de validação imediatamente seguinte" como um par (uma janela) e repete esse par deslocando-o para a frente no tempo. O trecho de validação sempre fica no futuro em relação ao de otimização, e assim você obtém vários OOS.
| Método | Como a janela se move | Quando é indicado | Ponto fraco |
|---|---|---|---|
| Divisão fixa | Um único corte | Primeira checagem grosseira | Forte dependência do ponto de corte |
| Rolling | Avança mantendo o tamanho do período de otimização | Ativos cujo comportamento muda com frequência | Descarta informação de fases antigas |
| Anchored | Início fixo, período de otimização cresce | Lógicas com poucas operações | A influência de dados antigos persiste |
Critério para definir o tamanho da janela
É mais seguro definir o tamanho da janela pelo número de operações do que pelos anos do calendário. Se o trecho de validação tiver poucas operações, lucro ou prejuízo é decidido pelo acaso. Quanto maior o tempo de permanência nas posições e menor a frequência de operações, mais longo precisa ser o trecho de validação.
Passo a passo para conferir janela por janela
- Disponha as janelas de modo que os trechos de validação não se sobreponham
- Otimize em cada janela e aplique os parâmetros obtidos apenas ao trecho de validação imediatamente seguinte
- Registre, para cada trecho de validação, resultado, PF, número de operações e drawdown máximo
- Verifique quantas janelas têm PF de 1.0 ou mais e em que períodos estão as janelas no prejuízo
- Retire a janela de maior lucro e confira se a soma das demais continua positiva
- Observe se os parâmetros escolhidos em cada janela não ficam saltando de forma errática
Há três pontos principais a checar:
- Os lucros estão concentrados em poucas janelas?
- As perdas das janelas negativas são grandes demais em relação aos ganhos das positivas?
- Os parâmetros ótimos mudam de forma extrema entre janelas vizinhas?
Não achamos necessário que todas as janelas sejam lucrativas. Sistemas seguidores de tendência normalmente perdem em janelas sem direção. O problema é não conseguir explicar por que uma janela perdeu, ou a profundidade da perda superar o esperado.
Limites e cuidados
Sem operações suficientes, a janela não se sustenta
O backtest do ATLAS tem 1193 operações em 7,5 anos de validação, então, mesmo dividido em várias janelas, cada uma ainda conserva um número razoável de operações. Já o backtest do ETHEREUM EA tem 154 operações em 7,5 anos de validação. Cortar uma lógica de baixa frequência assim em janelas pequenas deixa pouquíssimas operações por janela, e o resultado positivo ou negativo de cada uma quase não serve como base de decisão. Só resta usar janelas mais largas ou tratar a avaliação por janela como mera referência.
Os números publicados são do período inteiro
O PF e a taxa de acerto do ranking de resultados reais são valores do período de validação como um todo. Não são resultados por janela, portanto não bastam para afirmar se há ou não overfitting. Leia esses números com esse desconto.
O próprio desenho das janelas também pode ser otimizado
Se você variar o tamanho e a quantidade de janelas e escolher a combinação que parece melhor, isso também é overfitting. O desenho das janelas deve ser definido antes de rodar a validação e não pode ser alterado depois. De fora, quase não há como confirmar se essa premissa foi respeitada.
Mesmo assim, o futuro continua incerto
Passar no walk-forward não significa estar preparado para mercados que nunca existiram nos dados. Em nossos testes forward em conta demo, vários EAs também estão no negativo. Trata-se de conta demo, não de resultados em conta real, e o tempo desde o início é curto, então nem os resultados bons nem os ruins permitem tirar conclusões. Um método de validação é uma ferramenta para reduzir erros, não uma promessa de acertos.
Resumo
- Na divisão fixa em IS/OOS, o resultado depende do ponto de corte e de quantas vezes o OOS foi revisto
- O walk-forward cria vários trechos de validação e os confere avançando no tempo
- O que se observa é o resultado de cada janela, não o total: confira a concentração de lucros e a estabilidade dos parâmetros
- Em lógicas com poucas operações, quanto mais se divide em janelas, mais instável fica a avaliação
- O desenho das janelas deve ser fixado de antemão. Passar no teste não revela o desempenho futuro
Também reunimos nossa forma de pensar a validação na coletânea de conhecimento.
Relacionados
2026-10-02
Análise Walk-Forward para Evitar Curve Fitting
2026-10-12
Análise anual do EA: detectar dependência de um ano bom
2026-10-11
EA com payoff esperado baixo: lucro engolido pelos custos
2026-10-10
Índice de Sharpe serve para EAs de baixa frequência?
📧 Avisos antes de aumentos de preço no MQL5 Market + curso gratuito de 5 dias por e-mail
Neste site nossos EAs são gratuitos com uma conta real numa corretora parceira. As versões vendidas no MQL5 Market estão a preço de lançamento e sobem por etapas conforme as vendas. Receba um aviso antes de cada aumento, além de um e-mail diário sobre fundamentos do trading algorítmico, como ler backtests corretamente e como escolher corretora.
* Privacidade rigorosamente protegida. Você pode cancelar a inscrição a qualquer momento.
Tem alguma dúvida sobre EAs ou Forex?
Você pode publicá-la no fórum de trading da Nattzy (cadastro gratuito). Dúvidas além deste artigo também são bem-vindas — configuração de EAs, escolha de corretora e mais.
Perguntar na Nattzy ↗