Swing Breakout Sequence Strategy
Criado 07 jul 2024
·
Atualizado 05 abr 2025
A Estratégia Swing Breakout Sequence (SBS) é uma estratégia mecânica Premium para a plataforma NinjaTrader 8, inspirada pelo modelo de trading do Stoic Trader. A estratégia pode ser utilizada para passar em desafios de avaliação de propfirms.
Pré-requisitos
Para utilizar corretamente esta estratégia, deverias ter os seguintes pré-requisitos disponíveis.
- NinjaTrader 8, com qualquer tipo de licença. Order Flow não é necessário para executar esta estratégia. Clique aqui para transferir
- Uma conta automated-trading.ch com um ativo Subscrição Premium
Aviso Importante
Recomendamos fortemente que nunca executes os teus sistemas de trading algorítmico com dinheiro real ganhado com dificuldade. Deves sempre minimizar o teu risco e executar as tuas estratégias em programas de financiamento de traders, de modo que o montante máximo que corre o risco de perder seja a taxa de subscrição mensal que pagas a esses programas.
Exemplos de Configuração de Entrada
Esta estratégia tem uma configuração de entrada, baseada no algoritmo Swing Breakout Sequence — um modelo de entrada de alta probabilidade com uma relação risco-recompensa definida, baseado numa sequência de 5 swings.
Aqui está o algoritmo para uma configuração de entrada:
- O primeiro passo é a deteção completa de uma Swing Breakout Sequence, formada por 5 swings respeitando o padrão para uma entrada altista (ou exatamente o inverso para uma entrada baixista). Ter os 5 swings não é suficiente por si só — o critério final para um SBS válido é que o preço faça um breakout de um dos swings que o compõem. Uma vez que o 5º swing é o mais baixo para um SBS altista (e o mais alto para um baixista), a estratégia — como o indicador — oferece a capacidade de escolher qual swing dispara o breakout. De acordo com os nossos backtests, o 1º swing na sequência tende a ser a melhor escolha.
- Se o preço fecha fora do intervalo definido pelos swings anteriores, o SBS é invalidado, descartado e não é exibido.
- O SBS não é desenhado em tempo real durante a formação do swing — se fosse, muitos padrões SBS seriam desenhados e depois invalidados e removidos em tempo real, criando confusão visual. Apenas os válidos, confirmados por um breakout, são desenhados.
-
Assim que um SBS é validado, o algoritmo calcula uma proporção nele, baseado em dois níveis:
- O nível de alvo: definido pelo 3º swing
- O nível de stop: o swing mais baixo (altista) ou mais alto (baixista) na sequência — seja o 5º swing ou o anterior low/high mais baixo/alto
Funcionalidades
A estratégia Swing Breakout Sequence tem um conjunto de funcionalidades únicas:
- Implementação robusta e interna do algoritmo Swing Breakout Sequence
- Nenhuma ordem pendente é colocada — apenas ordens de mercado
- Estratégia totalmente automática que pode ser escalada em várias instâncias
- Capacidades precisas de backtesting seguindo as melhores práticas oficiais da NinjaTrader, alcançando backtesting preciso de entrada/saída ao nível do tick
- Uma biblioteca robusta de gestão de ordens interna, resistente a perda de conexão, que funciona perfeitamente em contas Rithmic ou contas de corretagem NinjaTrader
Quantidade Dinâmica e Gestão de Risco
Como acontece com todas as nossas estratégias, esta estratégia implementa dois métodos para definir a quantidade de posições abertas:
- Fixed Quantity: utiliza a mesma quantidade para cada posição. Se o stop loss for variável entre posições, os montantes de ganho/perda também variarão.
- Dynamic Risk-Adjusted Quantity: calcula a quantidade de cada posição a partir do seu stop loss, do risco máximo (em $) permitido por posição e da quantidade máxima permitida — produzindo montantes iguais de ganho/perda em todas as posições independentemente da largura do stop loss.
Gestão de Posições
Como acontece com todas as nossas estratégias, esta estratégia implementa múltiplos métodos de gestão de posições:
- ATM Strategy: delega a gestão de posições inteiramente à tua própria estratégia ATM, selecionada de um dropdown.
- Dollar Cost Averaging (Grid): aumenta a quantidade da posição conforme o preço se move contra ela, aproximando o preço médio do preço atual para que a posição possa fechar no ponto de equilíbrio num pullback.
- Trailing Stop: segue o stop loss com cada novo ponto de swing formado no lado vencedor da posição.
- SuperTrend: utiliza o indicador SuperTrend como um método de gestão.
A estratégia também permite definir o stop loss com base em múltiplas estratégias e o take profit com base numa proporção — consulta a secção Parâmetros para detalhes.
Gestão de Contas
A estratégia implementa gatilhos de paragem diária de trading baseados na contagem de posições vencedoras líquidas, na contagem de posições perdedoras líquidas, ou num alvo de lucro/perda líquida realizado.
Parâmetros
Tentamos manter os parâmetros ao mínimo — apenas os mais importantes são expostos.
| General | |
| Execute Historical Trades | Ativa a execução de trades quando a estratégia executa em modos Histórico, Backtest ou Optimização — deve estar desmarcado ao executar em Live. |
| Daily TakeProfit Target | A estratégia para pelo dia uma vez que este montante de take-profit diário é atingido. Ignorado quando definido para 0. |
| Weekly TakeProfit Target | A estratégia para pela semana uma vez que este montante de take-profit semanal é atingido. Repõe-se no início de cada nova semana. Ignorado quando definido para 0. |
| Daily StopLoss Limit | A estratégia para pelo dia uma vez que o limite de perda diária é atingido (valor positivo — ex. 300 para a trading uma vez que o PnL realizado ≤ -$300). Ignorado quando definido para 0. |
| Stop @ Winning Count | Para o trading no dia uma vez que a contagem de trades vencedores líquidos atinge este valor. Ignorado quando definido para 0. |
| Stop @ Losing Count | Para o trading no dia uma vez que a contagem de trades perdedores líquidos atinge este valor. Ignorado quando definido para 0. |
| Execute on Different Instrument | Executa trades num instrumento diferente do gráfico ativo — ex. executar lógica em Minis mas em Micros. Todos os cálculos de risco ocorrem no instrumento de execução, e trades num instrumento diferente não são desenhados no gráfico. |
| Execution Instrument | Escolhe de uma lista de Micros disponível na tua conexão NinjaTrader como o instrumento em que os trades executam. Os trades não serão desenhados no gráfico neste caso. |
| Order Label | Uma etiqueta sufixada a cada posição enviada para o broker, útil para diferenciar as tuas ordens de outros utilizadores da mesma estratégia. |
| Swing Breakout Sequence | |
| Show Sequence Numbers | Ativa/desativa o desenho de etiquetas numéricas abaixo/acima de cada ponto de sequência de swing. |
| Show Sequence Lines | Ativa/desativa o desenho de linhas que conectam os pontos de sequência de swing. |
| Render Opacity (1-100) | A opacidade para desenhar objetos no gráfico. |
| Swings Period | Os swings são highs mais altos, lows mais altos, highs mais baixos e lows mais baixos. Este parâmetro define quantas barras são suficientes para separar dois swings do mesmo tipo — quanto maior este valor, menos swings no geral. |
| Invalidation Method |
|
| Breakout Swing |
|
| Breakout Fibo Level | Apenas utilizado quando Breakout Swing é Fibonacci Retracement — um de 23.60%, 38.20%, 50%, 61.80% ou 76.40%, cada um calculado a partir do Swing 4 na sequência. |
| Min SBS Ratio | A distância do potencial take profit dividida pela distância de stop loss ao preço atual quando o SBS é validado. Reflete o enviesamento do SBS — mais próximo de 1 significa menos enviesado. Um valor de 0.9 provou ser ótimo nos nossos testes. |
| Min SBS Bars Count | Filtra estruturas SBS que abrangem demasiadas poucas barras para serem significativas. |
| Max SBS Bars Count | Filtra estruturas SBS que abrangem demasiadas barras — estas geralmente não produzem sinais rentáveis. |
| Max SBS Height Points | Filtra estruturas SBS que são demasiado altas, em pontos. |
| Entry Setup | |
| Time Zone |
O fuso horário utilizado para o parâmetro Trade Time abaixo.
|
| Trade Time | Os intervalos de tempo durante os quais a estratégia pode colocar trades — ex. "09:30-16:15" para RTH em EST. Múltiplos intervalos separados por vírgulas em ordem crescente são suportados, cortados à meia-noite para evitar problemas ao passar para um novo dia. |
| Quantity Strategy |
|
| Max Qty | Quantidade máxima permitida quando Risk Adjusted é selecionado — útil uma vez que algumas propfirms impõem limites de quantidade de ordem que podem invalidar uma conta. |
| Invert Entries | Inverte entradas de longo para curto e vice-versa — o stop loss torna-se o take profit e vice-versa, com a proporção de risco invertida em conformidade (um take profit 2:1 torna-se 1:2). Útil em regimes choppy onde a lógica de breakout original não se sustenta. |
| Long/Short Entry Mode |
|
| SuperTrend Entry Filter | Restringe entradas longas a quando SuperTrend é altista, e entradas curtas a quando é baixista. |
| SMAs Entry Filter | Requer que a sequência SBS faça breakout acima/abaixo de duas Simple Moving Averages. |
| SMA Slow Period / SMA Fast Period | Os períodos das duas Simple Moving Averages utilizadas como filtro de entrada. |
| Entry Mode |
|
| FVG Candle Filter |
|
| Min. Gap (ticks) | A distância mínima, em ticks, entre os wicks do FVG para serem válidos — quanto maior este valor, menos FVGs são detetados. |
| Order Qty | Utilizado apenas quando Quantity Strategy é Fixed — a quantidade fixa por trade (e por aumento de quantidade durante gestão de ordem). Normalmente 1 ou 2. |
| Order Management | |
| Order Management Strategy |
|
| ATM Strategy Template Name | Apenas utilizado com o método ATM Strategy — o nome exato do template da tua estratégia ATM personalizada. Deve corresponder a um template existente, ou nenhuma posição será aberta. |
| On Opposite Signal |
|
| Enable Price Breakeven | Ativa/desativa o mecanismo de ponto de equilíbrio baseado em preço. |
| Breakeven Price Strategy |
|
| Breakeven Price Trigger | Disponível se breakeven baseado em preço está ativado — o valor de gatilho necessário para mover o stop loss para o ponto de equilíbrio. |
| Enable Time Breakeven | Ativa/desativa o mecanismo de ponto de equilíbrio baseado em tempo (minutos). |
| Breakeven Time Trigger | Disponível se breakeven baseado em tempo está ativado — o valor de gatilho, em minutos, necessário para mover o stop loss para o ponto de equilíbrio. |
| StopLoss Strategy |
|
| TakeProfit Strategy |
|
| Scale out % Qty at % Target / Scale out at % Target / Scale out % Qty | Fecha uma percentagem da quantidade da posição uma vez que o preço atinge uma percentagem do alvo de lucro (arredondado para baixo quando fracionário). |
| Take Profit Currency | O montante de take-profit em dólares, utilizado com a estratégia Fixed Currency Value. |
| Stop Loss Points | Disponível quando a estratégia Stop Loss é Points. |
| Target Risk Per Trade ($) | O risco máximo, em dólares, por posição — utilizado antes de abrir um trade para verificar se o stop loss calculado respeita este limite; se não, o trade é ignorado. |
| Max Allowed Risk Per ($) | Apenas utilizado com quantidade Risk Adjusted — controla quanto o risco realmente calculado é permitido desviar do Target Risk. |
| Stoploss offset Points | Adiciona um deslocamento, em pontos, ao nível de stop loss calculado — utilizado ao calcular risco por trade. |
| Take Profit Points | Disponível quando a estratégia Take Profit é Points. |
| SuperTrend | |
| SuperTrend Mode | Baseado em ATR, ou Adaptativo (baseado no fecho/alto/baixo da vela). |
| Period / Multiplier / Moving Avg. Type / Smooth | Parâmetros padrão de cálculo SuperTrend. |
| SuperTrend Close Only Winning | Quando SuperTrend é utilizado como um método de gestão de ordem, evita fechar trades que são imediatamente abaixo/acima de supertrend logo após abrir — apenas fecha posições atualmente em lucro. |
| Trailing Stop Parameters | |
| Trailing Stop Strategy | Points (calculado a partir do preço de entrada) ou Ratio (calculado a partir do valor de stop loss, espelhado no lado vencedor). |
| Trailing Stop Trigger / Trail Amount | O gatilho e a quantidade de rastreamento (em Points ou Ratio) para o método Classic Trail Stop. |
| DCA (Grid) Parameters | |
| Breakeven Profit Shift | Adiciona um pouco de lucro à definição de ponto de equilíbrio, para cobrir comissões ao fechar a grid no ponto de equilíbrio. |
| Grid Size to Breakeven | O número de aumentos de ordem necessários antes de considerar fechar a posição no ponto de equilíbrio. |
| Min Grid Gap (Point) | A lacuna mínima, em pontos, entre duas ordens de grid. |
| Bar Close Trigger | Faz com que as ordens de grid abram no fecho de barra na direção do trade. |
| Command Buttons | |
| A estratégia expõe botões de comando manual no painel Chart Trader — certifica-te de que está exibido no teu gráfico ativo. | |
| Arm/Disarm Buttons | Ativa/desativa manualmente a entrada de trades longos ou curtos — útil se tens um enviesamento direccional. |
| Close Position Button | Imediatamente achata a posição sem reiniciar a estratégia, que continua a procurar novos trades depois. |
| Increase Qty Button | Aumenta a quantidade da posição atual pelo montante de Order Qty. |
| Set Breakeven Button | Move o stop loss da posição aberta para o ponto de equilíbrio, se isso o melhoraria. |
Relatórios de Desempenho
Resultados anteriores não são uma garantia de resultados futuros. Todos os resultados de backtesting são apenas para fins indicativos.
- As comissões estão incluídas, utilizando o esquema de comissão de licença Lifetime da NinjaTrader, para resultados realistas.
- Seguimos o guia oficial da NinjaTrader para backtesting preciso com granularidade intrabar utilizando séries de dados adicionais ao nível do tick, e apenas utilizamos ordens de mercado — nunca ordens pendentes — tanto em modos em tempo real como backtest.
A estratégia foi backtestada em vários perfis de risco e instrumentos (MES, MNQ), e um template de parâmetro defensivo também foi executado em tempo real numa conta Apex Live Trader Funding, passando com sucesso no desafio de validação de conta.
Nenhum relatório de desempenho foi carregado para esta estratégia ainda.
Instruções de Transferência e Instalação
Requisitos de Licença
Em automated-trading.ch podes optar por comprar uma subscrição mensal para utilizar os nossos produtos Premium, ou utilizar os nossos produtos gratuitos sem te subscreveres.
Em ambos os casos, precisas de criar uma conta para obter uma Licença que possas utilizar tanto para produtos Premium como gratuitos.
Para obteres a tua licença, simplesmente inscreve-te e depois obtém a tua licença em a página de faturação.
Transferência
Também podes transferir esta estratégia — e todas as outras estratégias ou indicadores automated-trading.ch — em qualquer altura a partir da tua página centralizada de Transferências.
Passos de Instalação
Perguntas Frequentes
Geral
Faturação
Céticos
Notas de Versão
- Bug Fix: Error when using ATM Strategy
- Added Decrease quantity command button; Added "Invert Entries" Parameter; Scaling out added Scale out at % Target/Qty; Breakeven considers commissions
- Fixed performance regression related to swing price detection
- Added filter Max bars between swings; Added Immediate on Swing 4 breakout mode; Added SMA Slow/Fast entry filter; Bug Fix crashing on new market session live
- Added Scale out 50% Qty at 50% Target management option
- Fix bug on Market Replay session transitions; Fix SuperTrend trailing stop miss bug; Added Max SBS Height points parameter
- Fibo levels calculated Swing3->extreme point (was extreme->Swing3); Added Fibo 0.236 as TP target
- Reorganization of Parameters; Added SuperTrend as trade management method; pixel-based SBS sequence number drawing; Added "Invalidation Method" parameter; sequences on invalidated swings removed
- Bug Fix: breakeven not triggered on long trades; Increase position button also triggering breakeven; breakeven button sometimes closing positions
- Bug Fix: ATM usage crashing Strategy; Command button Close now closes ATM positions; drawing objects disposed in optimization mode
- Added Entry mode selection: Immediate or wait for FVG; Added "Min Grid Gap" and "Bar Close Trigger" params to DCA (Grid) method
- Bug Fix when using ATM strategy
- Added Max Allowed Risk per trade separate from Target Risk per trade
- Bug fix: Trailing stop mechanism should trigger outside trade time
- Added StopLoss & Takeprofit line drawing with drag & drop
- Bug Fixes: weekly profit target calc; EST timezone glitch; Currency risk closing early; Trailing stop with Fixed currency value stoploss
- Bug Fix: rare error when little data loaded on chart
- Auto submit of License on Billing cycle date; all parameters displayed on Strategy Analyzer optimization; Clear warning message when strategy added from Strategy Tab not Chart
- Added weekly profit target
- Major fixes when Take Profit method set to Swing3; Stop Loss calc updated to include Prior Swing, Swing4, Swing5; Fix Chart Panel Glitch on tab change
- Removed strong condition on Swing5 price (relaxed successive-swing rule)
- Bug Fix: running strategy on multiple accounts overlaps daily limit stops
- Less strict detection rule for more pattern detection; Added Fibonacci Retracement Breakout method; Added Trade Time zone selection EST/local; Added Min & Max SBS Bars count filter
- Added Classic Trailing Stop management method; Fix issue with entry; Update parameter refresh logic; Added stoploss offset in points
- Added Swing 3 as new take profit strategy
- First Release of the strategy