BJF TRADING GROUP · ECOSSISTEMA SHARPTRADER
SharpTrader Optimizer — Backtester multi-core & otimizador de estratégias para arbitragem de latência, hedge, lock & mais…
Motor profissional de backtesting e otimização de parâmetros para estratégias de arbitragem e não arbitragem do SharpTrader. Reproduz ticks históricos reais com tempo de execução de ordens configurável, distribui grandes grades de parâmetros por todos os núcleos da CPU e calcula slippage realista automaticamente em cada ordem a partir do próprio fluxo de ticks. Criado pela equipe por trás do SharpTrader Pro — o mesmo motor de execução, os mesmos dialetos de brokers.
LICENÇA ÚNICA
O que o SharpTrader Optimizer faz?
O SharpTrader Optimizer é um motor dedicado de backtesting e otimização de parâmetros para estratégias de arbitragem e não arbitragem construídas na plataforma SharpTrader. Ele reproduz dados históricos de ticks através da lógica da sua estratégia, modela custos de execução realistas (tempo de execução configurável, spread variável por tick, slippage calculado a partir dos ticks) e executa otimização em grade com milhares de combinações de parâmetros — usando todos os núcleos de CPU disponíveis em paralelo.
A ferramenta foi feita especificamente para traders que operam estratégias de latência, lock, hedge, pair trading, baseadas em notícias e de tendência, e que precisam encontrar conjuntos de parâmetros robustos antes de arriscar capital real. Ao contrário dos backtesters de varejo comuns, o SharpTrader Optimizer trabalha com ticks históricos reais, permite definir o tempo de execução por ordem em milissegundos e calcula o slippage automaticamente a partir do fluxo de ticks — as três variáveis que de fato decidem se uma estratégia é lucrativa em produção.
Backtest de uma única configuração
Execute um conjunto de parâmetros em dados históricos de ticks e analise a curva de PnL, o drawdown, a taxa de acerto e o detalhamento por hora do dia.
Otimize intervalos de parâmetros
Defina mín/máx/passo para cada parâmetro da estratégia — o motor gera todas as combinações da grade e classifica os resultados por PnL ou drawdown.
Distribuição multi-core
Carga de trabalho dividida igualmente entre todos os núcleos da CPU. Uma execução de 12 horas em uma única thread termina em ~3 horas em uma CPU de 4 núcleos.
Considera o tempo de execução
Defina o tempo de execução por ordem em milissegundos. O motor avança no fluxo de ticks de acordo com essa latência e executa ao bid/ask resultante — produzindo automaticamente slippage positivo ou negativo realista.
Estratégias suportadas
O Optimizer vem com dois tipos de estratégia de arbitragem prontos para testar desde o primeiro dia. Mais três chegam no 2º–3º trimestre de 2026 como parte das atualizações gratuitas do produto para os titulares de licença.
Disponível agora DISPONÍVEL
A partir da versão v1.0
- Latency Arbitrage — estratégia clássica de feed rápido vs feed lento, com diferença para abertura configurável e saída com trailing.
- DominionForce — variante proprietária de arbitragem de uma perna do SharpTrader, com filtragem adaptativa de spread.
- Phantom Drift — lógica híbrida de martingale & arbitragem lock.
- Lock Strategies (família completa) — lock clássico, lock assimétrico, lock multipernas.
- Hedge Arbitrage — abertura simultânea em dois brokers com paridade de risco.
Roadmap 3º–4º trimestre de 2026 PLANEJADO
Atualização gratuita para titulares de licença
- Pair Trading — reversão à média baseada em cointegração entre símbolos correlacionados.
- Arbitragem triangular (FX) — ineficiências entre três taxas cruzadas.
- Otimização de portfólio com vários símbolos — chega no final de 2026.
Modo de backtest vs modo de otimização
O Optimizer funciona em dois modos complementares. A maioria dos fluxos de trabalho usa ambos: primeiro otimizar para encontrar intervalos de parâmetros candidatos e depois fazer o backtest detalhado dos melhores candidatos para verificar o formato da curva de patrimônio e o perfil de drawdown.
Modo de backtest
Execute um conjunto de parâmetros em um intervalo de datas históricas. Retorna o gráfico completo de PnL, o desempenho por hora do dia, a divisão de ganhos/perdas por direção e um registro por operação.
- Visualize a curva de patrimônio operação por operação
- Inspecione cada ordem fechada: ticket, horário, tipo, lotes, preço, L/P
- Filtre por dia da semana e hora do dia
- Use para: validar uma única configuração, depurar a lógica da estratégia, gerar relatórios para clientes ou parceiros
Modo de otimização
Execute de milhares a centenas de milhares de combinações de parâmetros como busca em grade. Retorna uma tabela classificada por PnL, MaxDD ou pontuação personalizada.
- Defina mín/passo/máx para cada parâmetro da estratégia; o motor gera a grade completa
- Paralelização multi-core (uma combinação por núcleo simultaneamente)
- Barra de progresso em tempo real com contador de combinações concluídas e tempo estimado
- Use para: encontrar regiões de parâmetros robustas, análise walk-forward, testes de estresse em diferentes cenários de tempo de execução
Por que a paralelização multi-core muda o jogo
A maioria dos backtesters de varejo comuns roda em uma única thread da CPU. Em CPUs modernas de 4–16 núcleos, isso desperdiça 75–94% da capacidade de processamento disponível. O SharpTrader Optimizer foi construído desde o início para distribuir a carga de otimização por todos os núcleos disponíveis, com cada núcleo processando uma combinação de parâmetros independente.
Na prática, isso significa que você pode iterar ideias de estratégia em uma noite em vez de uma semana. Uma execução de otimização típica de porte médio, com tamanhos de passo razoáveis, gera 30.000–100.000 combinações em 1 semana de dados de ticks — perfeitamente viável durante a noite em uma estação de trabalho de 4 núcleos, ou em poucas horas em uma máquina de 16 núcleos.
Hardware recomendado para otimização séria
Para grades com mais de 100k combinações em conjuntos de dados de ticks de vários meses, recomendamos uma CPU de 8–16 núcleos (Intel i7/i9 de 12ª geração ou mais recente, AMD Ryzen 7/9 série 5000 ou mais recente). Mínimo de 32 GB de RAM se você carregar vários anos de histórico de ticks. SSD fortemente recomendado para E/S de dados de ticks.
Hardware menos potente também funciona — apenas leva mais tempo. O otimizador detecta automaticamente o número de núcleos e escala linearmente.
Parâmetros de otimização explicados
Cada estratégia expõe seu próprio conjunto de parâmetros otimizáveis — a tabela abaixo mostra os parâmetros disponíveis para a estratégia Latency Arbitrage como exemplo representativo. Outras estratégias (DominionForce, Phantom Drift, Lock, Hedge, Pair Trading) expõem conjuntos diferentes. Cada parâmetro pode ser ativado de forma independente: marque a caixa Opt? para incluí-lo na grade ou deixe-a desmarcada para fixá-lo em um único valor. O total de combinações é exibido em tempo real à medida que você ajusta os intervalos.
| Parâmetro | O que controla | Intervalo típico |
|---|---|---|
| StopLoss | Perda máxima em pips antes da saída forçada. Essencial para o controle de risco em estratégias de lock e hedge. | 50–100, passo 10 |
| TakeProfit | Lucro-alvo em pips. Um TP menor aumenta a taxa de acerto; um TP maior captura movimentos maiores. | 200–500, passo 50 |
| MinProfit | Limite mínimo de lucro antes de o trailing stop ser ativado. Filtra microganhos. | 10–100, passo 10 |
| PipsForMinProfit | Pips de movimento de preço necessários para garantir o MinProfit. Funciona em conjunto com o MinProfit na lógica de trailing. | 0–100, passo 10 |
| TrailingStep | Tamanho do passo do trailing stop. Passos menores protegem mais lucro; passos maiores evitam saídas precoces por ruído. | 10–100, passo 10 |
| DiffToOpen | Diferença mínima entre os feeds de preço (em pontos) necessária para abrir uma nova posição. Limiar central do sinal de arbitragem de latência. | 10–100, passo 10 |
| MaxSpreadSlow | Spread máximo permitido no feed lento para que um sinal seja válido. Filtra regimes de spread em expansão. | 1–20, passo 5 |
| MaxSpreadFast | Spread máximo permitido no feed rápido. Junto com o MaxSpreadSlow, define os limites de qualidade de execução. | 1–50, passo 5 |
Como a modelagem do tempo de execução produz slippage realista
O maior motivo isolado pelo qual os resultados publicados de backtests de arbitragem não sobrevivem ao contato com o mercado real são as premissas de latência zero. Os backtesters de varejo comuns presumem que as ordens são executadas ao preço exibido no instante em que são enviadas. Os brokers reais não funcionam assim. Entre o momento em que sua estratégia decide enviar uma ordem e o momento em que essa ordem é casada no servidor do broker, o preço já se moveu — e em uma estratégia que captura 1–3 pontos por operação, esse movimento costuma ser a diferença entre lucro e prejuízo.
O SharpTrader Optimizer não pede que você adivinhe um número de slippage. Em vez disso, você configura um único dado físico — o tempo de execução da ordem, em milissegundos — e o motor deriva o slippage do próprio fluxo histórico de ticks.
Como o motor calcula o slippage a partir do tempo de execução
Você define o tempo de execução = T ms (o tempo de ida e volta que você observa ao vivo). O motor considera apenas o trecho de ida — T / 2 ms — e avança essa quantidade no fluxo de ticks a partir do momento em que a estratégia decidiu enviar a ordem. O trecho da resposta do broker é descartado intencionalmente: quando a resposta chega, o preço de execução já foi determinado pelo que o mercado fez durante o trecho da requisição. O bid/ask presente no tick em momento do sinal + T/2 é o preço em que a ordem é executada. A diferença entre esse preço e o preço que a estratégia “viu” ao decidir agir é o slippage realizado — positivo, negativo ou zero, com magnitude determinada por como o mercado realmente se moveu durante esses milissegundos.
How SharpTrader Optimizer resolves slippage from execution time
Como o SharpTrader Optimizer calcula o slippage a partir do tempo de execução — a mesma estratégia a 0 ms, 50 ms e 150 ms percorrendo o mesmo fluxo de ticks.
Entrada: tempo de execução (ms)
Defina o tempo de execução por ordem globalmente ou por perna. Valores típicos: 5–20 ms (institucional com co-location), 30–60 ms (VPS com bridge rápida), 80–180 ms (VPS de varejo típico), 200+ ms (conectividade ruim).
Avanço de meia latência nos ticks
O motor avança T/2 de tempo real a partir do momento do sinal e então se ajusta ao próximo tick disponível. A execução usa o bid desse tick para vendas e o ask para compras.
Saída: slippage realizado por execução
O slippage é o que o avanço nos ticks produzir — uma distribuição real que reflete como o mercado se comportou naquele dia. Ele pode ser positivo (o preço se moveu a seu favor) ou negativo (o preço se moveu contra você), e sua magnitude acompanha a volatilidade real dos ticks.
Independente na abertura e no fechamento
Você pode definir tempos de execução diferentes para abertura e fechamento de ordens — refletindo o comportamento real dos brokers, em que as saídas muitas vezes passam por um roteamento mais lento que as entradas.
Fluxo de trabalho prático
Execute o mesmo conjunto de parâmetros três vezes com diferentes premissas de tempo de execução: 0 ms (instantâneo, verificação do limite superior — não para uso real), 50 ms (VPS rápido / bridge com co-location), 150 ms (VPS de varejo típico). Se o PnL despencar entre os cenários de 50 ms e 150 ms, a estratégia é sensível à latência e não sobreviverá a uma troca de broker ou de VPS. Se o PnL se mantiver estável, você tem uma configuração robusta que deve se generalizar para condições realistas de brokers.
Análise de desempenho em 24 horas
Todo backtest produz um detalhamento de desempenho em 24 horas — um histograma da contribuição do PnL por hora do dia. Essa é uma das ferramentas de diagnóstico menos aproveitadas no trading de varejo: ela revela exatamente quando sua estratégia ganha dinheiro, quando perde e quando deveria ser desligada.
Constatações típicas:
- A arbitragem de latência em EURUSD costuma concentrar 60–80% do lucro em 2–3 horas específicas (abertura de Londres, abertura de NY ou fechamento de Londres).
- Estratégias próximas ao trading de notícias em metais (XAUUSD) frequentemente atingem o pico por volta das 14:30 UTC (divulgação de dados dos EUA) e das 22:00–23:00 UTC (abertura da Ásia).
- Estratégias de lock e hedge tendem a ser indiferentes ao horário, mas têm desempenho inferior durante o rollover do fim de semana e a baixa liquidez dos feriados.
O Optimizer permite filtrar os resultados por dia da semana e hora do dia após a conclusão da execução — assim você pode identificar regras do tipo “operar apenas de terça a quinta, 22:00–23:00 UTC” sem executar a otimização novamente.
Também disponíveis: filtros por tempo de vida da ordem (para identificar posições mantidas por tempo excessivo), número total de ordens (para detectar operações de menos/de mais) e slippage realizado (para separar execuções que se beneficiaram de slippage positivo).
Requisitos do sistema
Mínimo
| SO | Windows 10/11 (64 bits) |
| CPU | 4 núcleos, 2,5 GHz+ |
| RAM | 8 GB |
| Armazenamento | 20 GB livres em SSD |
| .NET | Runtime .NET 8.0 |
| Tela | 1920×1080 |
| Rede | Obrigatória (validação da licença + atualizações do feed de dados de ticks) |
Recomendado (otimização pesada)
| SO | Windows 11 Pro |
| CPU | 8–16 núcleos, Intel i7/i9 12ª geração+ ou Ryzen 7/9 5000+ |
| RAM | 32 GB |
| Armazenamento | SSD NVMe, 100 GB+ livres |
| .NET | Runtime .NET 8.0 |
| Tela | 2560×1440 ou maior |
| VPS | Opcional — consulte o guia de VPS |
macOS / Linux: atualmente sem suporte como versão nativa. Funciona de forma confiável no Windows 11 sob Parallels (Apple Silicon) e CrossOver / VMware (Linux) para os usuários que precisarem.
SharpTrader Optimizer vs backtesters comuns
Os backtesters de varejo comuns foram criados para estratégias de seguimento de tendência e baseadas em indicadores, não para arbitragem. Suas premissas — execuções instantâneas, spread fixo, preços de um único feed — destroem silenciosamente o realismo de que os backtests de arbitragem precisam. O SharpTrader Optimizer foi construído especificamente para eliminar essas três lacunas:
Dados reais em nível de tick, não aproximações por barras
Todo backtest reproduz ticks históricos reais (timestamp + bid + ask). Os testadores comuns recorrem à interpolação de barras M1/M5, que suaviza silenciosamente justamente os movimentos de preço dos quais as estratégias de arbitragem dependem.
O tempo de execução das ordens é configurável
Você define a latência de execução das ordens (em milissegundos) e o motor a aplica a cada ordem. Os testadores comuns presumem execuções com latência zero — o maior motivo isolado pelo qual os backtests de arbitragem de latência parecem ótimos na simulação e falham no trading real.
O spread variável é automático
O spread é lido diretamente do fluxo histórico de ticks, tick a tick. Entrada e saída consideram o slippage de forma independente. Os testadores comuns aplicam um único spread fixo a todas as execuções — e não é assim que os spreads reais se comportam durante notícias, rollover ou horários de baixa liquidez.
Comparação lado a lado:
| Recurso | Backtesters comuns | SharpTrader Optimizer |
|---|---|---|
| Dados reais de ticks (vs interpolação de barras) | Varia — depende da qualidade dos dados do broker | Sim — reprodução nativa de ticks (BJF Feed: Londres / Tóquio / NY) |
| Modelagem do tempo de execução das ordens | Não — presume execuções instantâneas | Sim — latência de execução configurável (ms) |
| Spread variável (por tick) | Apenas spread fixo | Automático — lido do fluxo de ticks + limites MaxSpread |
| Modelagem realista de slippage | Não (as ordens são executadas ao preço exibido) | Sim — calculado automaticamente a partir do fluxo de ticks pelo avanço do tempo de execução (positivo ou negativo, magnitude real) |
| Paralelização multi-core | Thread única | Sim — 95%+ de utilização em todos os núcleos |
| Suporte a dois feeds (rápido + lento) | Não | Nativo — necessário para arbitragem de latência |
| Otimização em grade | Sim, mas lenta e em thread única | Sim — 100k+ combinações / execução, multi-core |
| Detalhamento de desempenho em 24 horas | Manual (exportar e criar o gráfico externamente) | Gráfico & filtro integrados |
| Filtro por dia da semana | Não | Sim |
| Análise walk-forward | Não | Sim — particionamento por intervalo de datas |
| Modo de otimização | Genético / caixa-preta | Grade + classificação (determinística, auditável) |
| Estratégias testadas | Estratégias automatizadas genéricas | Estratégias de arbitragem do SharpTrader (Latency, DominionForce, +5 a caminho) |
| Custo | Incluído / gratuito com terminal de varejo | Licença única de $595 |
Perguntas frequentes
O Optimizer executa estratégias construídas para o motor de execução do SharpTrader. Você pode usar o Optimizer de forma independente para pesquisa e backtesting, mas para usar seus parâmetros otimizados em operações reais, precisa de uma licença do SharpTrader (Lite a partir de $800 ou Pro a partir de $2,995). Muitos traders compram primeiro o Optimizer para validar estratégias e depois fazem o upgrade.
Depende de três fatores: número de combinações, extensão dos dados históricos e número de núcleos da CPU. Como referência realista em uma estação de trabalho de varejo típica: ~30.000 combinações em 1 semana de dados de ticks de XAUUSD em uma CPU de 4 núcleos levam aproximadamente 12 horas. A mesma grade de 30k termina em cerca de 3 horas em uma máquina de 16 núcleos. Grades menores (5.000–10.000 combinações) em 1 semana de dados terminam em 2–4 horas com 4 núcleos. Grades maiores (100.000+ combinações) em intervalos de dados de vários meses são mais bem executadas em um servidor dedicado com 16+ núcleos.
Sim. O Optimizer aceita dados de ticks em formatos padrão (CSV com timestamp/bid/ask, formatos comuns de exportação de ticks/histórico de terminais e o formato proprietário BJF Feed). Para melhores resultados, recomendamos usar dados do BJF Feed — disponíveis nos nós de Londres, Tóquio e Nova York —, que correspondem à fonte usada pela implantação real do SharpTrader Pro, para que seu backtest reflita a execução real da forma mais fiel possível.
Licença única: $595. Sem taxas recorrentes. Inclui atualizações gratuitas por 12 meses (abrangendo as adições de Phantom Drift, Lock Strategies, Hedge e Pair Trading). Após 12 meses, o software continua funcionando — apenas as novas estratégias adicionadas exigem uma licença de atualização opcional de $99.
Somente se você otimizar corretamente. Recomendamos fortemente duas salvaguardas: (1) Defina o tempo de execução com um valor realista para a sua configuração real — normalmente 80–150 ms para um VPS de varejo padrão, 30–60 ms para uma bridge com co-location. Nunca otimize com tempo de execução = 0 ms. (2) Faça a validação walk-forward — otimize em jan–mar e valide em abr–jun. Se sua melhor configuração mudar entre os períodos, a estratégia está sobreajustada. A filtragem por intervalo de datas do Optimizer torna o walk-forward trivial.
Para cargas de trabalho de pesquisa, um AMD Ryzen 9 7950X (16 núcleos) ou um Intel i9-13900K (24 núcleos, incluindo E-cores) é o ponto ideal — ambos reduzem a execução típica de 12 horas em 4 núcleos com 1 semana de dados de ticks para cerca de 3 horas e lidam com grades de mais de 100k combinações sem comprometer o planejamento de prazos. Para uso ocasional, qualquer CPU desktop moderna de 6–8 núcleos funciona bem. Opções em nuvem (AWS c7i.4xlarge, Hetzner CCX33) também funcionam e escalam sob demanda.
Sim. O Optimizer funciona sem interface (headless) e via área de trabalho remota. Para provedores de VPS e dicas de configuração, consulte nosso guia de VPS para arbitragem no forex. Observação: um VPS de forex típico de $30/mês tem apenas 2 núcleos — para otimização séria, você precisa de um servidor de CPU dedicado (linha AX da Hetzner, linha Game da OVH) por $40–120/mês.
Atualmente, o Optimizer vem com modelos de estratégia focados em FX (Latency, DominionForce). As estratégias específicas para cripto — incluindo as variantes de hedge e de uma perna do VIP Crypto Arbitrage — estão previstas para a atualização do 3º trimestre de 2026. Os titulares de licença recebem essa adição como atualização gratuita.
A BJF Trading Group oferece garantia de reembolso de 100% em até 30 dias após a compra se o Optimizer não funcionar conforme descrito no seu hardware. Veja os termos completos em nossa página de garantia. A garantia cobre a funcionalidade do software — não a lucratividade de qualquer estratégia que você testar.
StrategyQuant e QuantAnalyzer são geradores de estratégias — criam EAs automaticamente a partir de combinações aleatórias de indicadores. O SharpTrader Optimizer não é um gerador de estratégias. Ele testa e otimiza estratégias de arbitragem existentes (Latency, DominionForce etc.) com modelagem de execução realista. As duas ferramentas servem a propósitos diferentes: use SQ/QA para gerar hipóteses e o SharpTrader Optimizer para o ajuste de parâmetros específico de arbitragem e o realismo da execução real.
Pare de adivinhar. Comece a otimizar.
Licença única, $595. Atualizações gratuitas de estratégias por 12 meses. Garantia de reembolso de 100% em até 30 dias. Combine com o SharpTrader Lite ou Pro para usar seus parâmetros otimizados em operações reais.





