Candle Range Theory (CRT) Strategy

Criado 16 mar 2025 · Atualizado 05 set 2025

A Estratégia Candle Range Theory (CRT) é uma estratégia mecânica Premium para a plataforma NinjaTrader 8. A estratégia pode ser usada para passar desafios de avaliação de propfirms.

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.

Exemplos de Configuração de Entrada

Esta estratégia tem uma única configuração de entrada, baseada na metodologia Candle Range Theory (CRT).

Em resumo, o modelo de entrada CRT é um modelo de entrada de alta probabilidade com uma relação risco/recompensa definida. Baseia-se na análise de um padrão de vela em um timeframe superior e na procura de confirmação de entrada num timeframe inferior.

No timeframe superior, procuramos identificar um padrão de vela CRT — uma sequência que respeita a estrutura de Acumulação, Manipulação e Distribuição, formada ao longo de três velas:

  • A primeira vela é uma vela de acumulação longa.
  • A segunda vela é uma vela de manipulação, onde o preço cria um pavio que ultrapassa o máximo da vela anterior mas retorna e fecha dentro do corpo da vela anterior.
  • A terceira vela é a vela de distribuição, onde o preço quebra o pavio inferior da segunda vela e move-se para (e além) do mínimo da primeira vela.
Modelo de entrada CRT — sequência de Acumulação, Manipulação e Distribuição
Clique para ampliar

O gatilho de entrada para este modelo é a quebra do pavio inferior da segunda vela (o reverso aplica-se para um modelo de entrada longa). Esse gatilho é analisado num timeframe mais rápido e inferior — por exemplo, se o padrão de vela CRT for observado num timeframe de 1 hora, a confirmação de entrada pode ser procurada no timeframe de 1 minuto ou 5 minutos.

Um timeframe inferior é usado para confirmação de entrada para que o comércio possa ser inserido de forma oportuna — ou através de um Fair Value Gap, ou simplesmente esperando que o timeframe inferior feche abaixo do pavio inferior da segunda vela.

Uma vantagem deste modelo é que a relação take-profit/stop-loss é conhecida antes de entrar no comércio: em geral, o stop loss é colocado alguns ticks além da vela de manipulação (2ª vela), e o alvo de take-profit é o mínimo (ou máximo, para uma entrada longa) da primeira vela.

Exemplos de Gráfico

Estes exemplos não se destinam a mostrar que a estratégia gera lucro — são intencionalmente selecionadas operações vencedoras, escolhidas para evitar confusão e para ilustrar os melhores cenários onde a configuração de entrada funciona bem. Ao executar a estratégia tu mesmo, encontrarás muitas configurações de entrada semelhantes que levam a operações perdedoras — essa é a realidade da negociação. O objetivo é a rentabilidade esperada no longo prazo, mesmo que algumas operações individuais sejam perdas.

MES, Gráfico de 1 Minuto / Timeframe Superior de 1 Hora

Em MES, timeframe de 1 minuto, com o timeframe de 1 hora como timeframe superior (desenhado como uma sobreposição no gráfico, o que é muito útil). Este exemplo mostra duas entradas separadas — a primeira uma entrada longa, a segunda uma entrada curta. As velas marcadas com 1 e 2 são as velas que geraram cada entrada, e os marcadores TP/SL mostram onde os níveis de take-profit e stop-loss foram definidos.

Exemplo de MES, Gráfico de 1 Minuto / Timeframe Superior de 1 Hora
Clique para ampliar
MES, Gráfico de 1 Minuto — Take Profit de Vela CRT 2x

A estratégia suporta várias estratégias de take-profit e stop-loss. O take profit CRT padrão é definido para o pavio alto/baixo da primeira vela (acumulação), mas isto pode ser estendido para um múltiplo desse intervalo — este exemplo ilustra o fator 2x. O marcador 1X mostra o primeiro nível de take-profit, e 2X mostra onde o nível de take-profit 2x foi definido — produzindo uma expectativa maior de lucro no longo prazo.

Exemplo de take profit de vela CRT 2x
Clique para ampliar

Funcionalidades

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

  • Implementação robusta em casa do algoritmo de configuração de entrada Candle Range Theory
  • Nenhuma ordem pendente é colocada — apenas ordens de mercado, o que não produz ordens rejeitadas ou preenchimentos parciais
  • Estratégia totalmente automática que pode ser dimensionada em múltiplas instâncias
  • 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 contas de corretagem NinjaTrader
  • Botões de comando no gráfico para gerenciar manualmente posições quando necessário
  • Uma estratégia muito leve que pode ser executada em várias instâncias, mesmo em um 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.
  • SuperTrend: utiliza o indicador SuperTrend para acompanhar o stop loss e gerir saídas dinamicamente.
  • 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 é executada em modo Histórico, Backtest ou Otimização — 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 após o fechamento de uma posição. Ignorado quando definido como 0.
Daily StopLoss LimitA estratégia para no dia uma vez que o limite de perda diária é atingido após o fechamento de uma posição (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.
Render Opacity (1-100)Opacidade utilizada para renderizar objetos no gráfico.
Execute on Different InstrumentExecuta operações num instrumento diferente do gráfico ativo — por exemplo, executar lógica em Minis mas executar em Micros para melhor gerir o risco. 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. Operações históricas e ao vivo não serão desenhadas no gráfico neste caso.
Estrutura de Mercado
Higher TimeFrameSeleciona o timeframe superior em que a análise de configuração de entrada é executada. Certifica-te de selecionar um timeframe superior a, e do mesmo tipo que, o do gráfico ativo — por exemplo, não podes selecionar um timeframe superior baseado em Ticks enquanto o timeframe do gráfico é baseado em Minutos.
Higher TimeFrame PeriodDefine o período do timeframe superior.
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 O intervalo de tempo(s) durante os quais a estratégia tem permissão para colocar operações. Alguns exemplos:
  • Fuso horário EST, negociação apenas RTH (horário de negociação regular): 09:30-16:15
  • Máquina na hora local suíça, negociação RTH: 15:30-22:15
  • Fuso horário EST, negociação RTH e ETH (horário de negociação estendido) com gaps para evitar períodos voláteis: 00:01-08:00,09:55-15:55,18:01-23:59
Duas coisas a notar neste último exemplo: os intervalos devem ser listados em ordem crescente, mesmo que 18:01-23:59 seja realmente o primeiro intervalo de uma nova sessão do dia, e o intervalo é cortado à meia-noite para evitar problemas ao entrar num 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.
Long/Short Entry Mode Útil se já tiveres uma tendência direcional e quiseres restringir a negociação a uma direção.
  • Longo: apenas operações longas são abertas
  • Curto: apenas operações curtas são abertas
  • Longo & Curto: ambas as direções são negociadas
Trade Entry Mode Modo de entrada após uma sequência CRT válida ser detectada.
  • Imediata: dispara uma posição imediatamente uma vez que o preço quebra o pavio alto/baixo da primeira vela CRT por um mínimo de um tick
  • FVG: espera por um Fair Value Gap formar enquanto o preço quebra o pavio alto/baixo da primeira vela CRT
Min CRT TicksO tamanho mínimo, em ticks, da área de lucro da vela CRT. Uma vela CRT cuja gama é demasiado pequena para valer a pena negociar — ou seja, a distância do sinal de entrada para o pavio de take-profit é muito pequena — é ignorada.
Min CRT RatioA relação CRT é a relação ganho:perda do comércio — a distância do sinal de entrada para o pavio de take-profit (pavio alto da primeira vela CRT para uma entrada longa, pavio baixo para uma entrada curta), dividida pela distância do preço de entrada para o pavio de stop-loss (pavio baixo da primeira vela CRT para uma entrada longa, pavio alto para uma entrada curta). Este parâmetro define a relação mínima permitida, ignorando entradas abaixo dela.
SuperTrend Entry FilterAtiva/desativa o uso do indicador SuperTrend como filtro de entrada — quando ativado, operações longas são apenas permitidas quando SuperTrend é altista, e operações curtas apenas quando é baixista.
Order QtyUtilizado apenas quando Quantity Strategy é Fixa — a quantidade fixa por comércio (e por aumento de quantidade, se o mecanismo de gestão de encomendas se dimensiona). Normalmente 1 ou 2.
SuperTrend
Esta secção é apenas visível quando SuperTrend Entry Filter está ativado.
SuperTrend Mode
  • ATR: cálculo baseado em ATR
  • Adaptativo: baseado no fechamento/máximo/mínimo da vela
Period / Multiplier / Moving Avg. Type / SmoothParâmetros de cálculo padrão de SuperTrend — período, multiplicador de banda (uma banda mais larga quanto maior o valor), tipo de média móvel e período de suavização.
Run SuperTrend on Higher TFCalcula o indicador SuperTrend na série de preços do timeframe superior em vez do próprio timeframe do gráfico.
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, acedido do painel Chart Trader
  • SuperTrend: fecha operações usando o indicador SuperTrend — o stop loss é definido um tick acima/abaixo do pavio da barra que quebrou o nível de supertrend
  • Stop Trailing Clássico: 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
Estratégia ATM acedida do painel Chart Trader
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 (correspondendo à imagem acima, isto seria template1). Deve corresponder a um modelo existente, ou nenhuma posição será aberta.
On Opposite Signal O comportamento da estratégia sempre que um sinal oposto ocorre enquanto uma posição está aberta.
  • Breakeven: move o stop loss para breakeven
  • Fechar Posição: fecha imediatamente a posição
  • DoNothing: não toma nenhuma ação
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.
Enable Time BreakevenAtiva/desativa o mecanismo de breakeven baseado em tempo (em minutos).
Breakeven Time TriggerDisponível se breakeven baseado em tempo está ativado — o valor de disparo, em minutos, necessário para mover o stop loss para breakeven.
StopLoss Strategy
  • Vela CRT: o stop loss é definido para o pavio baixo da vela CRT para entradas longas, e para o pavio alto para entradas curtas
  • Valor de Moeda Fixo: apenas Target Risk Per Trade ($) é utilizado
  • Pontos: um número fixo de pontos a partir da entrada
  • SuperTrend: definido de acordo com os níveis de indicador SuperTrend
TakeProfit Strategy
  • Vela CRT / Vela CRT 1.5x / Vela CRT 2x / Vela CRT 3x: take profit definido para um múltiplo (1x, 1.5x, 2x, ou 3x) da gama da primeira vela CRT a partir do preço de entrada
  • Valor de Moeda Fixo: baseado no valor fixo do parâmetro Take Profit Currency
  • Pontos: um número fixo de pontos a partir do preço de entrada
  • Relações de ganho/perda fixas: 1:1, 0.5:1, 1.5:1, 2:1, 3:1, 4:1, 5:1, 6:1 — calculadas com base no preço de stop-loss nessa relação
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 PointsDisponível quando StopLoss Strategy está definido como Pontos.
Take Profit CurrencyO montante de take-profit em dólares, utilizado quando a estratégia de take-profit Fixed Currency Value é selecionada. Se não for utilizado, define isto para um valor elevado para não interferir com as estratégias baseadas em relação.
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.
Take Profit PointsDisponível quando TakeProfit Strategy está definido como Pontos.
Parâmetros de Stop Trailing
Trailing Stop Strategy Disponível com o método de gestão de encomenda Classic Trail Stop.
  • 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.
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 de comando no painel Chart Trader
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.2.0.1 · Publicado há 1 ano
Este ficheiro foi transferido 449 vezes. A última transferência foi há 2 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.
3
Se não a vires, vai para Tools → Options → Market Data e ativa Show Tick Replay.
4
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.
Adicionando a estratégia CRT a um gráfico
Clique para ampliar
5
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.
6
Cola a tua licença (encontrada na página de faturação) na caixa de texto e clica em Check License.
7
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.
8
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

  • Bug Fix: fix error when running without supertrend

  • Bug fix: SuperTrend MA Type was always taking HMA, now takes selected parameter type; Fix SL & TP manual drag & drop issues; Fixed price breakeven logic when take profit strategy is Fixed Value; Removed "Dollar Cost Averaging" order management method; Supertrend added as Order Management method; Added New stoploss strategy: SuperTrend; Supertrend can run on Lower or Higher timeframe

  • Bug Fix: Error when using ATM Strategy

  • 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.2.0.1
Última Atualização há 1 ano
Transferências 449