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.
- NinjaTrader 8, com qualquer tipo de licença. 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 ú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.
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.
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.
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 Trades | Permite 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 Target | A 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 Limit | A 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 Count | Para 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 Count | Para 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 Instrument | Executa 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 Instrument | Escolhe 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 TimeFrame | Seleciona 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 Period | Define 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.
|
| Trade Time |
O intervalo de tempo(s) durante os quais a estratégia tem permissão para colocar operações. Alguns exemplos:
|
| Quantity Strategy |
|
| Max Qty | Quantidade 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.
|
| Trade Entry Mode |
Modo de entrada após uma sequência CRT válida ser detectada.
|
| Min CRT Ticks | O 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 Ratio | A 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 Filter | Ativa/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 Qty | Utilizado 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 |
|
| Period / Multiplier / Moving Avg. Type / Smooth | Parâ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 TF | Calcula 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 |
|
| ATM Strategy Template Name | Apenas 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.
|
| Enable Price Breakeven | Ativa/desativa o mecanismo de breakeven baseado em preço. |
| Breakeven Price Strategy |
|
| Breakeven Price Trigger | Disponível se breakeven baseado em preço está ativado — o valor de disparo necessário para mover o stop loss para breakeven. |
| Enable Time Breakeven | Ativa/desativa o mecanismo de breakeven baseado em tempo (em minutos). |
| Breakeven Time Trigger | Disponí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 |
|
| TakeProfit Strategy |
|
| 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 | Disponível quando StopLoss Strategy está definido como Pontos. |
| Take Profit Currency | O 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 % Target | 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 — por exemplo 50% de uma posição de 5 contratos fecha 2 contratos). |
| Scale out at % Target | A percentagem do alvo de lucro que dispara o mecanismo de scale-out. |
| Scale out % Qty | A percentagem da quantidade fechada pelo mecanismo de scale-out. |
| Take Profit Points | Disponí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.
|
| Trailing Stop Trigger | O gatilho (em pontos ou relação) para o método Classic Trail Stop. |
| Trail Amount | O 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 Arm/Disarm | Ativa/desativa manualmente a entrada de operações longas ou curtas — útil se tiveres uma tendência direcional. |
| Botão de Fechar Posição | Flattens imediatamente a posição no instrumento ativo sem reiniciar a estratégia, que continua procurando novas operações depois. |
| Botão Aumentar / Diminuir Qty | Ajusta a quantidade da posição ativa atual por ±1 contrato. |
| Botão Set Breakeven | Move 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.
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: 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
