Tema
Idioma
backtestcrypto backtestbacktest trading strategyno codingfree backtestbacktesting toolwin rateprofit factorsandboxfomoed

Faça Backtest de Qualquer Estratégia de Trading em 60 Segundos (Sem Programação, 2026)

Faça Backtest de Qualquer Estratégia de Trading em 60 Segundos (Sem Programação, 2026)
Por fomoed17 de maio de 202613 min de leitura

Última atualização: maio de 2026. Todas as métricas descritas aqui são campos reais do motor de sandbox da fomoed. Resultados de backtest são educacionais — desempenho passado não prevê retornos futuros.

A diferença entre achar que sua estratégia funciona e saber que ela funciona é um número só: como ela teria se comportado ao longo dos últimos anos de candles reais, incluindo os regimes em que você não estava operando. Isso é um backtest. Feito com honestidade, é o exercício mais útil que um trader discricionário pode rodar antes de automatizar. Feito mal, é um discurso de venda que você escreveu pra si mesmo — cada parâmetro ajustado até a curva ficar linda, e depois o dinheiro de verdade descobre o que você esqueceu de modelar.

O caminho tradicional para um backtest era assim: escrever Python, puxar OHLCV histórico de uma API de exchange, calcular indicadores na unha, simular slippage, contabilizar taxas, lidar com fills parciais, escrever a parte analítica, plotar a curva de capital. A maioria dos traders desiste no passo um. Os poucos que chegam ao passo sete acabam com um motor de backtest sutilmente diferente da plataforma de trading ao vivo onde vão acabar implantando — e essa diferença os devora em produção.

O sandbox da fomoed elimina toda essa pilha. Escolha um par, escolha um template de estratégia, escolha um intervalo de datas, aperte Run. Três anos de candles históricos em cada par suportado, premissas reais de taxa por exchange, o mesmo caminho de código do motor que roda os bots ao vivo, resultado em menos de um minuto. Sem Python, sem chaves de API, sem Jupyter, sem planilha. Este post percorre o fluxo de ponta a ponta e — mais importante — cobre as cinco armadilhas que transformam um backtest bonito em prejuízo real.

60s
Primeiro Resultado
6
Timeframes
3a
Histórico
$0
Custo

Pule a explicação — rode um backtest agora

Conta gratuita, sem cartão, sem Python. Escolha um par, escolha uma estratégia, aperte Run. Primeiro resultado em cerca de um minuto.

Abrir o Sandbox →

O que você pode testar no sandbox

Hoje, o motor de sandbox suporta quatro classes de estratégia, cada uma com sua própria superfície de configuração:

Estratégias customizadas baseadas em indicadores

Mean-reversion de RSI, cruzamentos de EMA, confluências de MACD, squeezes de Bollinger Bands, fades de VWAP, setups multi-indicador. Doze indicadores estão expostos (RSI, EMA, SMA, MACD, ATR, ROC, Bollinger, VWAP, Williams %R, Stochastic, OBV, ADX) e qualquer combinação pode atuar como gatilho de entrada ou filtro. O motor lida com parâmetros dinâmicos — comparações de largura de banda, janelas de lookback, condições do tipo "cruzou por cima/por baixo" — então você não precisa fazer a matemática na mão.

Bots DCA e grid

Dollar-cost averaging com escadas opcionais de safety orders, take-profit sobre a posição agregada e condições de gatilho configuráveis. Bots de grid escalonam compras e vendas dentro de um intervalo definido com TP por célula. Os dois rodam dentro do mesmo motor das versões ao vivo — o sandbox não é um caminho de código diferente, é o mesmo loop trader.execute() alimentado por candles históricos em vez de um feed ao vivo.

Smart Money Concepts (SMC)

CHoCH (change of character), BoS (break of structure), order blocks, fair value gaps, retrações de Fibonacci (incluindo a zona OTE de 0.618-0.79) e liquidity sweeps. Sete primitivas, todas detectadas algoritmicamente — o sandbox mostra exatamente os pivôs que o motor ao vivo teria sinalizado em tempo real. Veja nosso guia pilar de SMC para a matemática.

Estratégias por Agente de Trading com IA

Se você consegue descrever a estratégia em duas a quatro frases em inglês simples, o agente de trading com AI da fomoed gera um script em Python que roda dentro do mesmo sandbox. O script pode compor em cima das primitivas de indicadores e SMC, mas não inventar as suas próprias. Útil para "comprar quando RSI<30 AND price>200EMA, sair em +3% ou RSI>70" — digite uma vez, a AI cuida do encadeamento. Veja o pilar do Agente de Trading com IA para a arquitetura.

Como rodar um backtest em 60 segundos

O fluxo de ponta a ponta tem seis cliques, dois deles opcionais. Os números entre parênteses são segundos de relógio realistas para um usuário de primeira viagem.

  1. Abra o sandbox (5s). Cadastre-se grátis se ainda não fez — e-mail ou wallet, sem KYC, sem cartão. Clique em Sandbox na barra lateral do dashboard.
  2. Escolha o mercado (10s). Exchange (Hyperliquid / Binance / Bybit / OKX / Decibel / AsterDex / GRVT / Extended / StandX), símbolo (ex.: BTC/USDC:USDC), timeframe (1m / 5m / 15m / 30m / 1h / 4h).
  3. Escolha o intervalo de datas (5s). O padrão são os últimos 30 dias. Clique nos seletores de data para estender; o sandbox cobre até três anos de histórico por par suportado.
  4. Configure a estratégia (20s). Escolha um preset (RSI / Custom / DCA / Grid / SMC / Agente de Trading com IA) ou ajuste os parâmetros dos indicadores manualmente. A UI do sandbox espelha exatamente o wizard do bot ao vivo — se você consegue configurar um bot ao vivo, consegue configurar um backtest.
  5. Clique em Run (15-90s). A maioria dos backtests termina em 10-30 segundos; rodadas de 5 minutos sobre intervalos longos podem levar até 90s na primeira vez (cacheadas nas rodadas seguintes).
  6. Leia o resultado (os próximos 10 minutos — veja abaixo).

Como ler o resultado com honestidade

Seis métricas importam. As três primeiras são vaidade; as três seguintes são realidade. Olhe para todas as seis — nunca decida com base em uma só.

Win rate

O que é
Porcentagem de trades fechados que saíram no lucro (depois das taxas).
Bom quando
Consistentemente 50%+ em múltiplos regimes — esse é o piso onde mora a expectância positiva se o seu risco-retorno for decente.
Cuidado
Um win rate alto (70%+) quase sempre significa take-profits minúsculos e stops enormes — o ganho médio é pequeno, a perda média é catastrófica. Combine com profit factor abaixo.

Profit factor

O que é
Lucro bruto ÷ perda bruta. Diz quantos dólares você ganha para cada dólar perdido.
Bom quando
Acima de 1.3 — abaixo disso, a estratégia é essencialmente breakeven depois de incluir slippage e taxas no trading real.
Cuidado
Profit factor > 3 em um período curto quase sempre é sinal de curve-fitting. Teste em múltiplos intervalos não sobrepostos; se desmorona, você overfit.

Max drawdown

O que é
Maior queda de pico a vale na curva de capital, em percentual. O tamanho da queda que você tem que aguentar até a recuperação.
Bom quando
Abaixo do seu limite pessoal de dor — tipicamente 15-25% para traders de varejo, bem menor para alocadores de capital.
Cuidado
Um backtest com 8% de max drawdown ao longo de 6 meses quase certamente esconde um regime em que o drawdown foi de 40%+. Sempre olhe o vale mais profundo no gráfico da curva de capital, não só o número.

Sharpe ratio

O que é
Retorno ajustado ao risco — quanto retorno excedente por unidade de volatilidade. Quanto maior, melhor.
Bom quando
Acima de 1.0 é decente; acima de 2.0 é excelente; acima de 3.0 é suspeito (ou o timeframe é curto).
Cuidado
O Sharpe não penaliza volatilidade só para baixo — uma estratégia com vitórias pequenas frequentes e perdas enormes raras pode mostrar um Sharpe > 1.5 até o momento exato em que explode.

Curva de capital

O que é
Um gráfico de linha do saldo da sua conta ao longo do backtest. O visual único mais informativo de qualquer resultado de backtest.
Bom quando
Razoavelmente suave, geralmente subindo da esquerda para a direita, com drawdowns visíveis mas recuperáveis. Pontos extras se ficar positiva atravessando bear markets conhecidos no intervalo.
Cuidado
Uma escada com um único salto grande seguido de um platô significa que a estratégia funcionou uma vez em um regime e nunca mais. Descarte.

Trade log

O que é
Cada trade individual com timestamps de entrada/saída, P&L e o motivo da saída (TP / SL / trailing / tempo / sinal contrário).
Bom quando
A frequência de trades casa com a sua tolerância — uma estratégia que dispara 8 vezes por dia exige atenção ou automação total; uma que dispara duas vezes por semana é território de set-and-forget.
Cuidado
Se 80% do lucro vem dos 5% maiores trades, você está dependendo da sorte de pegar movimentos específicos. Olhe a mediana, não a média.

5 armadilhas de backtest (e como o sandbox lida com elas)

1. Overfitting a um único regime

Você ajusta o limite inferior do RSI de 35 para 32, depois para 28, até a curva de capital ficar deslumbrante. Parabéns — você encontrou os valores de parâmetro que funcionaram naquele trecho específico de histórico de preço. Rode de novo em outro intervalo, os ganhos somem. Como evitar: sempre teste os mesmos parâmetros em pelo menos dois intervalos não sobrepostos (ex.: 2023-2024 E 2024-2025). O sandbox torna isso trivial — duplique a config, mude o intervalo de datas, compare resultados. Se as métricas desabam, você overfit.

2. Fingir que taxas não existem

Uma estratégia de scalp que dispara 30 vezes por dia a 0,1% por fill queima 6% por dia só em taxas. O sandbox aplica taxas de taker reais por exchange (Hyperliquid 0,045%, Binance 0,05%, Bybit 0,055%, etc.) em cada fill. Se você está testando uma estratégia de alta frequência e o resultado não considera taxas, o número que você está encarando é ficção. O profit factor e o PnL líquido do sandbox são pós-taxa. Verifique: olhe o trade log; as taxas por trade devem aparecer como um pequeno arrasto em cada entrada/saída.

3. Supor fills instantâneos

No trading ao vivo, sua ordem não fecha exatamente no preço que você queria — tem slippage, especialmente em tamanhos maiores ou pares mais finos. Um backtest ingênuo executa no open da próxima barra, o que é otimista. O sandbox usa um modelo de fill conservador: ordens a mercado executam no preço de abertura da barra mais uma tolerância de slippage configurável (padrão 0,05%); take-profits executam quando o high da barra toca o nível de TP (ou no close, dependendo do toggle "touch vs close"); stop losses executam no preço de SL quando acionados intrabar. Verifique: aperte a tolerância de slippage e rode de novo; se o resultado desmorona, sua estratégia depende de fills perfeitos.

4. Look-ahead bias

Essa é traiçoeira. Se sua estratégia usa o close do candle atual para decidir se entra naquele mesmo candle, você está trapaceando — em tempo real o candle ainda não tinha fechado quando a decisão foi tomada. O sandbox impõe causalidade: na barra N o motor enxerga apenas o OHLCV das barras 0 até N-1. Os valores dos indicadores usados na abertura da barra N são calculados a partir das N-1 barras anteriores. Se você descreve uma estratégia que quer ler "close do candle atual", o sandbox usa o close da barra anterior como proxy. Verifique: uma estratégia que lê "preço recuperou a EMA nesta barra" deve ser reformulada como "barra anterior recuperou a EMA".

5. Cegueira a mudanças de regime

Tendências em cripto parecem diferentes em regimes diferentes — acumulação, markup, distribuição, markdown. Uma estratégia que imprime dinheiro durante a fase de markup geralmente sangra durante a distribuição. A janela padrão de 3 anos do sandbox cobre pelo menos um ciclo completo incluindo um drawdown relevante, mas você deveria explicitamente fatiar o intervalo e checar cada subperíodo. Verifique: rode a mesma config três vezes — 2023, 2024, 2025 — e olhe as métricas de cada ano independentemente. Se 2024 carrega o resultado inteiro, você está apostando em 2024 se repetir.

Como o sandbox da fomoed se mantém honesto

O motor do sandbox roda o mesmo código Python do bot ao vivo — não é uma implementação paralela. Matemática de indicadores, avaliação de sinais, sizing de posição, dedução de taxas, regras de fill de TP/SL, rastreamento de trailing-stop: tudo single-source-of-truth. Quando você gradua uma estratégia testada em backtest para um bot ao vivo, a única coisa que muda é qual stream de candles o motor lê — parquet histórico vs WS de exchange ao vivo — cada outro byte de lógica é idêntico.

Isso importa porque a maioria das ferramentas de backtest prontas é um caminho de código diferente daquele da plataforma de execução ao vivo onde você acaba implantando. Elas simulam uma lógica "perto o suficiente" com premissas que diferem sutilmente — e essa diferença come silenciosamente sua edge quando os fills reais entram em cena. O sandbox elimina essa diferença por construção.

O motor também publica o schema de resultado abertamente: métricas (win rate, profit factor, max drawdown, Sharpe, PnL bruto/líquido, ganho/perda médios, tempo médio de holding), o trade log completo com motivos e a curva de capital como série temporal. Sem campo oculto de "score" que agrega tudo num número único otimizado para parecer bom — toda métrica é verificável de forma independente a partir do trade log.

Perguntas frequentes

Quanto tempo leva um backtest?

A maioria dos backtests termina em 10-30 segundos para intervalos de menos de um ano. Backtests longos de 5 minutos sobre intervalos plurianuais podem levar até 90 segundos na primeira vez — depois disso, o cache de OHLCV é atingido e re-rodadas ficam 5-10× mais rápidas.

Quanto de dado histórico eu tenho?

Três anos de OHLCV por par suportado em seis timeframes (1m, 5m, 15m, 30m, 1h, 4h). O cache é atualizado todas as noites via cron; se você fizer backtest em um par recém-listado ou com histórico esparso, o motor preenche a lacuna do CCXT ao vivo durante a primeira rodada e cacheia para rodadas futuras.

Os resultados são determinísticos?

Sim — mesma config + mesmo intervalo de datas = mesmo resultado. O motor não tem aleatoriedade oculta; até o slippage é aplicado de forma determinística contra o open/high/low/close do candle. Isso significa que você pode comparar duas configs maçãs com maçãs rodando ambas contra o mesmo intervalo.

Posso exportar o trade log?

Sim — todo resultado de backtest inclui um CSV baixável com cada trade individual (timestamps e preços de entrada/saída, tamanho da posição, taxa, P&L, motivo da saída). Útil se você quer fazer suas próprias análises numa planilha ou notebook pandas.

O backtest modela funding rates?

Para contratos perpétuos, sim — o motor aplica a funding rate realizada de 8 horas em cada janela de funding durante uma posição mantida. As funding rates são puxadas do histórico da exchange quando disponíveis; nos raros casos em que não estão, o motor usa uma premissa conservadora de funding zero.

Qual a diferença entre "touch" e "close" para take-profit?

Touch significa que o TP executa no momento em que o high da barra atinge o preço de TP intrabar. Close significa que só executa se a barra fechar no nível do TP ou acima. Touch é mais otimista (corresponde ao comportamento de uma ordem a mercado num movimento rápido); close é mais conservador (corresponde ao comportamento de uma ordem limitada ou quando a liquidez intrabar é fina). O sandbox permite escolher por TP.

Devo confiar num backtest com 90% de win rate?

Não. Win rate isolado quase nunca é a métrica certa para maximizar — combine com profit factor, max drawdown e a curva de capital. Um win rate de 90% com profit factor de 0,7 significa que você está ganhando pequeno e perdendo grande; vai quebrar devagar. Um win rate de 45% com profit factor de 2,5 significa que você ganha mais do que perde; geralmente é a estratégia melhor.

Pare de adivinhar — teste sua ideia

Você leu até aqui por algum motivo. O sandbox é grátis, não precisa de Python, três anos de dados históricos em cada par suportado.

Começar Grátis →

Recursos relacionados