NTSL — Backtesting e Otimização no Profit
Como rodar e interpretar backtests no Profit Nelogica: modos OHLC e Tick a Tick, relatório de performance, otimização de parâmetros e processo de validação antes de operar ao vivo.
NTSL — Backtesting e Otimização no Profit
O backtest é a primeira validação de uma estratégia — simula a execução no histórico para avaliar o desempenho antes de arriscar capital real. O Profit oferece dois modos de simulação com níveis distintos de fidelidade.
Funções de execução: NTSL — Funções de Execução | Automação: NTSL — Automação
Modos de Backtest
OHLC (Open-High-Low-Close)
Disponível no Profit Pro e Ultra.
- Simula usando apenas os preços OHLC de cada candle
- Rápido — ideal para testar conceitos e otimizar parâmetros
- Menor precisão: não reproduz a sequência real de preços intracandle
- Stops podem ser atingidos em ordem diferente da real
Candle: Abertura → Máxima → Mínima → Fechamento
(ordem assumida — pode não refletir a realidade)Quando usar: análise de estratégias com stops distantes do mercado, swing trade, posições de mais de 1 candle.
Tick a Tick
Disponível somente no Profit Ultra.
- Reproduz fielmente o fluxo real de preços usando dados de tick
- Máxima precisão — stops são atingidos exatamente como ocorreria ao vivo
- Mais lento que o modo OHLC
- Essencial para estratégias com stops apertados (scalping, day trade)
Quando usar: scalping, estratégias com stops < 50 pontos, qualquer estratégia que será usada em automação ao vivo.
| Característica | OHLC | Tick a Tick |
|---|---|---|
| Disponibilidade | Pro + Ultra | Ultra apenas |
| Precisão | Moderada | Alta |
| Velocidade | Rápido | Mais lento |
| Uso recomendado | Conceito, swing | Day trade, scalping |
Executando o Backtest
- Abra o Editor de Estratégias (ícone na barra ou menu)
- Escreva ou abra sua estratégia de execução
- Clique em "Compilar" para verificar erros de sintaxe
- Vá para a aba Backtest no editor
- Selecione o modo: OHLC ou Tick a Tick
- Configure período e parâmetros
- Clique em "Executar"
O gráfico exibirá os sinais de entrada/saída e o relatório de performance será gerado automaticamente.
Relatório de Performance
O backtest gera um relatório com as principais métricas:
Métricas Principais
| Métrica | Descrição | Meta |
|---|---|---|
| Total de Trades | Número de operações simuladas | Mín. 100-200 para significância |
| Taxa de Acerto | % de trades positivos | Depende do RR — ver abaixo |
| Profit Factor | Lucro bruto / Perda bruta | > 1.5 (idealmente > 2.0) |
| Drawdown Máximo | Maior queda do equity em % | < 20% (prop firms: < 8%) |
| Resultado Líquido | P&L total do período | Positivo, descontando custos |
| Média por Trade | Resultado médio por operação | Positivo após custos |
Curva de Equity
A curva de equity mostra a evolução do capital ao longo do tempo. Características desejáveis:
- Inclinação ascendente e consistente
- Drawdowns moderados e recuperação rápida
- Sem períodos longos de estagnação
// No código: plotar equity acumulada
var
fResultAcum : Float;
begin
fResultAcum := AutomationResult(True);
Plot(fResultAcum);
end;Otimização de Parâmetros (Profit Ultra)
O Otimizador de Parâmetros testa até 100.000 combinações diferentes de parâmetros e classifica as melhores pelo critério escolhido.
Como usar
- Após rodar o backtest, clique em "Otimizar estratégia"
- Defina o range de cada parâmetro (ex: Periodo de 5 a 50, step 1)
- Selecione a métrica de otimização (Profit Factor, Resultado, Drawdown...)
- Aguarde o processamento
- Analise os resultados ordenados
Cuidados com Overfitting
O otimizador encontra os melhores parâmetros para o passado — não necessariamente para o futuro.
Sinal de overfitting:
- Parâmetros muito específicos (ex: exatamente Periodo=17, Desvio=1.73)
- Performance cai drasticamente com pequenas variações (+/-1 no parâmetro)
- Resultado excelente no período otimizado, péssimo fora deleValidação recomendada:
Período total: 2020–2025 (5 anos)
In-sample (otimização): 2020–2023
Out-of-sample (validação): 2024–2025
Regra: se o out-of-sample mantiver ≥ 50% do desempenho in-sample → estratégia robustaAnálise de Sensibilidade
Teste o comportamento em vizinhanças do parâmetro ótimo:
Parâmetro encontrado: Periodo = 21
Teste de sensibilidade:
Periodo = 18, 19, 20, 21, 22, 23, 24
Se apenas Periodo=21 funciona → overfitting
Se resultados são bons em 18-24 → região robusta ("platô")Custos de Transação
Sempre configure corretamente os custos para não superestimar resultados:
- Corretagem: valor por ordem (ou por contrato)
- Emolumentos B3: taxa da bolsa
- Slippage: desvio esperado entre preço simulado e preço real
Para mini contratos (WIN, WDO):
- Emolumentoses: ~R$ 0,10 por contrato por lado
- Corretagem: R$ 0 a R$ 1,00 por ordem (depende da corretora)
// Estimar slippage no backtest — usar preço +/- N ticks
input
SlippageTicks(2);
begin
if bSinalCompra then
BuyStop(High[1] + SlippageTicks * MinPriceIncrement,
High[1] + SlippageTicks * MinPriceIncrement);
end;Processo Completo: Backtest → Ao Vivo
| Etapa | Duração | O que avaliar |
|---|---|---|
| Backtest OHLC | — | Conceito válido? Profit Factor > 1.5? |
| Backtest Tick a Tick | — | Resultados semelhantes ao OHLC? |
| Otimização | — | Região robusta nos parâmetros? |
| Out-of-sample | — | ≥ 50% do desempenho in-sample? |
| Conta simulada | 1-3 meses | Slippage real vs simulado? Emocional? |
| Conta real (lote mínimo) | 1-3 meses | Execução real conforme esperado? |
| Escala gradual | — | Aumentar lote após 3 meses positivos |
Estratégias para Melhorar a Qualidade do Backtest
// 1. Não operar em dias de baixa liquidez
if (Volume < 1000) then exit;
// 2. Evitar o primeiro e último candle do pregão
if (Time < 905) or (Time >= 1655) then exit;
// 3. Verificar histórico mínimo antes de calcular
if (CurrentBar < 50) then exit;
// 4. Usar resultado acumulado para bloquear trading em dia ruim
if (DailyResult(False) <= -200) then exit;Referências
- NTSL — Fundamentos
- Funções de Execução
- Automação e Execução ao Vivo
- Backtesting Avançado: CSCV, PBO e DSR
Referências externas
NTSL — Módulo de Automação e Execução ao Vivo
Como configurar e usar o Módulo de Automação do Profit: modos de execução, horários de operação, limites de risco, controles de segurança, XRay, ConsoleLog e estratégias OCO.
NTSL — Indicadores Técnicos
Referência dos principais indicadores técnicos disponíveis em NTSL no Profit Nelogica: médias móveis, osciladores, volatilidade, volume, tendência e como usar em estratégias e robôs.