Harmonics XABCD Strategy

Criado 12 jul 2025 · Atualizado 12 jul 2025

A Estratégia Harmonics XABCD é uma estratégia mecânica Premium para a plataforma NinjaTrader 8. A estratégia pode ser usada para passar programas de financiamento de traders.

Pré-requisitos

Para usar corretamente esta estratégia, deves ter os seguintes pré-requisitos disponíveis.


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.

Esta estratégia baseia-se na entrada de operações seguindo padrões harmónicos XABCD. Estes padrões são definidos por pontos de oscilação geralmente nomeados X, A, B, C e D, que definem pernas em que relações podem ser calculadas — por exemplo, a relação AB/XA, obtida dividindo a retração da perna AB pelo movimento inicial da perna XA. Quando cada perna respeita um conjunto específico de regras de relação, o padrão é reconhecido.

Se queres aprender mais sobre padrões harmónicos XABCD, dá uma olhada na página do indicador Harmonics XABCD.

Exemplos de Configuração de Entrada

Os exemplos seguintes foram selecionados à mão para mostrar os melhores cenários onde o motor de reconhecimento detecta padrões válidos. Na negociação em tempo real, um padrão detectado nem sempre levará a um comércio vencedor — essa é a realidade da negociação, onde o objetivo é rentabilidade no longo prazo, em vez de uma vitória garantida em cada sinal. Todos os exemplos abaixo são feitos no instrumento MES no timeframe de 1 minuto.

Exemplo #1: Butterfly Altista

A estratégia reconheceu um padrão butterfly altista. Uma barra após o padrão ser detectado, a estratégia entrou numa operação longa visando 1.5x a distância de stop (o preço swing D do padrão), levando a uma operação vencedora. Neste exemplo, a estratégia está definida para entrar imediatamente no fechamento da barra, sem esperar por uma barra de confirmação.

Exemplo de padrão harmónico Butterfly altista
Clique para ampliar
Exemplo #2: Padrões Butterfly Sobrepostos

Este exemplo mostra um aspecto da estratégia que ocorre frequentemente: padrões sobrepostos. Dois padrões butterfly foram detectados um sobre o outro — neste caso, a estratégia entra no primeiro padrão válido.

Exemplo de padrões Butterfly sobrepostos
Clique para ampliar
Exemplo #3: Gartley Altista Seguindo a Tendência

O padrão harmónico Gartley XABCD é um padrão que segue a tendência. Duas operações consecutivas foram tomadas de dois padrões Gartley alinhados com a tendência.

Exemplo de padrão harmónico Gartley altista
Clique para ampliar
Exemplo #4: Perda Evitada Com o Filtro de Tendência

Este exemplo ilustra o Filtro de Tendência evitando operações contra a tendência. O filtro analisa pontos de oscilação para determinar a direção prevalecente — uma sequência ascendente de pontos de oscilação restringe a estratégia a apenas entradas longas, o que evitou duas operações curtas perdedoras neste gráfico que de outro modo teriam sido acionadas de padrões Gartley válidos contra a tendência.

Filtro de tendência evitando operações contra-tendência
Clique para ampliar

Funcionalidades

A estratégia Harmonics XABCD tem um conjunto de funcionalidades únicas:

  • Implementação robusta em casa do algoritmo de reconhecimento de padrão harmónico XABCD
  • Nenhuma ordem pendente é colocada — apenas ordens de mercado, que não produzem ordens rejeitadas ou parcialmente preenchidas
  • Estratégia totalmente automática que pode ser dimensionada em instâncias ilimitadas com uma única licença
  • Capacidades precisas de backtesting seguindo as melhores práticas oficiais do NinjaTrader, alcançando backtesting de entrada/saída preciso no nível de tick
  • Uma biblioteca robusta de gestão de encomendas em casa, resistente à perda de conexão, que funciona perfeitamente em contas Rithmic ou Tradovate
  • Botões de comando no gráfico para gerenciar manualmente posições quando necessário
  • Uma estratégia muito leve que pode executar em múltiplas instâncias mesmo num VPS de baixa potência
Quantidade Dinâmica e Gestão de Risco

Como todas as nossas estratégias, esta implementa dois métodos para definir a quantidade de posições abertas:

  • Quantidade Fixa: utiliza a mesma quantidade para cada posição. Se o stop loss variar entre posições, os montantes de ganho/perda também variarão.
  • Quantidade Ajustada ao Risco Dinâmico: 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ção

Como todas as nossas estratégias, esta implementa múltiplos métodos de gestão de posição:

  • Estratégia ATM: delega completamente a gestão de posição à tua própria estratégia ATM, selecionada de um menu suspenso.
  • Stop Trailing Clássico: acompanha o stop loss com base num gatilho e numa quantidade de acompanhamento.

A estratégia também permite definir o stop loss com base em múltiplas estratégias e o take profit com base numa relação — consulta a secção Parâmetros para detalhes.

Gestão de Conta

A estratégia implementa gatilhos de parada de negociação diária com base na contagem líquida de posições vencedoras, na contagem líquida de posições perdedoras, ou num alvo de lucro realizado líquido ou perda líquida.

Parâmetros

Tentamos manter os parâmetros ao mínimo — apenas os mais importantes estão expostos.

Geral
Execute Historical TradesPermite executar operações quando a estratégia executa em modo Histórico, Backtest ou Otimização — útil para testar desempenho em dias passados, mas deve estar desmarcado ao executar ao vivo.
Daily TakeProfit TargetA estratégia para no dia uma vez que este montante diário de take-profit é atingido. Ignorado quando definido como 0.
Daily StopLoss LimitA estratégia para no dia uma vez que o limite de perda diária é atingido (valor positivo — por exemplo 300 para a negociação uma vez que PnL realizado ≤ -$300). Ignorado quando definido como 0.
Stop @ Winning CountPara de negociar no dia uma vez que a contagem de operações vencedoras em rede atinge este valor. Ignorado quando definido como 0.
Stop @ Losing CountPara de negociar no dia uma vez que a contagem de operações perdedoras em rede atinge este valor. Ignorado quando definido como 0.
Execute on Different InstrumentExecuta operações num instrumento diferente do gráfico ativo — por exemplo, executar lógica em Minis mas executar em Micros. Todos os cálculos de risco acontecem no instrumento de execução, e as operações num instrumento diferente não são desenhadas no gráfico.
Execution InstrumentEscolhe de uma lista de Micros disponíveis na tua conexão NinjaTrader como o instrumento em que as operações são executadas. As operações não serão desenhadas no gráfico neste caso.
Order LabelUm rótulo sufixado a cada posição enviada ao corretor, útil para diferenciar as tuas encomendas de outros utilizadores da mesma estratégia.
Enable/Disable Trading Days Restringe a negociação em certos dias da semana.
  • Trade Mondays: ativa a negociação de segundas e domingo à noite quando os mercados de futuros abrem
  • Trade Tuesdays, Wednesdays, Thursdays, Fridays: o mesmo, por dia da semana
Harmónicos XABCD
Swing PeriodDefine quantas barras devem separar duas oscilações do mesmo tipo antes de uma nova oscilação invalidar a anterior. Aumentar este parâmetro reduz o número geral de oscilações detectadas; diminuir aumenta-as. Tem um impacto significativo na qualidade do padrão — mais oscilações significam mais padrões, e vice-versa.
Show Price SwingsAtiva/desativa o desenho de uma marca abaixo/acima de pontos de preço de oscilação — útil para ver como a estrutura de mercado é analisada, uma vez que os pontos de oscilação são os blocos de construção do algoritmo de reconhecimento de padrão.
Swing Bullish Color / Swing Bearish ColorDefine a cor de escova utilizada para baixos (altistas) e altos (baixistas) pontos de oscilação.
Swing Opacity (1-100)Opacidade do desenho de pontos de oscilação — 1 é transparente, 100 é completamente opaco.
Enable Gartley / Enable Bat / Enable Crab / Enable Butterfly / Enable Shark / Enable CypherAtiva/desativa a negociação de cada padrão harmónico específico.
Gartley/Bat/Crab/Butterfly/Shark/Cypher Ratio Tolerance %Define a tolerância, em percentagem, aplicada às regras de relação da perna de cada padrão — por exemplo, com uma tolerância de 10%, uma relação de perna que deve estar em torno de 0.368 pode variar entre 0.368 - 10% e 0.368 + 10%.
Configuração de Entrada
Time Zone O fuso horário utilizado para o parâmetro Trade Time abaixo. Os mercados de futuros operam na hora do Leste americano (EST), pelo que isto permite especificar o intervalo de negociação relativo ao fuso horário da tua máquina.
  • EST, CET, ou Hora Local
Trade Time (hh:mm-hh:mm,...)Sequência de intervalo de tempo durante a qual a estratégia tem permissão para colocar operações — por exemplo, 09:30-16:15 para horário de negociação regular em EST. Múltiplos intervalos podem ser listados em ordem crescente, por exemplo "00:01-08:00,09:55-15:55,18:01-23:59" para cobrir horário estendido com um gap em torno de um período volátil, cortado à meia-noite para evitar problemas ao passar para um novo dia.
Quantity Strategy
  • Quantidade Fixa: quantidade fixa por comércio; ignorada se o risco avaliado exceder Target Risk Per Trade ($)
  • Ajustada ao Risco: tamanho de contrato dinâmico, calculado a partir do preço do stop loss e Target Risk Per Trade ($)
Max QtyQuantidade máxima permitida quando Ajustada ao Risco é selecionada — útil uma vez que algumas propfirms aplicam limites de quantidade de encomenda que podem invalidar uma conta.
Entry Mode O gatilho utilizado para entrar numa operação uma vez que um padrão XABCD é reconhecido e validado.
  • Immediate on Bar Close: entra numa operação assim que o padrão é confirmado no próximo fechamento de barra
  • Wait For Bar Confirmation: espera uma barra de confirmação — uma barra altista fechando acima do máximo da barra anterior para uma entrada longa, ou uma barra baixista fechando abaixo do mínimo da barra anterior para uma entrada curta
SuperTrend Entry FilterRestringe entradas longas a quando SuperTrend é altista e entradas curtas a quando é baixista.
Swing Trend Entry FilterFiltra entradas comparando o primeiro ponto de oscilação do padrão XABCD à oscilação de preço anterior — uma entrada altista requer a oscilação anterior estar abaixo do padrão (continuação de uma tendência ascendente), e uma entrada baixista requer estar acima.
Order QtyUtilizado apenas quando Quantity Strategy é Fixa — a quantidade fixa por comércio.
Gestão de Encomenda
Order Management Strategy
  • Estratégia ATM: delega completamente a gestão de posição a um modelo de estratégia ATM do NinjaTrader à tua escolha
  • Classic Trail Stop: acompanha o stop loss com base num gatilho e numa quantidade de acompanhamento (vê Parâmetros de Stop Trailing abaixo)
  • Nenhum: o stop loss definido por Target Risk Per Trade ($) é usado em sua lugar
ATM Strategy Template NameApenas utilizado com o método de gestão de encomenda Estratégia ATM — o nome exacto do modelo da tua estratégia ATM personalizada. Deve corresponder a um modelo existente, ou nenhuma posição será aberta.
Scale out % Qty at % TargetFecha 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 — por exemplo 50% de uma posição de 5 contratos fecha 2 contratos).
Scale out at % TargetA percentagem do alvo de lucro que dispara o mecanismo de scale-out.
Scale out % QtyA percentagem da quantidade fechada pelo mecanismo de scale-out.
Enable Price BreakevenAtiva/desativa o mecanismo de breakeven baseado em preço.
Breakeven Price Strategy
  • Pontos: breakeven dispara com base em pontos
  • Percentagem: breakeven dispara com base na percentagem de take profit atingida
Breakeven Price TriggerDisponível se breakeven baseado em preço está ativado — o valor de disparo necessário para mover o stop loss para breakeven.
StopLoss Strategy
  • Pattern Defined: derivado da própria estrutura do padrão XABCD
  • Last Swing: o máximo de oscilação mais recente (curto) ou mínimo de oscilação (longo)
  • Valor de Moeda Fixo: apenas Target Risk Per Trade ($) é utilizado
  • Pontos: um número fixo de pontos a partir da entrada
TakeProfit Strategy
  • Valor de Moeda Fixo: baseado em Take Profit Currency
  • Pontos: um número fixo de pontos a partir da entrada
  • Pattern Extreme: o ponto extremo oposto do padrão a partir do preço de entrada (geralmente o ponto A ou C, dependendo do padrão)
  • Relações de ganho/perda fixas: 0.5:1 até 6:1
Target Risk Per Trade ($)Risco máximo, em dólares, por posição — utilizado antes de abrir uma operação para verificar que o stop loss calculado respeita este limite; caso contrário, a operação é ignorada.
Max Allowed Risk Per ($)Apenas utilizado com quantidade ajustada ao risco — controla até que ponto o risco real calculado pode desviar do Target Risk (uma vez que uma correspondência exacta é raramente possível).
Stop Loss Points / Take Profit PointsDisponível quando a estratégia respetiva está definida como Pontos.
Stoploss offset PointsAdiciona um offset, em pontos, ao nível de stop loss calculado — utilizado ao calcular risco por comércio.
Take Profit CurrencyO montante de take-profit em dólares, utilizado quando a estratégia Fixed Currency Value é selecionada.
Parâmetros de Stop Trailing
Trailing Stop Strategy
  • Pontos: gatilho e montante de acompanhamento calculados em pontos a partir da entrada
  • Relação: calculado como uma relação do valor do stop loss, espelhado no lado vencedor
Trailing Stop TriggerO gatilho (em pontos ou relação) para o método Classic Trail Stop.
Trail AmountO montante (em pontos ou relação) acompanhado uma vez que o gatilho é acionado.
Super Trend
Visível apenas quando o parâmetro SuperTrend Entry Filter está ativado.
SuperTrend ModeBaseado em ATR, ou Adaptativo (baseado no fechamento/máximo/mínimo da vela).
Period / Multiplier / Moving Avg. Type / SmoothParâmetros de cálculo SuperTrend padrão — período, multiplicador de banda, tipo de média móvel e período de suavização.
Botões de Comando
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.
Botões Arm/DisarmAtiva/desativa manualmente a entrada de operações longas ou curtas — útil se tiveres uma tendência direcional.
Botão de Fechar PosiçãoFlattens imediatamente a posição no instrumento ativo sem reiniciar a estratégia, que continua procurando novas operações depois.
Botão Aumentar / Diminuir QtyAjusta a quantidade da posição ativa atual por ±1 contrato.
Botão Set BreakevenMove o stop loss da posição aberta para breakeven, se o fizer 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, usando o esquema de comissão de licença vitalícia do NinjaTrader, para resultados realistas.
  • Seguimos o guia oficial do NinjaTrader para backtesting preciso de granularidade intrabar usando séries de dados adicional de nível de tick, e apenas usamos ordens de mercado — nunca ordens pendentes — tanto em modo em tempo real quanto em modo backtest.

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.

Importante: Este é um produto Premium. Pode ser executado nos modos Backtest, Playback e Optimization gratuitamente; é necessária uma subscrição Premium ativa para o executar ao vivo.
Transferência
Inicia sessão para transferir este ficheiro.
Versão Mais Recente v1.0.0.1 · Publicado há 1 ano
Este ficheiro foi transferido 210 vezes. A última transferência foi há 4 dias.

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
1
Importa o ficheiro .zip transferido para NinjaTrader usando o item de menu Importar NinjaScript.
2
Abre uma nova janela de gráfico, certificando-te de que a caixa de seleção Tick Replay está assinalada (se não a vires, vai para Tools → Options → Market Data e ativa Show Tick Replay).
3
Clica com o botão direito no gráfico e escolhe Strategies (ou prima Ctrl+S) para abrir a caixa de diálogo Adicionar Nova Estratégia, e certifica-te de que a caixa de seleção Enabled da estratégia está assinalada.
4
Após adicionar a estratégia, ela é executada nos dados históricos do gráfico primeiro, depois muda para o modo Em Tempo Real e adiciona uma caixa de texto de licença ao painel Chart Trader — certifica-te de que esse painel está exibido.
5
Cola a tua licença (encontrada na página de faturação) na caixa de texto e clica em Check License.
6
Uma vez verificado, o botão "Check License" fica verde juntamente com a próxima data de verificação — isto só precisa ser repetido após essa data.
7
Sem uma subscrição ativa, a estratégia ainda pode ser executada em modos Playback e Historical para testá-la primeiro.

Perguntas Frequentes

Geral

Usar um VPS é bom mas não é imperativo — uma instância de VPS Windows de baixo custo é suficiente para a maioria dos utilizadores.

Sim, desde que cada instância seja executada num instrumento único — NinjaTrader agrega ordens numa única posição por instrumento por conta, portanto executar duas instâncias no mesmo instrumento não funcionará.

Podes, mas executar várias instâncias da estratégia diretamente é geralmente uma solução melhor — a licença permite instâncias ilimitadas em várias máquinas.

Sim — a estratégia foi precisamente concebida para isso, e funciona perfeitamente no Rithmic, NinjaTrader brokerage, Tradovate, ou qualquer outro fornecedor conectado à tua plataforma NinjaTrader.

Foi concebida para ser totalmente automática, mas os seus botões de comando também te permitem gerir negociações manualmente se preferires executá-la de forma semi-automática.

Estratégias automatizadas negociam 24 horas por dia, executam mais rápida e precisamente, removem a psicologia e o sentimento da equação, e podem escalar para dezenas ou centenas de instâncias — produzindo realmente renda passiva em vez de outro trabalho manual stressante.

Sim — se tens uma ideia que pudesse melhorar a estratégia, usa a página de contacto para nos contactar.

Não, o código-fonte é protegido por razões de direitos de autor.
Faturação

Sim, podes cancelar a tua subscrição a partir da página da conta em qualquer momento para evitar pagamentos futuros. Não podemos reembolsar a parte não utilizada da tua subscrição, mas poderás utilizá-la durante o resto do ciclo de faturação.

Não, não oferecemos um plano de subscrição de teste, mas podes transferir e testar o produto nos modos backtest e playback antes de te subscreveres.

Não oferecemos reembolsos totais ou parciais, mas podes cancelar a tua subscrição em qualquer momento para parar pagamentos futuros.
Céticos

Sou um desenvolvedor de software profissional desde 2010 e desenvolvo estratégias de negociação automatizadas desde 2012, tanto para mim como para clientes em todo o mundo — também trabalhei em finanças e banca de investimento. Não sou um comerciante, e não terceirizo o desenvolvimento de estratégias.

Não a estou a vender — estou a alugá-la, como uma fonte de renda adicional ao lado da diversificação da minha própria negociação. A estratégia é puramente mecânica, sem nenhuma vantagem quantitativa oculta que se desgaste à medida que mais pessoas a usam.

As Pending (limit) orders oferecem melhor execução de preço e alguma proteção contra problemas de conectividade, mas podem ser rejeitadas sob alta volatilidade, precisam de gestão ativa, e são visíveis ao corretor. As Market orders garantem execução independentemente da volatilidade, são invisíveis ao corretor antes do envio, e executam mais rapidamente — a única desvantagem real é que uma ligação perdida impede enviá-las. As ordens MIT (market-if-touched) do NinjaTrader são uma alternativa sólida se especificamente quiseres comportamento de pending-order.

Seguimos o guia oficial do NinjaTrader para backtesting preciso com granularidade intrabar usando séries de dados adicionais ao nível de tick. Não acredites apenas na nossa palavra — executa um backtest no final de cada dia de negociação e compara-o com as negociações ao vivo reais dessa estratégia nesse dia.

Notas de Versão

  • First release of the strategy
discord
Junta-te à nossa comunidade Discord
Dúvidas, feedback ou apenas queres conversar com outros traders? Vem dizer olá.
Junta-te ao Discord
Factos Rápidos
Plataforma NinjaTrader 8
Categoria Estratégia
Plano Obrigatório Premium
Versão Mais Recente v1.0.0.1
Última Atualização há 1 ano
Transferências 210