Buscar no site

O que procura?

Introduza o nome de uma corretora, ferramenta ou tema.

Ordens e execução

Backtesting no Forex: como testar sem usar informações futuras

O backtesting no forex aplica regras de negociação explícitas a preços históricos e registra as operações que essas regras teriam produzido sob determinadas hipóteses de execução. Um teste útil deixa claros a sequência dos eventos, os dados e os custos. Ele não comprova como uma corretora teria executado as ordens nem quanto a estratégia ganhará no futuro.

Autor · Editor

Revisado

Painéis paralelos de pedra clara, com uma placa de vidro em moldura verde-petróleo à frente e um pequeno painel âmbar entre os painéis de pedra.
Acompanhe o sinal até o próximo evento de execução

O essencial

  1. Um sinal só pode usar uma barra completa depois que ela fecha. A execução deve ocorrer em um evento posterior permitido pelo teste.

  2. Spread, slippage e comissão precisam seguir uma base de cálculo coerente. Custos já embutidos nos preços de execução não devem ser descontados novamente.

  3. Uma amostra histórica reservada perde a independência quando seus resultados passam a influenciar novas decisões. A simulação fictícia abaixo é um exemplo didático, não uma validação.

O que é backtesting no forex?

Fazer um backtest é reconstruir uma sequência: partir de uma regra fixa, avançar pelas observações disponíveis e registrar decisões, execuções simuladas e resultados. Em uma estratégia forex, isso exige definir o par de moedas, os dados de preço, o tamanho da posição, as entradas, as saídas e os custos de negociação. A pergunta é o que essas regras produziram dentro do modelo, e não se é possível encontrar operações atraentes depois de ver o gráfico completo.

Um teste manual pode seguir esse processo com a reprodução do gráfico e um registro de operações. Um teste automatizado entrega a mesma sequência a um programa. A automação facilita a repetição, mas não corrige uma regra que usa preços futuros sem deixar isso claro, nem uma hipótese de execução que os dados disponíveis não sustentam.

Imagine verificar apenas se o preço acabou atingindo um alvo. Isso não esclarece se o stop foi atingido antes, qual lado da cotação permitia negociar ou se o sinal já existia no momento da entrada. Um teste confiável registra essas decisões antes de interpretar o resultado final.

Separe três questões: o que a regra observou, o que o modelo considerou executável e o que ficou registrado nas operações.

Defina as regras antes de olhar o resultado

Escreva uma especificação curta que outra pessoa consiga seguir sem perguntar quais operações você preferiu. “Comprar quando o impulso melhora” não basta. Defina quais preços medem esse impulso, quando ficam disponíveis e o que acontece se as condições entrarem em conflito. Identifique a versão e a data para que uma regra alterada não substitua silenciosamente a versão testada.

  • Instrumento e observações: símbolo, período gráfico, horários de negociação, fuso horário e tratamento permitido para dados ausentes.
  • Entrada e saída: condições exatas, momento do sinal, evento em que a execução é permitida e estado da posição.
  • Dimensionamento: quantidade fixa ou regra completamente definida, incluindo a possibilidade de aumentar posições existentes.
  • Execução e custos: lado da cotação, spread, comissão, slippage e eventual financiamento de posições mantidas de um dia para o outro.
  • Limites do teste: histórico inicial necessário ao indicador e tratamento das posições abertas e dos sinais na última observação.

A simulação usa uma regra propositalmente simples, apenas de compra. Após o fechamento de cada barra de cinco minutos, compare o fechamento com a média simples dos três últimos fechamentos, incluindo o da barra que acabou de fechar. Se não houver posição e o fechamento estiver acima da SMA3, programe uma compra para a abertura da próxima barra. Se houver uma posição comprada e o fechamento estiver abaixo da SMA3, programe a saída para a próxima abertura. A igualdade não muda nada. Um novo fechamento acima da média não acrescenta outra posição à que já está aberta.

A regra verifica se o fechamento está acima ou abaixo da média; ela não exige um cruzamento e não é uma recomendação de estratégia. A posição é sempre de 10.000 EUR. Uma pesquisa real pode usar outras regras, mas alterar várias delas depois de ver os resultados cria um novo experimento. O modelo de plano de trading ajuda a separar a especificação atual das revisões propostas.

Escolha dados que sustentem o modelo de execução

Comece pela pergunta que os dados conseguem responder. Uma barra OHLC registra abertura, máxima, mínima e fechamento; esses quatro valores não mostram todos os preços intermediários nem a ordem em que ocorreram a máxima e a mínima. Se o stop e o alvo estiverem dentro da mesma barra, somente ela geralmente não permite determinar qual foi atingido primeiro. Aqui, o preço médio (midpoint) é (Bid + Ask) / 2 em um dado instante. A SMA3 é a média dos preços médios de fechamento de três barras consecutivas.

Dado ou configuração

O que verificar antes do teste

Bid, Ask, ponto médio ou Last

Identifique a base dos preços registrados. O ponto médio não é, por si só, uma cotação de compra ou de venda.

Barras ou ticks

Use uma resolução compatível com a lógica das ordens. Não invente uma trajetória precisa dentro da barra a partir de quatro preços.

Horários e sessões

Registre o fuso horário, os limites das barras, os gaps de fim de semana e os intervalos ausentes.

Especificação do símbolo

Confira o incremento de preço, o tamanho do contrato, a moeda do resultado e o significado do spread informado.

Role para os lados para comparar todas as colunas ↔

A documentação do MetaTrader 5 sobre ticks explica por que os preços do gráfico precisam ser distinguidos dos preços de execução: compras e vendas usam lados diferentes da cotação, mas os gráficos disponíveis não necessariamente exibem ambos. Para uma regra sensível ao preço, isso pode mudar tanto a elegibilidade de uma ordem quanto seu resultado.

A expressão “ticks reais” também exige conferir os dados. A documentação de testes do MQL5 descreve situações em que o testador gera ticks porque os registros reais estão ausentes ou inconsistentes. Registre o modo escolhido e investigue os avisos sobre cobertura; o nome do modo não descreve, sozinho, cada observação utilizada.

A simulação contém 36 barras fictícias de pontos médios do EURUSD, espaçadas em cinco minutos, dentro de uma única sessão intradiária inventada. Elas não foram baixadas de um histórico de mercado. Não há ordens stop, limitadas ou de alvo cuja sequência precise ser resolvida dentro de uma barra. O exemplo ensina a ordem dos eventos e o cálculo dos custos; não demonstra se uma regra de SMA funciona no EURUSD.

Acompanhe o sinal até o próximo evento de execução

Experimente

Acompanhe um backtest, decisão por decisão

Veja uma regra fixa percorrer 36 candles fictícios de cinco minutos de EUR/USD com preços no ponto médio entre Bid e Ask. Altere os custos presumidos e confira o sinal, a próxima abertura e o registro do resultado.

Dados apenas didáticos. Os candles são inventados: não são um histórico de mercado nem comprovam que a regra funciona.

A regra não muda

Após o fechamento do candle, compare seu preço de fechamento no ponto médio com a média desse fechamento e dos dois anteriores. Acima da SMA3: abra uma posição comprada se não houver posição. Abaixo: encerre a posição comprada. A igualdade mantém o estado. Cada posição tem 10.000 EUR; os resultados são em USD.

Uma decisão só pode ser executada na próxima abertura dentro da janela escolhida. Sinais de compra repetidos não aumentam o volume. Não há posições vendidas, stops, ordens limitadas, financiamento overnight ou otimização de parâmetros.

Defina as premissas de execução
De 0 a 20 pips. Metade é adicionada à compra e descontada da venda. Neste exemplo EUR/USD, 1 pip = 0,0001 USD por EUR.
De 0 a 10 pips por execução. Este exemplo considera apenas slippage desfavorável.
De 0 a 100 USD por execução da posição inteira de 10.000 EUR; não é uma tarifa por lote.
Cada janela começa sem posição. Os fechamentos anteriores apenas inicializam a SMA3; não geram operações nem comissões.
Exemplos de custos

Candle 36 da janela escolhida (1–36) · 11:55

Confira a conciliação do resultado

Operações encerradas · P/L líquido
-3,70 USD
Posição aberta · P/L marcado após a comissão de entrada
16,25 USD
P/L total do modelo
12,55 USD

Líquido encerrado -3,70 USD + líquido marcado aberto 16,25 USD = total 12,55 USD.

Posições encerradas: 4. Execuções até esta etapa: 9.

A posição comprada aberta é avaliada pelo último fechamento no ponto médio menos metade do spread. A comissão de entrada já paga é descontada uma única vez. Essa avaliação não inclui futura comissão ou slippage de saída.

Sinal de venda no candle 36: ainda pendente. A posição continua aberta e nenhuma comissão de saída foi cobrada. Não há outra abertura dentro da janela; por isso, o último sinal não é executado aqui.

Onde os custos aparecem
P/L encerrado pelos preços de execução
-0,90 USD
Comissões das posições encerradas
2,80 USD
P/L aberto marcado antes da comissão de entrada
16,60 USD
Comissão paga da entrada aberta
0,35 USD
Todas as comissões pagas
3,15 USD
Efeito do spread já incluído nas execuções
5,40 USD
Slippage já incluído nas execuções
1,80 USD
Metade adicional do spread na marcação aberta
0,60 USD

Spread e slippage já estão nos preços de execução; não desconte esses efeitos novamente. A comissão é uma cobrança separada. Marcar uma posição aberta não significa executar a saída.

As janelas inicial e posterior são exemplos temporais separados, não uma validação fora da amostra nem um teste forward com cotações futuras. A posição aberta inicial não é encerrada de forma oculta nem transferida para a janela posterior. Não some os P/L como se fossem um histórico contínuo da conta.

Fechamentos no ponto médio, SMA3 e execuções

Apenas os candles já alcançados são mostrados. A linha contínua liga os fechamentos no ponto médio; a tracejada representa a SMA3. Triângulos para cima e para baixo marcam compras e vendas hipotéticas na abertura de cada candle. O eixo vertical indica USD por EUR.

USD por EUR

Candle de cinco minutos

  • Fechamento no ponto médio
  • SMA3
  • Compra na abertura
  • Venda na abertura

Sinal → próxima abertura → posição

Leia cada linha em ordem temporal: primeiro execute a decisão anterior na abertura e depois avalie o fechamento atual. Uma linha entre candles não cria preços ou execuções intermediários.

Sinal → próxima abertura → posição
Candle · horário do exemploNesta aberturaFechamento no ponto médio / SMA3Neste fechamentoApós o fechamentoP/L total do modelo
109:00Sem execução1,10000—Menos de três fechamentos: sem decisãoSem posição0,00 USD
209:05Sem execução1,10020—Menos de três fechamentos: sem decisãoSem posição0,00 USD
309:10Sem execução1,100401,10020Acima da SMA3: comprar na próxima aberturaSem posição0,00 USD
409:15Compra a 1,10058; sinal do candle 31,100801,1004667Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR1,25 USD
509:20Sem execução1,101201,10080Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR5,25 USD
609:25Sem execução1,101601,10120Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR9,25 USD
709:30Sem execução1,101801,1015333Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR11,25 USD
809:35Sem execução1,101601,1016667Abaixo da SMA3: vender na próxima aberturaComprado em 10.000 EUR9,25 USD
909:40Venda a 1,10142; sinal do candle 81,101301,1015667Abaixo da SMA3: continuar sem posiçãoSem posição7,70 USD
1009:45Sem execução1,101001,10130Abaixo da SMA3: continuar sem posiçãoSem posição7,70 USD
1109:50Sem execução1,100801,1010333Abaixo da SMA3: continuar sem posiçãoSem posição7,70 USD
1209:55Sem execução1,101001,1009333Acima da SMA3: comprar na próxima aberturaSem posição7,70 USD
1310:00Compra a 1,10118; sinal do candle 121,101201,10100Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR6,95 USD
1410:05Sem execução1,101001,1010667Abaixo da SMA3: vender na próxima aberturaComprado em 10.000 EUR4,95 USD
1510:10Venda a 1,10072; sinal do candle 141,100701,1009667Abaixo da SMA3: continuar sem posiçãoSem posição2,40 USD
1610:15Sem execução1,100901,1008667Acima da SMA3: comprar na próxima aberturaSem posição2,40 USD
1710:20Compra a 1,10108; sinal do candle 161,101301,1009667Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR3,65 USD
1810:25Sem execução1,101601,1012667Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR6,65 USD
1910:30Sem execução1,101801,1015667Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR8,65 USD
2010:35Sem execução1,101401,10160Abaixo da SMA3: vender na próxima aberturaComprado em 10.000 EUR4,65 USD
2110:40Venda a 1,10122; sinal do candle 201,101001,10140Abaixo da SMA3: continuar sem posiçãoSem posição3,10 USD
2210:45Sem execução1,101201,10120Igual à SMA3: continuar sem posiçãoSem posição3,10 USD
2310:50Sem execução1,100801,10100Abaixo da SMA3: continuar sem posiçãoSem posição3,10 USD
2410:55Sem execução1,100401,10080Abaixo da SMA3: continuar sem posiçãoSem posição3,10 USD
2511:00Sem execução1,100601,10060Igual à SMA3: continuar sem posiçãoSem posição3,10 USD
2611:05Sem execução1,100901,1006333Acima da SMA3: comprar na próxima aberturaSem posição3,10 USD
2711:10Compra a 1,10103; sinal do candle 261,100601,10070Abaixo da SMA3: vender na próxima aberturaComprado em 10.000 EUR-2,15 USD
2811:15Venda a 1,10042; sinal do candle 271,100301,10060Abaixo da SMA3: continuar sem posiçãoSem posição-3,70 USD
2911:20Sem execução1,100601,10050Acima da SMA3: comprar na próxima aberturaSem posição-3,70 USD
3011:25Compra a 1,10078; sinal do candle 291,101101,1006667Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR-1,45 USD
3111:30Sem execução1,101501,1010667Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR2,55 USD
3211:35Sem execução1,101901,10150Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR6,55 USD
3311:40Sem execução1,102301,10190Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR10,55 USD
3411:45Sem execução1,102701,10230Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR14,55 USD
3511:50Sem execução1,103101,10270Acima da SMA3: manter a compra sem nova ordemComprado em 10.000 EUR18,55 USD
3611:55Sem execução1,102501,1027667Abaixo da SMA3: vender na próxima aberturaComprado em 10.000 EUR12,55 USD

As tabelas têm rolagem horizontal. Se necessário, selecione a região da tabela com Tab e use as setas.

Registro de posições

Uma linha encerrada inclui as duas comissões pagas. Uma linha aberta inclui apenas a comissão de entrada e a marcação pelo Bid, não uma saída inventada.

Registro de posições
PosiçãoExecução de entradaExecução de saída / marcaçãoP/L pelo ponto médio, antes dos custosP/L executado / marcadoComissão pagaP/L líquido encerrado / marcado
1EncerradaCandle 4 · 1,10058Candle 9 · 1,1014210,00 USD8,40 USD0,70 USD7,70 USD
2EncerradaCandle 13 · 1,10118Candle 15 · 1,10072-3,00 USD-4,60 USD0,70 USD-5,30 USD
3EncerradaCandle 17 · 1,10108Candle 21 · 1,101223,00 USD1,40 USD0,70 USD0,70 USD
4EncerradaCandle 27 · 1,10103Candle 28 · 1,10042-4,50 USD-6,10 USD0,70 USD-6,80 USD
5Aberta · apenas marcaçãoCandle 30 · 1,10078Candle 36 · 1,1024418,00 USD16,60 USD0,35 USD16,25 USD
Baixar este registro de posições · CSV

O CSV contém apenas a reprodução válida até o candle escolhido. Nomes de campo estáveis em inglês, ponto decimal e precisão integral permitem conferir as contas. O arredondamento ocorre na exibição, não no cálculo.

As tabelas têm rolagem horizontal. Se necessário, selecione a região da tabela com Tab e use as setas.

Examinar os dados OHLC fictícios

Todos os preços abaixo estão no ponto médio entre Bid e Ask. Máximas e mínimas permitem conferir os dados; a regra do fechamento à próxima abertura não as usa para inventar execuções. As linhas anteriores de inicialização estão identificadas e não geram operações.

Examinar os dados OHLC fictícios
Candle · horário do exemploAberturaMáximaMínimaFechamento
1 · 09:001,099801,100101,099701,10000
2 · 09:051,100001,100351,099801,10020
3 · 09:101,100201,100601,100051,10040
4 · 09:151,100501,100901,100401,10080
5 · 09:201,100801,101351,100601,10120
6 · 09:251,101201,101801,101051,10160
7 · 09:301,101601,101901,101501,10180
8 · 09:351,101801,101951,101401,10160
9 · 09:401,101501,101701,101151,10130
10 · 09:451,101301,101401,100901,10100
11 · 09:501,101001,101151,100601,10080
12 · 09:551,100801,101201,100651,10100
13 · 10:001,101101,101301,101001,10120
14 · 10:051,101201,101351,100801,10100
15 · 10:101,100801,101001,100551,10070
16 · 10:151,100701,101001,100601,10090
17 · 10:201,101001,101451,100801,10130
18 · 10:251,101301,101801,101151,10160
19 · 10:301,101651,101901,101551,10180
20 · 10:351,101751,101901,101201,10140
21 · 10:401,101301,101501,100851,10100
22 · 10:451,101001,101301,100901,10120
23 · 10:501,101201,101351,100601,10080
24 · 10:551,100801,101001,100251,10040
25 · 11:001,100401,100701,100301,10060
26 · 11:051,100601,101051,100401,10090
27 · 11:101,100951,101151,100451,10060
28 · 11:151,100501,100601,100201,10030
29 · 11:201,100301,100751,100101,10060
30 · 11:251,100701,101301,100551,10110
31 · 11:301,101101,101601,101001,10150
32 · 11:351,101501,102051,101301,10190
33 · 11:401,101901,102501,101751,10230
34 · 11:451,102301,102801,102201,10270
35 · 11:501,102701,103251,102501,10310
36 · 11:551,103101,103301,102351,10250

As tabelas têm rolagem horizontal. Se necessário, selecione a região da tabela com Tab e use as setas.

Baixe um protocolo de pesquisa

Use o roteiro de texto editável para definir um experimento separado antes de olhar os resultados. Ele não valida um teste nem transforma esta sequência inventada em evidência de mercado.

Baixar protocolo · TXT
Limites do modelo

Volume fixo, execuções completas, spread, slippage e comissão constantes; espera apenas até a próxima abertura. Não há cotações ao vivo, execuções parciais, alavancagem, liquidação por margem, depósitos, saques ou regras de uma corretora específica. É uma explicação de sequência e contabilização, não um emulador de corretora ou otimizador de estratégias.

Este componente calcula nesta aba sem enviar os valores informados nem salvá-los no armazenamento do navegador. Arquivos só são criados quando você escolhe baixá-los. Esta afirmação vale para o laboratório, não para outras partes do site.

Avance na simulação uma barra por vez. Na abertura de uma barra, uma instrução válida programada após o fechamento anterior é executada com base nessa abertura e nos custos escolhidos. Só depois o modelo observa o fechamento da barra atual e calcula um novo sinal. Nenhuma operação pode usar um fechamento que ainda não ocorreu.

Por exemplo, um sinal de compra formado depois do fechamento da barra 3 pode ser executado na abertura da barra 4. Ele não pode receber o preço de abertura da barra 3. Por isso, um gap entre essas barras importa. A documentação de estratégias do TradingView também distingue a criação de uma ordem do tick posterior em que o emulador da corretora pode executá-la com a configuração de tempo padrão.

Compare o período completo com a primeira ou a segunda metade. Cada janela selecionada começa sem posição aberta. Fechamentos anteriores podem fornecer o histórico inicial da média, mas não trazem uma posição, uma taxa anterior ou uma ordem pendente. São execuções didáticas separadas: seus resultados não devem ser somados e apresentados como uma conta contínua.

No fim da janela selecionada, um novo sinal fica sem execução se a próxima abertura estiver fora dessa janela. Uma posição existente continua visível e recebe uma avaliação separada; o modelo não inventa uma saída para que todas as operações pareçam concluídas. Alterar a janela pode, portanto, mudar tanto o número de operações quanto a posição que permanece aberta no final.

As duas metades não constituem uma validação fora da amostra. Ambas pertencem a um pequeno exemplo fictício, e reiniciar as posições modifica o experimento.

Inclua os custos uma única vez, usando a mesma base

Neste modelo baseado no ponto médio, a compra é executada no ponto médio da abertura mais metade do spread e o slippage desfavorável. A venda de encerramento usa o ponto médio da abertura menos metade do spread e o slippage desfavorável. A comissão é uma cobrança separada, em USD, para cada execução da posição fixa de 10.000 EUR. Neste exemplo de EURUSD, 1 pip equivale a 0,0001 USD por EUR.

Exemplo de entrada e saída

Cálculo

Ponto médio na entrada / saída

1,10000 / 1,10200

Hipóteses

Spread de 1,2 pips; slippage desfavorável de 0,2 pip por execução; comissão de US$ 0,35 por execução

Preços de execução na entrada / saída

1,10008 / 1,10192

Resultado de preço após spread e slippage

10.000 × (1,10192 − 1,10008) = US$ 18,40

Resultado líquido da operação encerrada

US$ 18,40 − US$ 0,35 − US$ 0,35 = US$ 17,70

Role para os lados para comparar todas as colunas ↔

Apenas o movimento do ponto médio produziria US$ 20,00. Não desconte spread e slippage dos US$ 18,40 novamente: eles já estão embutidos nos preços de execução. Com o mesmo ponto médio na entrada e na saída, essas hipóteses produzem −US$ 2,30. Acrescentar um pip ao spread reduz o resultado dessa operação completa em US$ 1,00, porque cada lado recebe metade do spread adicional.

Se uma posição continuar aberta, a simulação a avalia pelo último Bid modelado e considera a comissão de entrada já paga. Ela não cobra uma futura comissão de saída nem slippage de saída antes do encerramento. O total exibido é um resultado modelado, não um cálculo completo do patrimônio da conta.

Custos constantes permitem isolar seu efeito; eles não prometem reproduzir cotações reais. Um teste real pode precisar de spreads variáveis, comissões diferentes e financiamento na passagem pelo rollover. Este exemplo intradiário exclui o swap de posições mantidas de um dia para o outro. Consulte o guia de slippage para distinguir o preço solicitado, a cotação disponível e a execução efetiva.

Separe desenvolvimento, amostra histórica reservada e novos dados

Defina quais observações históricas podem orientar o desenvolvimento antes de examinar o período de avaliação. Um período posterior pode colocar à prova uma regra escolhida anteriormente, desde que seus resultados permaneçam fora do processo de seleção. Consultar repetidamente a amostra reservada e ajustar a estratégia transforma esse período em material de desenvolvimento.

Etapa

Objetivo

O que ela não comprova

Desenvolvimento

Construir a regra e examinar as hipóteses nos dados permitidos.

Que a versão escolhida funcionará em outros dados.

Amostra histórica reservada

Aplicar uma versão fixada a observações posteriores, ainda não utilizadas.

Execuções reais da corretora ou rentabilidade futura.

Observação com novos dados

Acompanhar preços que chegam depois da definição das regras.

Que execuções simuladas correspondem às execuções reais.

Role para os lados para comparar todas as colunas ↔

A configuração Forward do MetaTrader 5 usa uma parte posterior do intervalo histórico selecionado. Apesar do nome, isso não equivale a esperar por dados futuros de mercado. Identifique claramente tanto o nome da configuração quanto o método de pesquisa nas suas anotações.

A cronologia também vale para a preparação dos indicadores. Observações anteriores podem fornecer o histórico necessário para calcular um indicador no início do período de avaliação. Elas não devem introduzir um fechamento futuro no cálculo nem criar silenciosamente uma posição quando o experimento foi definido para começar sem ela.

Se a amostra reservada revelar um problema, registre-o. Uma estratégia revisada pode merecer um novo experimento, mas a antiga amostra reservada já é conhecida. Trocar o nome de um arquivo ou escolher outra métrica não devolve ao teste o status de avaliação em dados ainda não examinados.

Investigue as falhas antes de interpretar os retornos

Um resultado favorável é motivo para conferir o registro de operações, não para encerrar a verificação. Escolha algumas entradas e saídas, incluindo uma situação difícil no limite do período, e reconstrua quais informações estavam disponíveis em cada decisão. A linha mais informativa pode ser um sinal não executado ou uma operação pouco atraente que uma análise discricionária deixaria passar.

  • Uso de informações futuras, ou lookahead: a decisão usa um fechamento posterior, um padrão confirmado no futuro ou um valor indisponível naquele momento.
  • Sobreajuste, ou overfitting: muitas configurações são testadas, mas somente a vencedora é preservada, sem registrar a busca.
  • Viés de seleção: datas, instrumentos ou operações favoráveis são mantidos, enquanto observações inconvenientes desaparecem.
  • Incompatibilidade de execução: dados em barras são usados para afirmar uma sequência de execuções intrabar que eles não contêm.
  • Erros de contabilização: sinais repetidos acrescentam posições não previstas, custos são cobrados duas vezes ou uma operação aberta desaparece no limite do período.

Os exemplos de lookahead do TradingView mostram como o acesso a informações futuras pode gerar resultados históricos pouco plausíveis. Uma pergunta prática é se o mesmo sinal poderia ter sido registrado enquanto as observações chegavam uma a uma. Se dados posteriores alteram uma decisão anterior, investigue essa dependência antes de confiar no relatório de desempenho.

Varie as hipóteses de maneira planejada, não até o resultado parecer aceitável. Por exemplo, compare a mesma regra fixa com diferentes custos declarados. Se uma pequena mudança de custo inverter o resultado, registre essa sensibilidade. Ela informa algo sobre o experimento; não justifica ocultar o cenário mais exigente.

Registre um teste reproduzível

Baixe o protocolo do experimento na simulação depois de selecionar a janela e os custos. Guarde-o com o cenário exibido e o registro das operações. A indicação de dados fictícios é essencial: divulgar os números sem esse contexto transformaria um exercício didático em uma alegação enganosa de desempenho.

Na sua própria pesquisa, o protocolo deve permitir que você volte um mês depois e entenda o que foi realmente testado. Uma captura de tela do lucro final não basta quando os dados, o momento do sinal ou a base dos custos mudaram.

  • Registre a versão da regra, a pergunta que pretende investigar e as alterações desde a execução anterior.
  • Identifique o conjunto de dados, a base dos preços, o fuso horário, o intervalo, as omissões e as etapas de preparação.
  • Anote o momento dos sinais, as hipóteses de execução, o dimensionamento, os custos e o tratamento da posição aberta ao final.
  • Separe as datas de desenvolvimento das de avaliação e registre se os resultados da avaliação já influenciaram suas escolhas.
  • Salve o número de operações, o registro das execuções, os detalhes das posições abertas e as verificações que falharam junto com o resumo.

O modelo de diário de trading ajuda a organizar observações individuais, enquanto o protocolo descreve o experimento que as produziu. Preserve uma execução decepcionante com o mesmo cuidado que uma atraente; caso contrário, seu próprio histórico de pesquisa se torna uma amostra selecionada.

Interprete as métricas no contexto

Comece pelas contagens: observações disponíveis, operações encerradas, execuções cobradas e posições ainda abertas. Uma porcentagem sem seu denominador pode fazer uma amostra pequena parecer mais convincente do que é. Um sinal pendente no fim do período não é uma operação concluída, e uma posição aberta não é um ganho ou uma perda já realizados.

Em seguida, concilie os resultados líquidos das operações encerradas com a avaliação das posições abertas e as taxas já pagas. Verifique onde ocorrem as perdas e quanto o resultado depende de poucas operações. A simulação não inclui depósito, modelo de margem nem saques; portanto, sua trajetória de resultado não deve ser interpretada como o saldo de uma conta em corretora.

Consulte o guia do fator de lucro, o simulador da curva de capital e o guia do índice de Calmar para entender as definições e limitações dessas medidas. Um índice favorável não corrige o uso de informações futuras nem uma execução irrealista. Poucas horas de observações fictícias também não justificam anualizar o retorno ou fazer afirmações sobre o drawdown de longo prazo.

Uma conclusão útil descreve as condições: qual regra foi testada, em quais dados, sob quais hipóteses e o que continua incerto. “Esta versão perdeu dinheiro quando os custos aumentaram” é um resultado de pesquisa mais claro do que uma promessa sem fundamento de que a próxima versão será lucrativa.

Perguntas frequentes

Posso fazer o backtest de uma estratégia forex manualmente?

Sim. Revele as observações em ordem cronológica, aplique regras escritas e registre todas as operações elegíveis e hipóteses. Evite percorrer um gráfico já completo selecionando apenas padrões reconhecíveis. O trabalho manual precisa das mesmas regras de custos e limites do período que um teste automatizado.

Devo usar MetaTrader 5 ou TradingView?

Escolha de acordo com a regra, os dados e o comportamento de execução que precisa examinar. Leia as configurações do testador ou do emulador da corretora e confira execuções individuais. Configurações padrão diferentes podem produzir resultados diferentes sem que qualquer uma das plataformas demonstre que uma estratégia é lucrativa.

Ticks reais são sempre necessários?

O detalhamento necessário depende da regra. Uma estratégia sensível a eventos dentro de uma barra precisa de evidências que as barras talvez não ofereçam. Dados de ticks podem acrescentar detalhes, mas ainda é necessário verificar a cobertura das cotações, os lados do preço e as hipóteses de execução. Mais linhas não eliminam as limitações do modelo.

Quantas operações tornam um backtest confiável?

Não existe um número universal que valide qualquer estratégia. A frequência, a dependência entre operações, as condições de mercado e a quantidade de variantes testadas afetam a interpretação. Informe a amostra e suas limitações. O pequeno exemplo fictício desta página é propositalmente inadequado para sustentar uma alegação estatística de desempenho.

Por que os resultados reais podem diferir do backtest?

Preços, horários, spread, liquidez disponível, taxas e tratamento das ordens podem diferir do modelo. O teste também não contém condições de mercado que não ocorreram em seus dados. Resultados históricos continuam sendo evidências condicionadas às hipóteses; a observação com novos dados e a execução real devem ser registradas separadamente.

Um backtest lucrativo comprova uma vantagem?

Não. Primeiro, descarte vazamento de informações e erros de contabilização; depois, avalie como a estratégia foi escolhida e testada. Um resultado pode ser internamente coerente e ainda depender de um período pequeno ou pouco representativo. O backtesting apoia uma investigação; não garante um resultado futuro.

Fontes e leituras adicionais

  1. MetaTrader 5 — Strategy TestingConsultado
  2. MetaTrader 5 — Real and Generated TicksConsultado
  3. MQL5 — Testing Trading StrategiesConsultado
  4. TradingView — StrategiesConsultado
Ordens e execução
Modelo de plano de tradingEscreva as regras e registre as mudanças de versão antes de comparar resultados.Modelo de diário de tradingPreserve o contexto original de cada operação e observação.Slippage explicadoDistinga uma hipótese do modelo, uma cotação e uma execução efetiva.Fator de lucroInterprete o índice sem perder de vista a amostra que o originou.Simulador da curva de capitalExplore como a ordem das operações e as hipóteses alteram a trajetória do resultado.Índice de CalmarEntenda como o período e o drawdown considerados afetam a métrica.
Todos os guias