Backtesting no MT4 e MT5 — guia prático para 2026
Chris terminou seu primeiro Expert Advisor em janeiro de 2024. Clicou no Strategy Tester com as configurações padrão e viu a curva de capital subir de 10,000 para 47,000 euros em três anos, com taxa de acerto de 78 por cento. Cinco meses depois, sua conta real marcava 7,200 euros. A distância entre o backtest e a realidade veio de três erros de oficina: dados ruins, parâmetros irrealistas e uma única passada de otimização em vez de walk-forward.
Strategy Tester no MT4 versus MT5 — o que realmente difere
O Strategy Tester roda um Expert Advisor contra o histórico nas duas plataformas, mas é a mecânica que decide se o resultado é confiável. O MT4 é de thread única: um backtest de cinco anos em M15 leva de dois a dez minutos, e otimizar centenas de combinações pode se arrastar por dois dias. O MT5 distribui o trabalho entre os núcleos e processa testes multimoeda de forma nativa — um portfólio em três pares principais roda em série no MT4 e em paralelo no MT5. A segunda diferença são os dados: o MT4 puxa o histórico do History Center (em geral dois ou três anos), enquanto o MT5 baixa os dados de tick da corretora. Para M30 ou superior isso não é dramático; para um scalper em M5 é um abismo. Mais contexto na nossa seção de plataformas de trading.
Modos de modelagem e qualidade dos dados históricos
O Strategy Tester oferece três níveis de modelagem do candle. Open prices only usa apenas o preço de abertura — rápido, mas inútil no intraday. Control points reconstrói a máxima (High) e a mínima (Low) interpolando de um timeframe menor, com teto de 90 por cento de qualidade de modelagem no MT4. Every tick no MT4 monta o caminho dentro de cada candle a partir do envelope OHLC; o modo “Every tick based on real ticks” do MT5 lê o histórico de ticks da corretora — o único modo que entrega um resultado crível abaixo de H1.
O Dukascopy Bank, em Genebra, disponibiliza gratuitamente o histórico de ticks desde 2003 para a maioria dos pares principais, índices e commodities. Você o obtém pelo JForex Historical Data Downloader e converte para o HST do MT4 com o gratuito FX Blue Quant Data Manager ou o pago Tickstory (30 a 50 USD). A qualidade de modelagem então salta para 99 por cento. No MT5 você seleciona “Every tick based on real ticks”; sem os dados de tick da corretora, o MT5 recai num modo sintético e o backtest fica tão suspeito quanto o MT4 nos valores padrão.
Parâmetros de simulação — spread, comissão, swap, slippage
Por padrão, o Strategy Tester assume o spread atual e comissão zero, o que para o scalping é a diferença entre um superávit aparente e um déficit real. Ajuste o spread para corresponder à sua conta real (0.8 a 1.5 pips em EUR/USD numa corretora ECN, vezes 1.5 no cenário pessimista). A comissão ECN costuma ser de 7 USD por lote; sem ela, uma estratégia que ganha cinco pips mostra um profit factor de 1.6 no backtest e de 0.9 na vida real. O swap (rollover / custo de financiamento overnight) em posições mantidas de dois a sete dias pode apagar 20 a 30 por cento do lucro anual. O slippage (derrapagem de preço) não é simulado, mesmo que cinco a vinte pips durante o NFP sejam rotina; a correção realista soma 1.5 pips por perda e subtrai 1 pip por ganho.
Três armadilhas que arruínam um backtest
Look-ahead bias é o uso involuntário de informação indisponível no momento da decisão — em MQL4/MQL5 ele aparece com mais frequência ao se referir ao candle atual com o índice zero. Esse candle ainda está em formação, então o backtest conhece sua máxima e mínima finais, enquanto o trader ao vivo não. Regra: toda leitura usa índice 1 ou superior. O lado da programação aparece na introdução aos Expert Advisors, onde cada chamada de indicador precisa ler um candle já fechado.
Overfitting é a consequência da otimização excessiva — o trader roda o Strategy Tester por mil combinações, escolhe a melhor e admira uma curva impossivelmente suave, que na verdade é um ajuste ao ruído. Sinais de alerta: drawdown (rebaixamento da conta) abaixo de 5 por cento, profit factor acima de 3.5, taxa de acerto acima de 75 por cento ao longo de 200 operações, uma curva de capital sem correções por mais de duas semanas. Juntos, um alarme. Survivorship bias significa testar apenas pares que sobreviveram até hoje; um portfólio de exóticos testado somente naqueles “ainda cotados pela corretora” pode inflar o resultado em 30 a 50 por cento (USD/TRY após 2018 e EUR/CHF após janeiro de 2015 são exemplos instrutivos).
Ler o relatório e o walk-forward como antídoto ao curve-fit
As duas plataformas geram relatórios de oito a dez métricas, e a maioria dos traders olha apenas três: lucro líquido, taxa de acerto e drawdown. Não basta. Profit factor acima de 1.5 é decente, acima de 2 é excelente, acima de 3.5 é suspeito. Sharpe perto de 1.0 é aceitável, de 1.5 a 2.5 é muito bom, acima de 3 verifique se há curve-fit. O drawdown máximo intraday deve ficar abaixo de 25 por cento. Número de operações de no mínimo 100, idealmente 500. Qualidade de modelagem de 99 por cento.
O walk-forward é a metodologia que Robert Pardo formulou em seu clássico de 2008 e que continua sendo o padrão nos fundos sistemáticos de hoje. Divida o histórico em in-sample (quatro anos) e out-of-sample (um ano), otimize os parâmetros apenas no in-sample, rode a estratégia com parâmetros congelados contra o out-of-sample, avance a janela em um ano e repita. O resultado OOS agregado é o que melhor aproxima uma conta real. Um WFE (retorno OOS dividido pelo retorno IS) acima de 0.5 sinaliza uma estratégia robusta, de 0.3 a 0.5 indica curve-fitting moderado e abaixo de 0.3 é um reflexo lisonjeiro do ego do trader. A mecânica passo a passo conecta-se de perto à nossa gestão de risco, porque um backtest honesto é o primeiro filtro de risco.
“O propósito inteiro da análise walk-forward é revelar o desempenho em tempo real e com dinheiro real de uma estratégia de trading, sem de fato operá-la com dinheiro real em tempo real.” — Robert Pardo, 2008
Limites do MT4/MT5 e quando recorrer a outras ferramentas
O Strategy Tester carrega limites embutidos: um modelo de execução simplificado, um otimizador do MT4 que sofre além de algumas centenas de combinações, relatórios sem análise de estabilidade de parâmetros ou Monte Carlo. Para estratégias discricionárias de price action, o Strategy Tester pode ser inútil, porque tais regras não cabem inteiramente em código. Quando o MT4/MT5 fica aquém, você recorre ao Forex Tester 5 (cerca de 300 USD) ou ao Python com a biblioteca backtrader. A metodologia independente de plataforma faz parte da nossa oficina prática; o contexto mais amplo está na oficina do trader no ForexMechanics.
O que fazer agora
- Baixe os dados de tick da Dukascopy para EUR/USD ao longo dos últimos cinco anos e importe-os no MT4 pelo FX Blue Quant Data Manager ou pelo Tickstory; no MT5 selecione “Every tick based on real ticks” e confirme que a corretora expõe o histórico de ticks — sem esse passo, qualquer backtest intraday adicional é ficção estatística.
- Abra seu EA no Strategy Tester, insira o spread que corresponde à sua conta real (tipicamente 1.2 pips em EUR/USD numa corretora ECN), adicione uma comissão de 7 USD por lote e uma penalidade de slippage de 1.5 pips por perda e 1 pip por ganho, então rode um único backtest ao longo de cinco anos e compare com o resultado anterior.
- Divida os cinco anos em quatro anos in-sample mais um ano out-of-sample, otimize os parâmetros apenas na janela in-sample, congele o melhor conjunto e rode um único backtest no out-of-sample; se o WFE cair abaixo de 0.5, a estratégia está curve-fitted e exige uma lógica mais simples, não outra rodada de otimização.
- Leia o código do EA em busca de toda chamada iCustom, iHigh, iLow, CopyClose ou CopyRates com índice zero, substitua-a por índice 1 e rode o backtest de novo; qualquer divergência maior que 30 por cento significa que a estratégia vivia de look-ahead bias e a lógica de entrada precisa ser reescrita.
Fontes e bibliografia
-
MetaQuotes MetaTrader 5 — Testing Trading Strategies · oficjalna pomoc MT5: tryby modelowania, parametry symulacji, optymalizacja www.metatrader5.com ↗
-
MetaQuotes MQL5 Reference — Testing Trading Strategies · dokumentacja MQL5: tryby ticków, ograniczenia funkcji testera www.mql5.com ↗
-
MetaQuotes MetaTrader 4 — Strategy Testing · oficjalna pomoc MT4: modeling quality, raporty Strategy Tester www.metatrader4.com ↗
-
Dukascopy Bank SA Historical Data Export · darmowe dane tickowe od 2003 r. dla 99 procent modeling quality www.dukascopy.com ↗
Perguntas frequentes
Qual a diferença entre qualidade de modelagem de 99 por cento e de 90 por cento no MT4?
A qualidade de modelagem é a porcentagem exibida no canto superior direito do relatório do Strategy Tester do MT4 e indica com que fidelidade o simulador reconstruiu o movimento de preço dentro de cada candle. 90 por cento é o máximo possível com os dados padrão baixados da corretora pelo History Center — o MT4 interpola o interior do candle a partir de quatro pontos (Open-High-Low-Close), de modo que um backtest em M15 assume um caminho dentro do candle que nunca verifica. 99 por cento exige dados de tick genuínos importados de uma fonte externa — tipicamente a API gratuita da Dukascopy ou o Tickstory pago. A diferença prática é dramática: uma estratégia de scalping mirando cinco pips pode mostrar taxa de acerto de 70 por cento e retorno anual de 30 por cento em dados de 90 por cento, mas no mesmo período com qualidade de 99 por cento a taxa de acerto desaba para 52 por cento e a curva fica estagnada. O motivo é simples — a ausência de movimento de tick dentro de cada candle esconde o momento em que o stop loss teria sido acionado antes que o preço pudesse girar de volta para o take profit (realização de lucro). Regra de bolso: se sua estratégia opera em M30 ou superior com take profits além de 30 pips, a diferença entre 90 e 99 por cento não é crítica. Se você faz scalping ou opera abaixo de M15, qualquer coisa menor que 99 por cento é ficção. O MT5 contorna isso por completo com seu modo "Every tick based on real ticks", desde que a corretora exponha o histórico de ticks — a maioria das corretoras ECN respeitáveis o faz.
Como configuro o Strategy Tester do MT5 passo a passo?
Esta é a sequência a seguir sempre na mesma ordem, para que você nunca pule uma configuração em silêncio. Passo um: abra o Strategy Tester com Ctrl+R ou por View → Strategy Tester. Passo dois: no campo Expert, selecione o EA compilado em um arquivo .ex5. Passo três: escolha o símbolo na lista — idealmente o mesmo que você opera na conta demo ou real. Passo quatro: defina o timeframe idêntico ao que a estratégia usa em produção. Passo cinco: estabeleça o intervalo de datas. Cinco anos no mínimo, dez de preferência — longo o bastante para incluir ao menos uma perna de alta, uma correção e um evento de crise (março de 2020, fevereiro de 2022 e outubro de 2023 são marcos úteis). Passo seis: escolha o modelo de simulação — "Every tick based on real ticks" para um resultado crível, "Every tick" para iterar mais rápido, "1 minute OHLC" apenas para a primeira varredura de parâmetros. Passo sete: depósito inicial e moeda que correspondam à sua conta real. Passo oito: alavancagem — fundamental que coincida com a configuração da sua conta real (na União Europeia, a ESMA limita a alavancagem para clientes de varejo a 1:30; 1:500 vale para quem tem status de cliente experiente). No Brasil, o Forex/CFD de varejo costuma ser acessado por corretoras estrangeiras, então use a alavancagem efetiva da sua própria conta. Passo nove: na aba Settings, configure Optimisation como Disabled para uma única passada, Slow complete algorithm para a primeira iteração de walk-forward e Fast genetic para espaços de parâmetros maiores. Passo dez: clique em Start e observe. Quando o MT5 baixa o histórico pela primeira vez, isso pode levar de dois a vinte minutos, dependendo da extensão do período e do número de instrumentos. Ao terminar, você tem acesso às abas Backtest (curva de capital), Trades (lista de ordens) e Graph (evolução do saldo). Exporte o relatório para HTML com clique direito → Save as Report e arquive-o dentro da pasta do projeto da estratégia.
O que é look-ahead bias e como evitá-lo em MQL5?
Look-ahead bias é o uso involuntário, no código da estratégia, de informação que não estaria disponível no momento da decisão — espiar o futuro. No MQL5, ele tende a surgir em três lugares. Primeiro: referir-se ao candle atual, ainda não fechado, com o índice 0 em vez de 1 em chamadas iCustom e similares. O índice 0 ainda está em formação — sua máxima, mínima e fechamento mudam tick a tick, de modo que uma condição de entrada baseada nessa leitura usa os valores finais do candle no backtest, enquanto um trader ao vivo não os veria por mais quinze ou trinta minutos. Segundo: usar iHigh(symbol, period, 0) ou iLow(symbol, period, 0) ao calcular um stop loss — o backtest conhece o extremo do candle completo, o trader ao vivo não. Terceiro: sincronizar dados de múltiplos timeframes sem verificar se o candle H4 fechou antes do candle M15 no qual a estratégia entra. Detecção: se sua curva de capital está suspeitamente suave (drawdown abaixo de 5 por cento, profit factor acima de 3.5, taxa de acerto acima de 75 por cento em 200 operações), coloque o mesmo EA numa conta demo por um mês. Uma diferença de desempenho de 50 por cento quase sempre indica look-ahead bias em algum ponto do código. Correção: sempre leia indicadores e histórico de preços no índice 1 ou superior (candle fechado), verifique as condições de saída por CopyClose ou CopyRates com argumentos explícitos de horário de fechamento do candle, e confira a sincronização de timeframes com SymbolInfoInteger(symbol, SYMBOL_TIME).
Backtesting manual ou automatizado — qual faz sentido?
Ambos têm um papel, mas em etapas diferentes do fluxo de trabalho. O backtesting manual (avançar candle a candle numa ferramenta de replay, como o Bar Replay do TradingView ou a função passo a passo do MT5) é a ferramenta certa para traders discricionários que operam por price action e não conseguem ou não querem formalizar suas regras em código. Ele constrói uma sensibilidade para a volatilidade, o ritmo do mercado e o momento em que um setup começa a parecer atraente. As desvantagens são a subjetividade, a replicação zero (uma segunda passada pelo mesmo período produz um resultado diferente) e as longas horas — duzentas operações em M15 levam de trinta a cinquenta horas de trabalho atento. O backtesting automatizado pelo Strategy Tester exige que a estratégia exista como Expert Advisor — cada regra de entrada, saída e gerenciamento de risco precisa ser expressa matematicamente, sem espaço para "feeling". A recompensa é a replicação (resultados idênticos toda vez sobre dados idênticos), a significância estatística (5,000 operações numa única noite) e métricas objetivas. A desvantagem é que ele não captura o julgamento discricionário de padrões gráficos, então estratégias de price action movidas pela intuição escapam dessa rede. O caminho de ouro é começar com um backtest manual de cem operações para entender o mercado e a sua própria abordagem. Se o resultado for animador, formalize as regras em um EA e rode-o pelo Strategy Tester automatizado com walk-forward — esse passo separa a intuição real das lembranças ajustadas à curva. A pura intuição perde para um sistema mecânico em cerca de noventa por cento das vezes ao longo de uma amostra real de doze meses.