Candle Range Theory (CRT) Strategy

Creado 16 mar. 2025 · Actualizado 05 sep. 2025

Candle Range Theory (CRT) Strategy es una estrategia mecánica Premium para la plataforma NinjaTrader 8. La estrategia puede usarse para superar desafíos de evaluación de propfirms.

Requisitos Previos

Para usar correctamente esta estrategia deberías tener los siguientes requisitos previos disponibles.


Aviso Legal Importante

Recomendamos encarecidamente que nunca ejecutes tus sistemas de trading algorítmico en tu dinero real ganado con esfuerzo. Siempre debes minimizar tu riesgo y ejecutar tus estrategias en programas de financiación de traders, para que el máximo cantidad que arriesgues perder sea la tarifa de suscripción mensual que pagas a esos programas.

Ejemplos de Configuración de Entrada

Esta estrategia tiene una configuración de entrada única, basada en la metodología de Candle Range Theory (CRT).

En resumen, el modelo de entrada CRT es un modelo de entrada de alta probabilidad con una relación de riesgo/recompensa definida. Se basa en analizar un patrón de vela en un timeframe más alto y buscar confirmación de entrada en un timeframe más bajo.

En el timeframe más alto, buscamos identificar un patrón de vela CRT — una secuencia que respeta la estructura de Accumulation, Manipulation, Distribution, formada a través de tres velas:

  • La primera vela es una vela de acumulación larga.
  • La segunda vela es una vela de manipulación, donde el precio crea una mecha que empuja por arriba del máximo de la vela anterior pero baja y se cierra dentro del cuerpo de la vela anterior.
  • La tercera vela es la vela de distribución, donde el precio rompe la mecha inferior de la segunda vela y se mueve hacia (y más allá de) el mínimo de la primera vela.
Modelo de entrada CRT — secuencia de Accumulation, Manipulation, Distribution
Haz clic para ampliar

El disparador de entrada para este modelo es la ruptura de la mecha inferior de la segunda vela (lo inverso aplica para un modelo de entrada larga). Ese disparador se analiza en un timeframe más rápido y más bajo — por ejemplo, si el patrón de vela CRT se observa en un timeframe de 1 hora, la confirmación de entrada puede buscarse en el timeframe de 1 minuto o 5 minutos.

Se usa un timeframe más bajo para confirmación de entrada para que la operación pueda ser entrada de manera oportuna — ya sea a través de un Fair Value Gap, o simplemente esperando a que el timeframe más bajo se cierre por debajo de la mecha inferior de la segunda vela.

Una ventaja de este modelo es que la relación de take-profit/stop-loss es conocida antes de entrar en la operación: generalmente, el stop loss se coloca algunos ticks más allá de la vela de manipulación (2ª vela), y el objetivo de take-profit es el mínimo de la primera vela (o máximo, para una entrada larga).

Ejemplos de gráfico

Estos ejemplos no están destinados a mostrar que la estrategia genera ganancia — son operaciones ganadoras deliberadamente seleccionadas a mano, elegidas para evitar confusión e ilustrar los mejores escenarios donde la configuración de entrada funciona bien. Al ejecutar la estrategia tú mismo, encontrarás que muchas configuraciones de entrada similares llevan a operaciones perdedoras — esa es la realidad del trading. El objetivo es rentabilidad esperada a largo plazo, aunque algunas operaciones individuales sean pérdidas.

MES, gráfico de 1 minuto / timeframe superior de 1 hora

En MES, timeframe de 1 minuto, con el timeframe de 1 hora como timeframe superior (dibujado como una superposición en el gráfico, que es muy útil). Este ejemplo muestra dos entradas separadas — la primera una entrada larga, la segunda una entrada corta. Las velas marcadas como 1 y 2 son las velas que generaron cada entrada, y los marcadores TP/SL muestran dónde se establecieron los niveles de take-profit y stop-loss.

Ejemplo de MES, gráfico de 1 minuto / timeframe superior de 1 hora
Haz clic para ampliar
MES, gráfico de 1 minuto — Take profit de vela CRT de 2x

La estrategia soporta varias estrategias de take-profit y stop-loss. El take profit CRT predeterminado se establece a la mecha de máximo/mínimo de la primera vela (de acumulación), pero esto puede extenderse a un múltiplo de ese rango — este ejemplo ilustra el factor 2x. El marcador 1X muestra el primer nivel de take-profit, y 2X muestra dónde se estableció el nivel de take-profit de 2x en lugar de eso — produciendo una mayor expectancia de ganancia a largo plazo.

Ejemplo de take profit de vela CRT de 2x
Haz clic para ampliar

Características

The CRT strategy tiene un conjunto de características únicas:

  • Implementación robusta interna del algoritmo de configuración de entrada de Candle Range Theory
  • No se colocan órdenes pendientes — solo órdenes de mercado, que no producen órdenes rechazadas o rellenos parciales
  • Estrategia totalmente automática que puede escalarse en múltiples instancias
  • Capacidades de backtesting precisas que siguen las mejores prácticas oficiales de NinjaTrader, logrando backtesting preciso de entrada/salida a nivel de tick
  • Una robusta librería interna de gestión de órdenes, resistente a pérdidas de conexión, que funciona perfectamente en cuentas de Rithmic o cuentas de brokerage de NinjaTrader
  • Botones de comando en el gráfico para gestionar manualmente posiciones cuando sea necesario
  • Una estrategia muy ligera que puede ejecutarse en múltiples instancias, incluso en un VPS de baja potencia
Cantidad dinámica y gestión de riesgo

Como con todas nuestras estrategias, esta estrategia implementa dos métodos para configurar la cantidad de posiciones abiertas:

  • Cantidad fija: usa la misma cantidad para cada posición. Si el stop loss es variable entre posiciones, los montos de ganancia/pérdida variarán también.
  • Cantidad ajustada dinámicamente por riesgo: calcula la cantidad de cada posición desde su stop loss, el riesgo máximo (en $) permitido por posición, y la cantidad máxima permitida — produciendo montos iguales de ganancia/pérdida en todas las posiciones sin importar el ancho del stop loss.
Gestión de posiciones

Como con todas nuestras estrategias, esta estrategia implementa múltiples métodos de gestión de posiciones:

  • ATM Strategy: delega la gestión de posiciones completamente a tu propia estrategia ATM, seleccionada de un dropdown.
  • SuperTrend: usa el indicador SuperTrend para arrastrar el stop loss y gestionar salidas dinámicamente.
  • Classic Trailing Stop: arrastra el stop loss basado en un disparador y una cantidad de trailing.

La estrategia también permite establecer el stop loss basado en múltiples estrategias y el take profit basado en una relación — ve la sección de parámetros para los detalles.

Gestión de cuenta

La estrategia implementa disparadores de parada de trading diaria basados en la cantidad neta de posiciones ganadoras, la cantidad neta de posiciones perdedoras, o una ganancia neta realizada objetivo o pérdida neta.

Parámetros

Tratamos de mantener los parámetros al mínimo — solo los más importantes están expuestos.

General
Execute Historical TradesHabilita la ejecución de operaciones cuando la estrategia se ejecuta en modo Historical, Backtest, u Optimization — debería estar deshabilitado cuando se ejecuta Live.
Daily TakeProfit TargetLa estrategia se detiene para el día una vez que se alcanza este monto diario de take-profit después de que se cierra una posición. Se ignora cuando está configurado a 0.
Daily StopLoss LimitLa estrategia se detiene para el día una vez que se alcanza el límite de pérdida diaria después de que se cierra una posición (valor positivo — ej. 300 detiene el trading una vez que PnL realizado ≤ -$300). Se ignora cuando está configurado a 0.
Stop @ Winning CountDetiene el trading para el día una vez que la cantidad de operaciones ganadoras netas alcanza este valor. Se ignora cuando está configurado a 0.
Stop @ Losing CountDetiene el trading para el día una vez que la cantidad de operaciones perdedoras netas alcanza este valor. Se ignora cuando está configurado a 0.
Render Opacity (1-100)Opacidad usada para renderizar objetos en el gráfico.
Execute on Different InstrumentEjecuta operaciones en un instrumento diferente que el del gráfico activo — ej. ejecuta lógica en Minis pero ejecuta en Micros para gestionar mejor el riesgo. Todos los cálculos de riesgo ocurren en el instrumento de ejecución, y las operaciones en un instrumento diferente no se dibujan en el gráfico.
Execution InstrumentElige de una lista de Micros disponibles en tu conexión de NinjaTrader como el instrumento en el cual se ejecutan las operaciones. Las operaciones históricas y en vivo no se dibujarán en el gráfico en este caso.
Market Structure
Higher TimeFrameSelecciona el timeframe más alto en el cual se ejecuta el análisis de configuración de entrada. Asegúrate de seleccionar un timeframe más alto que, y del mismo tipo que, el del gráfico activo — ej. no puedes seleccionar un timeframe más alto basado en Ticks mientras el timeframe del gráfico es basado en Minutes.
Higher TimeFrame PeriodEstablece el período del timeframe más alto.
Entry Setup
Time Zone La zona horaria usada para el parámetro Trade Time abajo. Los mercados de futuros operan en hora del este estadounidense (EST), así que esto te permite especificar el intervalo de trading relativo a tu propia zona horaria de máquina en lugar de eso.
  • EST, CET, o Local Time
Trade Time El intervalo de tiempo(s) durante el cual la estrategia está permitida colocar operaciones. Algunos ejemplos:
  • Zona horaria EST, trading solo RTH (horario regular de trading): 09:30-16:15
  • Máquina en hora local suiza, trading RTH: 15:30-22:15
  • Zona horaria EST, trading tanto RTH como ETH (horario extendido de trading) con brechas para evitar períodos volátiles: 00:01-08:00,09:55-15:55,18:01-23:59
Dos cosas a notar en ese último ejemplo: los intervalos deben ser listados en orden creciente incluso aunque 18:01-23:59 es realmente el primer intervalo de una nueva sesión de día, y el intervalo se corta a medianoche para evitar problemas cuando se entra en un nuevo día.
Quantity Strategy
  • Fixed Quantity: cantidad fija por operación; omitida si el riesgo evaluado excede Target Risk Per Trade ($)
  • Risk Adjusted: tamaño de contrato dinámico, calculado desde el precio del stop loss y Target Risk Per Trade ($)
Max QtyCantidad máxima permitida cuando Risk Adjusted está seleccionado — útil ya que algunos propfirms cumplen límites de cantidad de órdenes que pueden invalidar una cuenta.
Long/Short Entry Mode Útil si ya tienes un sesgo diario direccional y deseas restringir el trading a una dirección.
  • Long: solo se abren operaciones largas
  • Short: solo se abren operaciones cortas
  • Long & Short: ambas direcciones se tradean
Trade Entry Mode Modo de entrada después de que se detecta una secuencia CRT válida.
  • Immediate: desencadena una posición inmediatamente una vez que el precio rompe la mecha de máximo/mínimo de la primera vela CRT por un mínimo de un tick
  • FVG: espera a que un Fair Value Gap se forme mientras el precio rompe la mecha de máximo/mínimo de la primera vela CRT
Min CRT TicksEl tamaño mínimo, en ticks, del área de ganancia de la vela CRT. Se omite una vela CRT cuyo rango es demasiado pequeño como para valer la pena tradear — es decir, la distancia desde la señal de entrada al wick de take-profit es muy pequeña.
Min CRT RatioLa relación CRT es la relación ganancia:pérdida de la operación — la distancia desde la señal de entrada al wick de take-profit (el wick de máximo de la primera vela CRT para una entrada larga, wick de mínimo para una corta), dividida por la distancia desde el precio de entrada al wick de stop-loss (el wick de mínimo de la primera vela CRT para una entrada larga, wick de máximo para una corta). Este parámetro establece la relación mínima permitida, omitiendo entradas por debajo.
SuperTrend Entry FilterHabilita/deshabilita usar el indicador SuperTrend como filtro de entrada — cuando está habilitado, las operaciones largas solo se permiten cuando SuperTrend es alcista, y las operaciones cortas solo cuando es bajista.
Order QtySe usa solo cuando Quantity Strategy es Fixed — la cantidad fija por operación (y por incremento de cantidad, si el mecanismo de gestión de órdenes escala hacia adentro). Típicamente 1 o 2.
SuperTrend
Esta sección solo es visible cuando SuperTrend Entry Filter está habilitado.
SuperTrend Mode
  • ATR: cálculo basado en ATR
  • Adaptive: basado en cierre/máximo/mínimo de vela
Period / Multiplier / Moving Avg. Type / SmoothParámetros estándar de cálculo de SuperTrend — período, multiplicador de banda (una banda más ancha cuanto mayor sea el valor), tipo de promedio móvil, y período de suavizado.
Run SuperTrend on Higher TFCalcula el indicador SuperTrend en la serie de precios del timeframe más alto en lugar del timeframe propio del gráfico.
Order Management
Order Management Strategy
  • ATM Strategy: delega la gestión de posiciones completamente a una plantilla de estrategia ATM de NinjaTrader de tu elección, accedida desde el panel de Chart Trader
  • SuperTrend: cierra operaciones usando el indicador SuperTrend — el stop loss se establece un tick arriba/debajo de la mecha de la barra que rompió el nivel de supertrend
  • Classic Trail Stop: arrastra el stop loss basado en un disparador y una cantidad de trailing (ve los parámetros de Trailing Stop abajo)
  • None: el stop loss definido por Target Risk Per Trade ($) se usa en lugar de eso
Estrategia ATM accedida desde el panel de Chart Trader
ATM Strategy Template NameSolo se usa con el método de gestión de órdenes ATM Strategy — el nombre exacto de la plantilla de tu estrategia ATM personalizada (coincidiendo con la imagen arriba, esto sería template1). Debe coincidir con una plantilla existente, o no se abrirá posición.
On Opposite Signal El comportamiento de la estrategia siempre que ocurra una señal opuesta mientras una posición está abierta.
  • Breakeven: mueve el stop loss a breakeven
  • Close Position: cierra inmediatamente la posición
  • DoNothing: no toma acción
Enable Price BreakevenHabilita/deshabilita el mecanismo de breakeven basado en precio.
Breakeven Price Strategy
  • Points: breakeven se desencadena basado en puntos
  • Percentage: breakeven se desencadena basado en porcentaje de take profit alcanzado
Breakeven Price TriggerDisponible si el breakeven basado en precio está habilitado — el valor de disparo necesario para mover el stop loss a breakeven.
Enable Time BreakevenHabilita/deshabilita el mecanismo de breakeven basado en tiempo (en minutos).
Breakeven Time TriggerDisponible si el breakeven basado en tiempo está habilitado — el valor de disparo, en minutos, necesario para mover el stop loss a breakeven.
StopLoss Strategy
  • CRT Candle: el stop loss se establece al wick de mínimo de la vela CRT para entradas largas, y su wick de máximo para entradas cortas
  • Fixed Currency Value: solo se usa Target Risk Per Trade ($)
  • Points: un número fijo de puntos desde la entrada
  • SuperTrend: se establece según los niveles del indicador SuperTrend
TakeProfit Strategy
  • CRT Candle / 1.5x CRT Candle / 2x CRT Candle / 3x CRT Candle: take profit establecido a un múltiplo (1x, 1.5x, 2x, o 3x) del rango de la primera vela CRT desde el precio de entrada
  • Fixed Currency Value: basado en el valor fijo del parámetro Take Profit Currency
  • Points: un número fijo de puntos desde el precio de entrada
  • Relaciones de ganancia/pérdida fijas: 1:1, 0.5:1, 1.5:1, 2:1, 3:1, 4:1, 5:1, 6:1 — calculadas basadas en el precio del stop-loss en esa relación
Target Risk Per Trade ($)Riesgo máximo, en dólares, por posición — se usa antes de abrir una operación para verificar que el stop loss calculado respete este límite; si no, la operación se omite.
Max Allowed Risk Per ($)Solo se usa con cantidad ajustada por riesgo — controla cuánto el riesgo real calculado está permitido desviarse del riesgo objetivo (ya que una coincidencia exacta es raramente posible).
Stop Loss PointsDisponible cuando StopLoss Strategy está configurado a Points.
Take Profit CurrencyEl monto de take-profit en dólares, se usa cuando la estrategia de take-profit Fixed Currency Value está seleccionada. Si no se usa, configúralo a un valor alto para que no interfiera con las estrategias basadas en relación.
Scale out % Qty at % TargetCierra un porcentaje de la cantidad de la posición una vez que el precio golpea un porcentaje del objetivo de ganancia (redondeado hacia abajo cuando es fraccionario — ej. 50% de una posición de 5 lotes cierra 2 contratos).
Scale out at % TargetEl porcentaje del objetivo de ganancia que desencadena el mecanismo de scale-out.
Scale out % QtyEl porcentaje de la cantidad cerrada por el mecanismo de scale-out.
Take Profit PointsDisponible cuando TakeProfit Strategy está configurado a Points.
Trailing Stop Parameters
Trailing Stop Strategy Disponible con el método de gestión de órdenes Classic Trail Stop.
  • Points: disparador y cantidad de trailing calculados en puntos desde la entrada
  • Ratio: calculado como una relación del valor del stop loss, reflejado en el lado ganador
Trailing Stop TriggerEl disparador (en puntos o relación) para el método Classic Trail Stop.
Trail AmountLa cantidad (en puntos o relación) arrastrada una vez que el disparador se golpea.
Command Buttons
La estrategia expone botones de comando manual en el panel de Chart Trader — asegúrate de que se muestre en tu gráfico activo.Botones de comando en el panel de Chart Trader
Arm/Disarm ButtonsHabilita/deshabilita manualmente la entrada de operaciones largas o cortas — útil si tienes un sesgo direccional.
Close Position ButtonAplana inmediatamente la posición en el instrumento activo sin reiniciar la estrategia, que continúa buscando nuevas operaciones después.
Increase / Decrease Qty ButtonAjusta la cantidad de la posición activa actual por ±1 contrato.
Set Breakeven ButtonMueve el stop loss de la posición abierta a breakeven, si hacerlo lo mejoraría.

Reportes de Rendimiento

Los resultados pasados no son garantía de resultados futuros. Todos los resultados de backtesting son solo para fines indicativos.

  • Las comisiones se incluyen, usando el esquema de comisión de licencia de NinjaTrader Lifetime, para resultados realistas.
  • Seguimos la guía oficial de NinjaTrader para backtesting preciso de granularidad intrabar usando series de datos de nivel de tick adicionales, y solo usamos órdenes de mercado — nunca órdenes pendientes — tanto en modos tiempo real como backtest.

Aún no se han cargado reportes de rendimiento para esta estrategia.

Instrucciones de Descarga e Instalación

Requisitos de Licencia

En automated-trading.ch puedes elegir comprar una suscripción mensual para usar nuestros productos premium, o usar nuestros productos gratuitos sin suscribirse.

En ambos casos, necesitas crear una cuenta para que puedas obtener una Licencia que puedas usar tanto para productos premium como gratuitos.

Para obtener tu licencia, simplemente regístrate y luego obtén tu licencia en la página de facturación.

Importante: Este es un producto Premium. Puede ejecutarse en los modos Backtest, Playback y Optimization de forma gratuita; se requiere una suscripción Premium activa para ejecutarlo en vivo.
Descargar
Inicia sesión para descargar este archivo.
Versión Más Reciente v1.2.0.1 · Publicado hace 1 año
Este archivo ha sido descargado 446 veces.

También puedes descargar esta estrategia — y todas las demás estrategias e indicadores de automated-trading.ch — en cualquier momento desde tu página centralizada de Descargas.

Pasos de Instalación
1
Importa el archivo .zip descargado en NinjaTrader usando el elemento de menú Importar NinjaScript.
2
Abre una nueva ventana de gráfico, asegurándote de que la casilla de Tick Replay está marcada.
3
Si no la ves, ve a Tools → Options → Market Data y habilita Show Tick Replay.
4
Haz clic derecho en el gráfico y elige Strategies (o presiona Ctrl+S) para abrir el cuadro de diálogo Add New Strategy, y asegúrate de que la casilla Enabled de la estrategia está marcada.
Agregando la estrategia CRT a un gráfico
Haz clic para ampliar
5
Después de agregar la estrategia, se ejecuta en los datos históricos del gráfico primero, luego cambia a modo Real-Time y añade un cuadro de texto de licencia al panel de Chart Trader — asegúrate de que ese panel se muestre.
6
Pega tu licencia (encontrada en la página de facturación) en el cuadro de texto y haz clic en Check License.
7
Una vez verificado, el botón "Check License" se vuelve verde junto con la siguiente fecha de verificación — esto solo necesita ser repetido después de esa fecha.
8
Sin una suscripción activa, la estrategia aún puede ejecutarse en modos Playback e Historical para probarla primero.

Preguntas Frecuentes

General

Usar un VPS es beneficioso pero no obligatorio — una instancia de Windows VPS de bajo costo es suficiente para la mayoría de usuarios.

Sí, siempre que cada instancia se ejecute en un instrumento único — NinjaTrader agrega órdenes en una posición por instrumento por cuenta, así que ejecutar dos instancias en el mismo instrumento no funcionará.

Puedes, pero ejecutar múltiples instancias de la estrategia directamente es generalmente una mejor solución — la licencia permite instancias ilimitadas en múltiples máquinas.

Sí — la estrategia está diseñada exactamente para eso, y funciona sin problemas en Rithmic, NinjaTrader brokerage, Tradovate, o cualquier otro proveedor conectado a tu plataforma NinjaTrader.

Está diseñada para ser completamente automática, pero sus botones de comando también te permiten gestionar operaciones manualmente si prefieres ejecutarla de forma semi-automática.

Las estrategias automatizadas operan todo el día, ejecutan más rápido y con mayor precisión, elimina la psicología y el sentimiento de la ecuación, y puede escalar a docenas o cientos de instancias — produciendo ingresos pasivos genuinos en lugar de otro trabajo manual estresante.

Sí — si tienes una idea que pueda mejorar la estrategia, usa la página de contacto para ponerte en contacto.

No, el código fuente está protegido por razones de derechos de autor.
Facturación

Sí, puedes cancelar tu suscripción desde la página de cuenta en cualquier momento para prevenir pagos futuros. No podemos reembolsar la porción no utilizada de tu suscripción, pero podrás usarla durante el resto del ciclo de facturación.

No, no ofrecemos un plan de suscripción de prueba, pero puedes descargar y probar el producto en los modos backtest y playback antes de suscribirse.

No ofrecemos reembolsos completos o parciales, pero puedes cancelar tu suscripción en cualquier momento para detener pagos futuros.
Escépticos

He sido desarrollador de software profesional desde 2010 y he desarrollado estrategias de trading automatizado desde 2012, tanto para mí como para clientes en todo el mundo — también he trabajado en finanzas e inversión bancaria. No soy comerciante, y no subcontrataré el desarrollo de estrategias.

No la estoy vendiendo — estoy alquilándola, como una fuente de ingresos adicional además de diversificar mi propio trading. La estrategia es puramente mecánica, sin ventaja cuantitativa oculta que se erosione cuando más personas la usen.

Las órdenes pendientes (limitadas) ofrecen mejor ejecución de precios y cierta protección contra problemas de conectividad, pero pueden ser rechazadas bajo alta volatilidad, necesitan gestión activa, y son visibles para el broker. Las órdenes de mercado garantizan ejecución independientemente de la volatilidad, son invisibles para el broker antes del envío, y se ejecutan más rápido — el único inconveniente real es que una conexión perdida impide enviarlas. Las órdenes MIT (market-if-touched) de NinjaTrader son una alternativa sólida si específicamente deseas comportamiento de orden pendiente.

Seguimos la guía oficial de NinjaTrader para backtesting preciso con granularidad intrabar usando series de datos adicionales a nivel de ticks. No nos creas a nosotros — ejecuta un backtest al final de cada día de trading y compáralo con las operaciones en vivo reales de la estrategia ese día.

Notas de Actualización

  • 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
Únete a nuestra comunidad de Discord
¿Preguntas, comentarios, o simplemente quieres charlar con otros traders? Ven a saludar.
Unirse a Discord
Datos Rápidos
Plataforma NinjaTrader 8
Categoría Estrategia
Plan Requerido Premium
Versión Más Reciente v1.2.0.1
Última Actualización hace 1 año
Descargas 446