Um backtest de scalping depende de horários, cotações e custos confiáveis. Aprenda a verificar o modelo do MT4, reconhecer o que um candle não revela e conciliar as execuções sem descontar o spread duas vezes.
1. O que um backtest de scalping precisa demonstrar
Um backtest útil verifica se um método definido com precisão poderia operar com as informações disponíveis naquele momento, a preços executáveis e após os custos e perdas relevantes. Uma curva de saldo crescente não responde a isso sozinha. Alvos curtos tornam erros no lado da cotação, sequências intrabar inventadas e execuções otimistas proporcionalmente mais importantes do que parecem em gráficos mais lentos.
Separe três perguntas: a hipótese merece estudo, o EA a implementa corretamente e a conta consegue executá-la nas condições assumidas? Um programa correto pode automatizar uma ideia fraca; um erro de implementação pode arruinar uma hipótese promissora. Bons resultados históricos com execução simplificada não comprovam viabilidade em conta real nem rentabilidade futura.
Este guia apresenta uma auditoria, não uma estratégia testada nem resultados de corretora. Preços, contagens e valores são fictícios. O guia geral de backtest no MT4 explica o processo. Aqui aprofundamos operações curtas, origem dos ticks, horário do fechamento, Bid/Ask, saídas ambíguas, custos completos e evidências antes da validação forward.
2. Fixe as regras e a versão antes de coletar resultados
Defina símbolo, período gráfico, sessão, sinal, prazo de entrada, stop, alvo, saída por tempo e motivos de rejeição antes do teste. Especifique se o sinal usa um candle fechado ou o candle atual em formação. “Entrar após confirmação” é incompleto enquanto o evento e o primeiro instante permitido para decidir não forem observáveis e reproduzíveis.
Guarde versão do EA, parâmetros, build do terminal, moeda da conta, especificação do contrato e fonte dos dados. Registre volume mínimo, passo de lote, restrições de stop e orçamento de risco. Defina o tratamento das posições nas fronteiras do teste e impeça entradas duplicadas pelo mesmo sinal. Um replay manual precisa das mesmas regras e de um registro das oportunidades descartadas. Nome de arquivo não identifica versão: mantenha um hash ou referência reproduzível e os indicadores e configurações dependentes. Sem isso, relatórios aparentemente iguais podem testar lógicas diferentes.
Separe pesquisa de alegações comerciais. Demonstrar um cálculo de custos não prova que o EA produziu aquelas operações. Não substitua um relatório original do Strategy Tester por uma curva didática redesenhada. O guia de scalping M1 e M5 explica o estilo; aqui verificamos suas premissas.
3. Audite os dados antes da estratégia
Diferencie barras OHLC, observações Bid/Ask com horário e registros reais de execução. Barras resumem preços sem preservar todas as atualizações e sua ordem. Um arquivo chamado tick data não basta: identifique fonte, resolução temporal, símbolo, fuso, lados de preço, cobertura e transformações. Mesmo cotações históricas pareadas não contêm os fills e as rejeições reais da sua corretora.
Verifique ordenação, horários coincidentes, lacunas, cotações desatualizadas e spreads implausíveis. Várias atualizações no mesmo segundo podem ser legítimas; não as apague só por isso. Preserve um identificador de sequência quando houver. Spread zero ou ausente não prova negociação sem custo. Isole registros suspeitos e informe o intervalo afetado, em vez de corrigi-los silenciosamente com informações futuras.
Confira unidades: nestes exemplos EUR/USD, 1 pip = 0.0001 e, com cinco casas, 1 point = 0.00001. Tick size é um incremento de preço; uma observação de tick é uma atualização. Importar barras pelo History Center não comprova replay de ticks Bid/Ask registrados. Documente o caminho dos originais até o input efetivo. Reconstrua OHLC com os mesmos limites de horário ao comparar barras e cotações. A concordância detecta alguns erros, mas não recupera observações ausentes. Diferenças entre feeds exigem investigação e não provam automaticamente desonestidade.
4. O sinal de candle fechado não pode antecipar sua informação
Considere um candle M1 fictício de 10:00–10:01. Às 10:00:30 o fechamento final ainda é desconhecido. Se a primeira cotação utilizável após a fronteira chega às 10:01:02, um método de candle fechado pode agir primeiro nessa observação, não numa cotação presumida às 10:01:00 nem retroativamente no fechamento antigo.
Nas séries do MT4, o candle atual tem índice 0 e o anterior índice 1. O horário de abertura registrado não é o recebimento de cada cotação. Detecte a nova barra, leia apenas dados concluídos e registre o identificador do sinal contra duplicação. O filtro de período maior também precisa estar concluído. Às 10:01:02, o M5 de 10:00–10:05 ainda está em formação: seu fechamento futuro não pode confirmar uma entrada M1 anterior. Use os dados M5 já concluídos adequados.
Suponha uma solicitação após a decisão às 10:01:02 e um fill atribuído às 10:01:03. O atraso é uma premissa explícita de cenário, não latência medida ao selecionar Every tick. Horários com resolução de segundo não comprovam a ordem dentro dele; preserve a sequência separadamente. Um intervalo sem cotação não pode ser preenchido por um fechamento futuro e chamado de entrada histórica executável.
5. Entenda os limites da modelagem padrão do MT4
Every tick padrão pode gerar variações intrabar por interpolação de barras disponíveis de períodos menores. O nome não certifica replay de Bid e Ask históricos registrados. As barras padrão contêm Bid; Ask é modelado pelo spread escolhido, por padrão o corrente no início quando não há valor personalizado. Verifique a unidade: em EUR/USD com cinco casas, 8 points são 0.8 pip. Confundir unidades pode alterar muito um teste de alvos curtos.
Entrar após o fechamento não torna as saídas intrabar irrelevantes. Open prices only pode ajudar a verificar uma lógica adequada à abertura, mas não valida scalping com stops, alvos ou trailing dependentes do caminho dentro do candle. Control points é uma aproximação grosseira. O modelo precisa cobrir todas as decisões, inclusive proteções e saídas por tempo.
Se um fluxo separado de ticks promete spreads históricos variáveis ou um modelo específico de execução, verifique a documentação e as cotações realmente consumidas. Importar CSV não ativa essas funções automaticamente. Documente processo e limites. A porcentagem de qualidade da modelagem é um diagnóstico da plataforma, não a probabilidade de sucesso nem uma garantia de execução realista.
| Modelo padrão | Verificação limitada útil | O que não demonstra |
|---|---|---|
| Open prices only | Lógica adequada à decisão na abertura | Sequência intrabar confiável de stops e alvos no scalping |
| Control points | Inspeção preliminar aproximada | Caminho completo de execução registrada |
| Every tick | Inspeção intrabar modelada mais detalhada | O nome não prova ticks Bid/Ask registrados, spread histórico variável ou latência da corretora |
6. Stop e alvo no mesmo candle: OHLC não basta
Use um candle Bid fictício com Open 1.10010, High 1.10080, Low 1.09950 e Close 1.10020. Suponha BUY aberto em Ask 1.10020 antes do caminho intrabar seguinte, com stop acionado em Bid 1.09970 e alvo verificado em Bid 1.10070. Ambos estão na amplitude, mas os quatro preços não mostram qual foi atingido primeiro.
Open→High→Low→Close pode alcançar primeiro o alvo; Open→Low→High→Close, primeiro o stop. Ambos cabem no mesmo OHLC. São sequências hipotéticas alternativas, não duas operações registradas inventadas. A diferença econômica é decisiva mesmo quando a entrada usa apenas um candle fechado.
Use evidência ordenada suficiente de cotações quando disponível. Caso contrário, marque a operação como ambígua e apresente sensibilidade ou limites explicitamente assumidos. Stop primeiro pode ser conservador, mas não é caminho observado. Não atribua silenciosamente o alvo quando ambos aparecem num candle de aparência lucrativa. Separe ainda o nível de disparo do preço final de execução.
7. Plano BUY: limites executáveis e risco em dinheiro
No plano separado de entrada exata, mantenha Ask efetivo 1.10020, stop Bid 1.09970 e alvo Bid 1.10070. Risco bruto e ganho bruto potencial são 5 pips cada. O stop do BUY fica abaixo da entrada e o alvo acima. SELL inverte os limites e sai em Ask; espelhar o desenho sem mudar o lado da cotação não é um teste inverso válido.
Assuma comissão total de 0.6 pip e reserva adicional de 0.4 pip para slippage futuro desfavorável na saída. A entrada já é um fill efetivo: não cobre spread ou slippage de entrada novamente. No alvo, a conta conservadora é 5 − 0.6 − 0.4 = 4 pips; no stop, perda de 5 + 0.6 + 0.4 = 6 pips. Gaps podem superar a reserva.
Aqui um lote padrão de EUR/USD representa EUR 100000 e um pip vale USD 10 em conta USD. Perda planejada: USD 60 por lote. Com orçamento ilustrativo de USD 25 e passo 0.01 lote, 25 / 60 ≈ 0.4167 é arredondado para baixo a 0.41 lote, ou USD 24.60. Verifique margem e mínimo separadamente; o cálculo não garante perda máxima realizada.
8. Concilie os custos sem cobrar o spread duas vezes
Outro exemplo fictício: Bid da decisão 1.10010, Ask 1.10020, entrada BUY efetiva 1.10022, Bid de referência posterior 1.10070 e saída efetiva 1.10068. O movimento Bid de referência é 6 pips, o spread inicial 1.0 pip e o slippage desfavorável combinado 0.4 pip. Com comissão 0.6 pip, a conta é 6 − 1.0 − 0.4 − 0.6 = 4 pips.
Pelos fills efetivos: (1.10068 − 1.10022) / 0.0001 = 4.6 pips antes da comissão; após 0.6 pip, restam 4 pips. No valor indicado do lote: USD 46 de resultado por preço, USD 6 de comissão e USD 40 líquidos. São pontos de partida alternativos, não duas listas de deduções para somar. Preserve o sinal favorável do slippage quando ocorrer.
No MQL4, OrderProfit() exclui swap e comissão; seu nome não estabelece resultado completo após encargos. Concilie campos com sinal e cobranças separadas com o extrato, incluindo financiamento se a posição cruzar a fronteira pertinente. Não conte a mesma comissão duas vezes. O guia de spreads, comissões e swaps fornece a estrutura contábil.
9. Aplique estresse a custos e execução sem reescrever a estratégia
No mesmo movimento fictício de referência de 6 pips, spread 1.0 pip, comissão 0.6 pip e reserva de slippage combinado 0.4 pip custam 2.0 pips e deixam condicionalmente 4.0 pips. Elevar só o spread para 1.8 pips custa 2.8 pips e deixa 3.2 pips. Elevar só o slippage para 1.2 pips também custa 2.8 pips e deixa 3.2 pips.
Combinando spread 1.8 pips, comissão 0.6 pip e reserva 1.2 pips, o custo chega a 3.6 pips e restam 2.4 pips. São contas de sensibilidade, não retornos ou previsões; os níveis são ilustrativos. Congele o sinal e informe premissas, em vez de mudar alvos ou stops para salvar um resultado atraente. Fatores podem se relacionar: notícia rápida, spread maior, cotação velha e fill desfavorável. Testes isolados não estabelecem o comportamento num episódio conjuntamente difícil.
Subtrair um custo médio maior de uma lista antiga não reproduz o efeito do spread sobre elegibilidade, stops, alvos e estado das ordens. Recalcule decisões afetadas com modelo adequado ou declare o que continua sem suporte. O guia de pares e filtros de custo para scalping explica medições específicas da conta, sessão e par.
10. Latência, rejeições e ordens incertas exigem tratamento explícito
Uma sequência histórica de preços não simula a fila histórica de execução da corretora. Defina atraso assumido, escolha de preço, rejeições e transições de estado. Confirmação tardia não significa automaticamente falha. Antes de reenviar, concilie o estado real: um mecanismo de recuperação pode criar posições duplicadas e mudar a exposição.
Sleep() não provoca atraso no Strategy Tester padrão do MT4. Se o atraso importa, é preciso uma simulação documentada que avance decisões ou fills pela sequência disponível sem olhar o futuro. Um desconto fixo em pips não representa toda execução perdida, rejeição ou mudança de disparo. O guia de slippage, latência e requotes diferencia as observações.
O testador não exercita todo evento real ou dependência externa: Timer e WebRequest estão entre os limites documentados. Verifique quais partes do EA rodaram. Um filtro externo de notícias ou monitor periódico inativo não foi validado. Teste a operação separadamente e distinga condições simuladas, demonstradas e ainda não verificadas.
11. Use o denominador correto e inclua o risco aberto
Uma auditoria fictícia tem 120 sinais elegíveis. O filtro bloqueia 18, restando 102 solicitações: 94 fills, 6 rejeições e 2 cancelamentos. Taxa de bloqueio 18 / 120 = 15%; taxa de execução 94 / 102 ≈ 92.2%. Dividir fills por todos os sinais responde a outra pergunta e esconde onde as oportunidades foram perdidas.
Suponha 90 posições fechadas e 4 abertas na fronteira do relatório. O resultado médio fechado usa 90 desfechos, não 94 fills. Mostre exposição restante e marcação a mercado sem tratar perdas em aberto como zero. Defina fechamentos parciais, tickets múltiplos e cancelamentos para evitar duplicidade. Saldo estável pode coexistir com perda flutuante relevante. Compare definições de drawdown e observações de equity; só resultados fechados podem omitir o risco entre saídas.
Como outra ilustração puramente aritmética nesses 90 desfechos, assuma 50 ganhos líquidos de USD 9 e 40 perdas líquidas de USD 8. Positivos USD 450, perdas absolutas USD 320, líquido USD 130. Média 130 / 90 ≈ USD 1.44 e profit factor dos desfechos líquidos 450 / 320 ≈ 1.41. A amostra inventada não prova vantagem; examine concentração das perdas, drawdown de equity e dependências.
12. Separe desenvolvimento, validação, teste intocado e forward
Escolha blocos cronológicos antes de avaliar: A desenvolvimento, B validação, C verificação histórica final nunca usada nos ajustes, D observação forward. A duração depende da pergunta e das condições disponíveis, não de uma quantidade universal de trades. Ajustar repetidamente com base em C o transforma em desenvolvimento, mesmo chamado fora da amostra.
Histórico anterior pode inicializar indicadores retrospectivos. Não use futuro, estatísticas posteriores da sessão ou revisões para melhorar decisões antigas. Defina posições que cruzam limites e alocação dos custos e resultados. Lacuna ou reinício precisa de justificativa metodológica. Variáveis externas também exigem horário original de divulgação: série econômica revisada ou média do dia futuro inteiro pode vazar informação, mesmo com indicadores de candles fechados.
Preserve a ordem dos episódios na avaliação da incerteza. Scalps próximos podem compartilhar tendência, notícia ou liquidez; muitos trades não significam muitas observações independentes. Versione todas as mudanças e candidatos descartados. O guia de otimização e overfitting explica como a seleção consome uma validação aparentemente separada.
13. Conte a busca inteira, não apenas o ajuste vencedor
Uma busca hipotética testa 5 entradas, 4 stops e 3 alvos: 5 × 4 × 3 = 60 combinações. Repetir em 4 janelas de sessão e 3 pares gera 720 combinações. Mostrar só a linha vencedora esconde quantas chances houve de ajustar ruído. Os números ilustram amplitude, não correção estatística ou plano de otimização aprovado.
Procure uma região de comportamento estável e justificável, não um único ponto espetacular. Estabilidade também não prova nada se a família compartilha erro de dados ou execução otimista. Guarde candidatos ruins e falhas. Se um pequeno custo destrói o resultado, investigue a dependência econômica em vez de otimizar mais para recuperar o profit factor.
Um walk-forward desenvolve repetidamente no passado e avalia depois, seguindo calendário predefinido. Ainda exige disponibilidade correta de dados, custos completos e todos os segmentos publicados. Não junte apenas janelas lucrativas. Após escolher o processo, reserve evidência realmente nova: um período que influenciou parâmetros não volta a ser intocado ao mudar de nome.
14. A validação forward verifica outra camada de evidência
O forward observa regras congeladas, tratamento dos dados e controles operacionais enquanto chegam novas cotações. Comece conciliando sinais, descartes, solicitações, fills e encargos. Compare especificações, mapeamento das sessões e volumes iguais aos da pesquisa. Demo verifica muito do processo sem provar liquidez ou execução iguais em conta real.
Escreva protocolos para desconexões, cotações velhas, modificações rejeitadas e estado incerto. Predefina pausas e tratamento das posições existentes. VPS pode melhorar continuidade sem garantir fills. Separe decisões de risco do desejo de completar a amostra rápido: aumentar tamanho para impressionar altera evidência e perda possível.
Avalie fidelidade às regras e diferenças de execução junto ao líquido e drawdown de equity. Um período curto positivo pode ser acaso; um negativo não identifica sozinho a causa. Não reescreva o método a cada resultado mantendo o rótulo forward. O protocolo de validação forward estrutura observações e decisões.
15. Uma revisão prática antes de confiar no relatório
Verifique regras e versão, origem e cobertura dos dados, disponibilidade do sinal, lados executáveis, ordem das saídas e encargos completos. Depois estresses, dimensionamento, estados das ordens e separação cronológica. Cada item precisa apontar para evidência, não uma marca de marketing. Qualidade alta de modelagem não substitui um elo ausente.
Se uma premissa não tem suporte, identifique efeito e classifique a conclusão. Uma lacuna pode deixar o resultado inconclusivo; taxa duplicada exigir recálculo; sinal com informação futura invalidar o teste. Não esconda essas situações num único escore. Preserve o original e crie nova versão quando a correção muda método ou saída.
Após o forward, concilie decisões e registros da corretora antes de considerar o resumo completo. O guia de conciliação das operações acompanha divergências e estados não resolvidos. Uma oportunidade ignorada ou rejeitada pertence à trilha mesmo sem trade no relatório. Controles operacionais aprovados permitem interpretar, não comprovam lucro.
16. O que guardar no dossiê final
Guarde relatório original, inputs, versão do EA, identificadores, período, especificações da conta e símbolo, fusos, convenções de custos e procedimento. O diário liga sinais a solicitações, fills, saídas e encargos. Inclua erros, candles ambíguos, rejeições e exposição aberta. Um revisor deve reproduzir a análise e identificar exatamente as condições hipotéticas.
Apresente resultados na moeda da conta, com definições líquidas consistentes e contagem de desfechos concluídos. Mostre saldo e equity disponíveis, drawdown, concentração e sensibilidade. Explique diferenças entre métricas da plataforma e conciliação própria. Separe depósitos, saques e ajustes não operacionais do lucro de trading. Informe mudanças de volume antes de comparar dinheiro ou drawdown: ganhar mais com maior exposição não melhora automaticamente o método. Aritmética didática não deve aparecer como histórico verificado.
Uma conclusão defensável pode pedir outro teste, apontar execução incerta demais ou rejeitar a ideia nas condições definidas. Não exige inventar um sistema vencedor. Antes de uma estratégia específica, saiba quando a informação existe, qual cotação executa e quais provas fariam rejeitar o backtest em vez de justificar suas fraquezas.
Perguntas frequentes
Every tick no MT4 significa ticks reais registrados?
Não por si só. O modelo padrão pode interpolar barras menores. Identifique fonte e replay, incluindo Bid/Ask e spread. Nome ou porcentagem não provam cotações históricas dos dois lados nem fills realistas.
Open prices only valida uma estratégia de candle fechado?
Pode verificar uma lógica adequada à abertura, mas stops, alvos e saídas podem depender do caminho intrabar. A entrada no fechamento não os valida. Use evidência ordenada suficiente ou declare as premissas.
E se um candle tocar stop e alvo?
OHLC não define a ordem. Use a sequência de cotações ou marque a ambiguidade e informe sensibilidade ou convenção explícita. Stop primeiro é hipótese, não fato reconstruído. Escolher sempre o alvo não é defensável.
Devo descontar spread de novo do lucro pelos fills reais?
Não. Os preços executados já incorporam spread e desvios realizados. Inclua comissões e financiamento separados sem duplicação. OrderProfit() exclui swap e comissão; concilie o registro completo com sinais corretos.
Sleep() simula latência da corretora no testador MT4?
Não. Sleep() não atrasa o testador padrão. Um cenário exige método documentado na sequência, considerando fills perdidos e estados das ordens. Continua sendo simulação, não prova de latência histórica.
Quantos trades tornam um backtest de scalping confiável?
Não há número universal. Dados, episódios independentes, custos, amplitude da busca, histórico intocado e forward importam. Trades próximos podem depender entre si. Os números fictícios ensinam conciliação e cálculo, não amostra mínima ou rentabilidade.
Fontes e notas de teste
As referências oficiais MetaQuotes documentam a modelagem padrão MT4 e os limites do testador. Também foram verificados lados de cotação, séries temporais e campos de lucro. Preços, contagens e valores são exemplos didáticos fictícios originais, não um backtest executado. Fluxos separados de ticks ou atraso exigem verificação documentada própria.
Conteúdo educacional. Números, preços, contagens e resultados são fictícios, não resultados de trading verificados. Forex envolve risco. Backtest, stop e orçamento não garantem desempenho futuro nem perda máxima.