Resumen
La estrategia Opening Range Breakout es una estrategia mecánica Premium para la plataforma NinjaTrader 8. La estrategia puede utilizarse para superar programas de funded trading
Le recomendamos encarecidamente unirse a nuestra comunidad de Discord siguiendo este enlace de invitación
Índice
Prerrequisitos
Para utilizar correctamente esta estrategia, necesita disponer de los siguientes prerrequisitos
- NinjaTrader 8 con cualquier tipo de licencia Haga clic aquí para descargar
- Cuenta en automated-trading.ch con Suscripción Premium
Aviso Importante
Le recomendamos encarecidamente que nunca ejecute sus sistemas de trading algorítmico con su dinero real. Siempre debe minimizar su riesgo y ejecutar sus estrategias en programas de funded trading, de modo que el riesgo máximo sea la cuota mensual de suscripción de esos programas.
Aquí están los programas de funded trading que recomendamos y que utilizamos para ejecutar esta estrategia Opening Range Breakout:
- Lucid Trading
- Funded Next
- Tradeify
- Apex Trader Funding
- ¿Quiere saber más sobre las propfirms y cómo elegir la mejor? Haga clic aquí
La estrategia Opening Range Breakout se basa en entrar con una señal generada al analizar el comportamiento del mercado en relación con un rango de precios formado en los primeros minutos de la sesión de trading. La estrategia ofrece una configuración de entrada muy flexible basada en ese concepto de ruptura
La estrategia comenzará detectando el opening range; este rango se define como un intervalo que puede parametrizarse, pero en términos generales debe situarse en torno a la hora de apertura del mercado a las 09:30 EST para la mayoría de los futuros. El opening range puede, por ejemplo, definirse entre las 09:30 EST y las 09:35 EST (abarcando 5 minutos), o desde lo que se conoce como Cash Open, de las 08:30 EST a las 09:30 EST. Conviene experimentar con diferentes intervalos y buscar el más adecuado para cada instrumento.
El segundo paso de la estrategia consiste en esperar una ruptura del precio del opening range. La estrategia esperará a que el precio haga un retroceso al rango como primera condición requerida antes de decidir abrir una operación. Tras el retroceso, la estrategia esperará a que la acción del precio muestre una fuerte ruptura en la dirección del retroceso inicial. Concretamente, la estrategia buscará un Fair Value Gap que será el desencadenante para entrar en una operación, o bien puede configurarse en modo inmediato para entrar en la operación al cierre de una vela sin esperar a que aparezca un Fair Value Gap. Además, la estrategia buscará que estas condiciones de entrada se produzcan antes de un límite horario determinado para el día. En general, cuanto más espere a que el precio rompa, más lejos puede alejarse del rango de precio inicial, por lo que se establece un límite de tiempo a las 11:00 EST, lo que significa que no se permitirán operaciones después de las 11:00 EST. Por supuesto, este es un parámetro que puede modificar.
Entrar en una operación es una parte importante de cualquier estrategia, pero lo más importante es gestionar la operación. La estrategia permite gestionar la operación con muchos métodos de gestión.
Junto con la definición inicial del precio de Stop Loss, un precio de Take Profit y una Cantidad configurada dinámicamente para mantener un Riesgo Fijo por operación, lo cual es una parte crucial
de la rentabilidad a largo plazo de cualquier estrategia.
El precio de Stop Loss puede establecerse en niveles Fibonacci calculados sobre el retroceso en la zona del opening range.
Ejemplos de Configuración de Entrada
Ejemplo #1: Configuración de entrada en MES
En este primer ejemplo de configuración de entrada, que se ejecuta en MES en el Marco Temporal de 1 Minuto, el opening range está configurado para abarcar de las 09:30 a las 09:35 EST. Se requiere un Fair Value Gap para entrar en una operación después de que el precio retroceda al opening range. El Stop Loss en este ejemplo está configurado al 61,8% de retroceso Fibonacci del rango y el Take Profit está establecido en una relación ganancia/pérdida de 2:1. Como puede ver, el precio retrocedió al opening range y luego se produjo un fuerte movimiento bajista que hizo que la estrategia abriera una operación corta. El horario en el gráfico es UTC+1 (CET)
Ejemplo #2: Primera entrada fallida y luego segunda entrada ganadora en MES
En este segundo ejemplo se utilizan los mismos parámetros que en el primer ejemplo anterior. Marco temporal de 1 minuto en el instrumento MES. Puede ver en este ejemplo que la estrategia puede abrir múltiples operaciones mientras la ventana de trading sigue activa. En este ejemplo la ventana de trading está activa hasta las 11:00 EST. La primera operación resultó en pérdida, luego se abrió la 2ª operación con una relación ganancia/pérdida de 2:1 y fue ganadora. La segunda operación se abrió porque la acción del precio respetó las reglas de entrada: primero rompió por debajo del mínimo del rango, luego retrocedió dentro del rango y volvió a romper hacia abajo con un fuerte FVG
Ejemplo #3: Sin operación en acción de precio lateral
En este ejemplo podemos ver el efecto de esperar un Fair Value Gap antes de entrar en una operación. En el gráfico siguiente, no se abrieron operaciones porque la acción del precio lateral no creó un Fair Value Gap. Como puede apreciar, esto es positivo, ya que si se hubiera abierto una operación de ruptura habría resultado en pérdida
Ejemplo #4: Un retroceso al rango de ruptura es crucial
En el ejemplo siguiente, podemos ver la importancia de esperar un retroceso del precio al Opening Range. El precio rompió del opening range en el primer evento marcado con una cruz roja en el gráfico. Pero eso no fue suficiente para que la estrategia entrara en una operación; luego el precio retrocedió de vuelta al opening range y rebotó hacia arriba con un fuerte movimiento formando un FVG. Ese fue el momento perfecto para abrir una operación ganadora.
Ejemplo #5: Entradas en el rango del día anterior en micro Gold
En este ejemplo, el parámetro Trade Previous Days Zone está activado. Estamos en el contrato MGC (micro gold) en un marco temporal de 500 volumen. Cada entrada que ve en el gráfico se desencadena en base al opening range del día anterior calculado entre las "18:30" y las "09:45" EST
Ejemplo #6: Entradas en niveles Value Area del Volume Profile con Stop Loss en el nodo de bajo volumen
En este ejemplo, el modo de entrada por Volume Profile está activado. Esto significa que el máximo y mínimo del value area del Volume Profile se toman como niveles de entrada en lugar del máximo y mínimo del rango completo. Además, la estrategia de Stop Loss seleccionada en este ejemplo es "Vol profile lowest Vol node", que sitúa el Stop Loss en el nivel de menor volumen dentro del value area. Como puede ver en la captura de pantalla, la acción del precio desencadenó la entrada cuando el precio rompió desde el nivel del mínimo del Value Area.
Características
La estrategia Opening Range Breakout tiene un conjunto de características únicas:
- No se colocan órdenes pendientes: solo órdenes de mercado
- Estrategia totalmente automática que puede escalarse en múltiples instancias
- Capacidades de backtesting precisas siguiendo las mejores prácticas oficiales de NinjaTrader para obtener entradas/salidas precisas ejecutadas a nivel de tick
- Biblioteca robusta de gestión de órdenes. Resistente a pérdidas de conexión y funciona perfectamente en cuentas Rithmic o en cuentas de corretaje de NinjaTrader
A continuación explico con más detalle algunas de las características de la estrategia
Cantidad Dinámica y Gestión de Riesgo
Como todas nuestras estrategias, esta estrategia implementa dos métodos para establecer la cantidad de las posiciones abiertas.
- Fixed Quantity: Este método utilizará el mismo valor de cantidad para cada posición. Si el Stop Loss varía entre posiciones (usando un valor dinámico), la ganancia/pérdida también variará entre posiciones
- Dynamic Risk Adjusted Quantity: Este método calculará la cantidad de cada posición en base a múltiples factores:
- El Stop Loss de la posición
- El riesgo máximo (en valor monetario $) permitido para una posición
- La cantidad máxima permitida para una posición
Gestión de Posiciones
Como todas nuestras estrategias, esta estrategia implementa múltiples métodos de gestión de posiciones:
- ATM Strategy: Si desea delegar la gestión de posiciones a su propia ATM strategy, esto es posible seleccionando una ATM strategy de su elección en el menú desplegable
- SuperTrend: Utiliza el indicador SuperTrend para arrastrar el Stop Loss y gestionar las salidas de forma dinámica
- Classical Trailing Stop: Este método arrastrará el Stop Loss de la posición basándose en un disparador y una cantidad de arrastre
Además de esos métodos de gestión de posiciones, la estrategia permite establecer el Stop Loss basándose en múltiples estrategias y definir el Take Profit mediante un método basado en ratio. Consulte la sección de parámetros para una explicación detallada
Gestión de Cuenta
La estrategia implementa disparadores diarios para detener el trading basándose en el recuento neto de operaciones ganadoras, el recuento neto de operaciones perdedoras, o cuando se alcanza un beneficio neto realizado objetivo, o cuando se alcanza una pérdida neta objetivo.
Parámetros
Intentamos mantener los parámetros al mínimo. Solo hemos dejado los parámetros más importantes a configurar
| General | |
| Execute Historical Trades | Este parámetro es muy importante y debe usarse con cuidado. Permite ejecutar operaciones cuando la estrategia se ejecuta en modo Histórico. Puede activarlo para probar el rendimiento de la estrategia en días pasados o simplemente para comprobar si los parámetros usados generarán operaciones el día actual. Pero cuando ejecute la estrategia en modo Live, debe desactivar este parámetro. |
| Daily TakeProfit Target | La estrategia se detendrá cuando se alcance el importe diario de Take Profit después de cerrar una posición. Cuando se establece en 0, este parámetro se ignora |
| Weekly TakeProfit Target | La estrategia se detendrá cuando se alcance el importe semanal de Take Profit después de cerrar una posición. Cuando se establece en 0, este parámetro se ignora. Este objetivo se reiniciará al comienzo de cada nueva semana |
| Daily StopLoss Limit | La estrategia se detendrá cuando se alcance el importe diario de Stop Loss después de cerrar una posición. El valor de este parámetro es positivo. Por ejemplo, si el valor se establece en 300, la estrategia se detendrá cuando el PnL realizado sea inferior o igual a -300$. Cuando se establece en 0, este parámetro se ignora |
| Stop @ Winning Count | Esto hará que la estrategia deje de operar si el recuento neto de operaciones ganadoras del día es igual al valor de este parámetro. Este parámetro se ignora si es igual a 0 |
| Stop @ Losing Count | Esto hará que la estrategia deje de operar si el recuento neto de operaciones perdedoras del día es igual al valor de este parámetro. Este parámetro se ignora si es igual a 0 |
| Execute on Different Instrument | Este parámetro permitirá ejecutar operaciones en un instrumento diferente al del gráfico activo. Esto puede ser útil si quiere ejecutar la lógica de la estrategia en Minis y ejecutar en Micros para gestionar mejor el riesgo abriendo las operaciones en Micros. Tenga en cuenta que si activa este parámetro, todos los cálculos de riesgo realizados por la estrategia se harán sobre el instrumento de ejecución. Y tenga en cuenta también que las operaciones abiertas en instrumentos diferentes al del gráfico no se dibujarán en el gráfico |
| Execution Instrument | Este parámetro le permitirá elegir de una lista de Micros disponibles en su conexión NinjaTrader, el instrumento en el que se ejecutarán las operaciones. Tenga en cuenta que las operaciones históricas y las operaciones en vivo No se mostrarán en el gráfico en este caso. |
| Order Label | Este parámetro le permitirá establecer una etiqueta que se añadirá como sufijo a todas las posiciones enviadas al bróker. Esto es útil en caso de que quiera que las posiciones enviadas al bróker tengan un valor específico para diferenciarlas de las posiciones de otras personas que usan la misma estrategia |
| Render Opacity (1-100) | Establece la opacidad utilizada para dibujar la zona del opening range |
| Extend Zone Pivot Lines Drawing | Esto extenderá las líneas pivot de la zona ORB hasta el final de la sesión |
| Enable/Disable Trading Days |
Este parámetro permite restringir el trading a determinados días de la semana.
|
| Entry Setup | |
| Manual Opening Range Levels | Esto permitirá establecer manualmente los precios máximo y mínimo del rango. Esta función fue solicitada por los usuarios. Cuando esta función está activada, el opening range se creará inmediatamente, pero el trading comenzará según el parámetro de tiempo de trading |
| Manual High Price | Establece manualmente el precio máximo del rango |
| Manual Low Price | Establece manualmente el precio mínimo del rango |
| Time Zone |
Este parámetro establece la zona horaria a utilizar para el parámetro Trade Time siguiente. Dado que los mercados de futuros abren y cierran según la zona horaria del mercado de EE.UU. (EST, hora del Este de EE.UU., Nueva York), este parámetro le permite especificar el intervalo de tiempo de trading en otra zona horaria, que es la de su máquina local
|
| Open Range Time (hh:mm-hh:mm,...) | Establece el intervalo del opening range. Ejemplo: 09:30-09:35 definirá un opening range que abarca desde las nueve y media hasta las nueve y treinta y cinco de la mañana. La zona horaria se especifica con el parámetro anterior. Tras finalizar este intervalo, el rango se dibujará en el gráfico marcando sus precios máximo y mínimo |
| Trading Sessions (hh:mm-hh:mm,...) | Este parámetro en formato de secuencias de intervalos de tiempo define el intervalo de tiempo fuera del Opening Range Time donde la estrategia permitirá entrar en operaciones. Por ejemplo, si establece este valor en "09:45-11:00,13:00-14:00", significa que el bot solo puede colocar operaciones entre las 09:45 y las 11:00, y entre las 13:00 y las 14:00. Las operaciones que permanezcan abiertas no se cerrarán fuera de esos intervalos hasta el horario de corte que es el final de la sesión RTH |
| Trade Previous Days Zone | Este parámetro cambiará la estrategia para buscar Opening Ranges que ocurrieron en días anteriores y no en el día actual. Esto es para el caso en que quiera operar una ruptura de vela del día anterior, o cuando quiera operar opening ranges semanales |
| Enable/Disable ORB calculation Days | Este parámetro solo es visible cuando el parámetro anterior Trade Previous Days Zone está activado.
Este parámetro permitirá seleccionar/deseleccionar los días de la semana en los que se calculará el Opening Range. Si quiere,
por ejemplo, calcular el Opening Range solo el lunes y operarlo el martes y el miércoles, puede combinar esto con
el parámetro anterior Enable/Disable Trading Days para crear cualquier combinación de cuándo calcular el ORB y
cuándo operarlo.
|
| Range Offset (Ticks) | Este parámetro añade un desplazamiento en ticks al opening range calculado. El desplazamiento se añade al precio máximo y al precio mínimo del rango. Por ejemplo, si establece el valor de este parámetro en 4 Ticks, el opening range se extenderá 4 ticks hacia arriba y 4 ticks hacia abajo. |
| Quantity Strategy |
Este parámetro establece cómo debe definirse la cantidad para una operación
|
| Max Qty | Este parámetro establece la cantidad máxima permitida cuando se selecciona el método Risk Adjusted. Esta opción es muy útil ya que algunas propfirms tienen límites de cantidad de órdenes que pueden invalidar la cuenta |
| Use Volume Profile Levels | Este parámetro habilitará/deshabilitará la lógica de entrada basada en el mínimo y máximo del Value Area del Volume Profile. El Volume Profile se calcula sobre el Opening Range. |
| Wait For Range Retrace |
Esta opción hará que la estrategia espere la siguiente secuencia de eventos antes de entrar en la operación:
|
| Wait For FVG | Esta opción hará que la estrategia espere un Fair Value Gap válido mientras rompe del rango. El FVG puede ocurrir después de la ruptura. Cuando no se usa esta opción, la estrategia solo esperará un cierre de vela en la dirección de la operación |
| FVG Last Candle Color Condition | Esta opción establecerá la condición de que la última vela del FVG de entrada sea alcista para entradas largas y bajista para entradas cortas |
| Trade Mode | Este parámetro establece el modo de entrada después de un retest de la zona del Opening Range
|
| Min. Distance From Range (Points) | Este parámetro establecerá la distancia mínima requerida en puntos desde el rango hasta el precio actual para desencadenar una operación. Si lo establece en 0, significa que en cuanto el precio rompa del rango, la estrategia puede desencadenar una operación. Si lo establece en, por ejemplo, 4 puntos, la estrategia no abrirá una operación hasta que el precio rompa del rango al menos 4 puntos |
| Max. Distance From Range (Points) | Este parámetro establecerá la distancia máxima permitida en puntos desde el rango hasta el precio actual para desencadenar una operación. Si lo establece en 0, significa que no hay control sobre la distancia. Si lo establece en, por ejemplo, 10 puntos, la estrategia no abrirá una operación si el precio supera los 10 puntos desde el nivel superior o inferior del rango |
| Min. Range Height (Points) | Este parámetro establece la altura mínima del rango en puntos requerida para abrir una operación. Cuando se establece en 0, este parámetro se ignora |
| Max. Range Height (Points) | Este parámetro establece la altura máxima del rango en puntos requerida para abrir una operación. Cuando se establece en 0, este parámetro se ignora |
| Reset Bias On Each Side | Este parámetro solo se utiliza cuando Wait For Range Retrace está activado. Este parámetro tendrá el siguiente comportamiento:
|
| SuperTrend Entry Filter | Este parámetro habilitará/deshabilitará el uso del indicador SuperTrend como filtro de entrada. Cuando está activado, las operaciones largas solo se permiten cuando el SuperTrend está en modo alcista. Inversamente, permite las operaciones cortas solo cuando el indicador SuperTrend está en modo bajista. Tenga en cuenta que esto resultará en menos operaciones en total |
| Supertrend Filter Mode | Este parámetro establece cómo se usa el SuperTrend cuando una entrada está a punto de desencadenarse
La diferencia entre estos dos modos es subjetiva. En el primer modo, obtenemos menos operaciones porque perdemos entradas debido al SuperTrend. En el segundo modo, obtenemos más operaciones ya que evitamos perder oportunidades por el SuperTrend. Lo que he observado en backtests es que perder operaciones conduce a menos pérdidas pero también menos ganancias. En el otro modo tenemos más operaciones, más ganancias y también más pérdidas. |
| Order Qty | Este parámetro solo se usa si la Quantity Strategy está configurada como Fixed. Este parámetro establece una cantidad fija para cada operación. En el caso de aumentar la cantidad de órdenes ejecutadas por el mecanismo de gestión de órdenes, este parámetro también se usa para cada aumento de cantidad. Generalmente, usaríamos los valores 1 o 2 para este parámetro |
| Volume Profile (Solo cuando el modo de entrada por Volume Profile está activado) | |
| Value Area % | Establecerá el porcentaje utilizado para calcular el Value Area de los perfiles. El value area es el área en la que ocurrió x% del volumen de trading. El valor estándar para esto es 68%, que representa el value area de una distribución normal. Pero puede establecerlo en otros valores, en cuyo caso el value area se calculará, en cada nuevo tick de precio, para mostrar los niveles de precio que representan % del volumen total del perfil. El value area es la zona alrededor del POC (Point of Control), que es el nivel de precio con el mayor volumen negociado |
| Vol Profile Opacity (1-100) | Establece la opacidad de dibujo del Volume Profile de 1 (transparente) a 100 (opaco) |
| Order Management | |
| Order Management Strategy |
|
| ATM Strategy Template Name |
Este parámetro está disponible cuando se selecciona el método de gestión de órdenes ATM Strategy. Este parámetro especifica qué ATM strategy usar. Como en el ejemplo de imagen anterior, el valor de este parámetro debe ser el nombre de plantilla de su ATM strategy personalizada. En el ejemplo debe ser igual a template1 Por supuesto puede elegir otro nombre, pero lo más importante es que el valor del parámetro corresponda a una "plantilla de ATM strategy" existente, de lo contrario no se abrirá ninguna posición |
| Scale out % Qty at % Target | Esta opción habilitará un mecanismo de scale out que consiste en cerrar un porcentaje de la cantidad de la posición cuando el precio alcanza un cierto porcentaje del objetivo de beneficio. El valor calculado se redondea al valor inferior si el porcentaje calculado es decimal. Por ejemplo, si la posición es de 5 contratos y el porcentaje de cantidad de este parámetro se establece en 50%, la cantidad cerrada será 2 (extremo inferior de 2,5) |
| Scale out at % Target | Este parámetro establece el porcentaje del objetivo de beneficio que desencadenará el mecanismo de scale out |
| Scale out % Qty | Este parámetro establece el porcentaje de la cantidad que se cerrará durante el mecanismo de scale out |
| Enable Price Breakeven | Este parámetro habilitará/deshabilitará el mecanismo de breakeven basado en precio |
| Price Breakeven Strategy | Este parámetro establece cómo debe calcularse el breakeven basado en precio
|
| Price Breakeven Trigger | Este parámetro está disponible si el breakeven basado en precio está activado. Establece el valor de activación en puntos o en porcentaje (valor de 1 a 100) que debe alcanzarse para establecer el Stop Loss de la posición actual en breakeven |
| StopLoss Strategy |
|
| Swing Period | Este parámetro está disponible si la estrategia de Stop Loss es Last Price Swing. Establece el período o el número mínimo de velas entre dos máximos más altos o mínimos más bajos sucesivos que definen los puntos de swing del precio |
| TakeProfit Strategy |
|
| TakeProfit Fibo Level | Este parámetro está disponible si la estrategia de Take Profit está configurada en Fibonacci Level. El valor de este parámetro debe ser el nivel Fibonacci calculado desde el borde superior de la zona para entradas alcistas y el borde inferior de la zona para entradas bajistas. Por ejemplo, un valor de 0,5 establecerá el Take Profit a la mitad de la altura de la zona por encima del borde superior de la zona |
| Win/Loss Ratio | Este parámetro está disponible si la estrategia de Take Profit está configurada en Custom Win Loss Ratio. Un valor de 2 significa un objetivo de ratio ganancia/pérdida de 2:1 |
| Target Risk Per Trade ($) | Establece el riesgo máximo en dólares para una posición.
|
| Max Allowed Risk Per ($) |
|
| Stop Loss Points | Este parámetro está disponible si la estrategia de Stop Loss está configurada en Points |
| Stoploss offset Points | Este parámetro añadirá un desplazamiento de puntos al nivel de Stop Loss calculado. Este desplazamiento se usará al calcular el riesgo por operación |
| Take Profit Currency | Establece el Take Profit en dólares para la posición abierta. Si utiliza Fixed Currency Value como estrategia de Take Profit, se usará el valor de este parámetro. Si no, asegúrese de establecer este parámetro en un valor alto para que no interfiera con otras estrategias basadas en ratio |
| Take Profit Points | Este parámetro está disponible si la estrategia de Take Profit está configurada en Points |
| Trailing Stop Parameters | |
| Trailing Stop Strategy | Cuando se selecciona el método Classic Trail Stop, este parámetro permite elegir sobre qué base se calculará el arrastre
|
| Trailing Stop Trigger | Cuando se selecciona el método Classic Trail Stop, este parámetro establece el disparador (en Puntos o en Ratio) |
| Trail Amount | Cuando se selecciona el método Classic Trail Stop, este parámetro establece la cantidad (en Puntos o en Ratio) a arrastrar cuando se alcanza el disparador |
| Supertrend | |
| SuperTrend Mode |
|
| Period | Establece el período del SuperTrend |
| Multiplier | Establece el multiplicador del SuperTrend. Cuanto mayor sea este parámetro, más amplias serán las bandas del SuperTrend |
| Moving Avg. Type | Selecciona el tipo de media móvil para el SuperTrend |
| Smooth | Establece el período de suavizado del SuperTrend |
| Command Buttons | |
| La estrategia permite ejecutar manualmente algunos comandos en caso de querer intervenir manualmente. Los botones de comando se añaden al panel Chart Trader; asegúrese de mostrarlo en su gráfico activo | |
![]() | |
| Arm/Disarm Buttons | Los botones Arm Long/Disabled Long y Arm Short/Disabled Short pueden activar o desactivar manualmente la entrada en operaciones largas o cortas. Por defecto, estos dos botones de alternancia están activados, lo que significa que la estrategia está preparada para entrar tanto en operaciones largas como cortas. Alternar el botón a desactivado restringirá a la estrategia entrar en una operación en la dirección desactivada. Esto puede ser útil si tiene un sesgo direccional o convicción sobre la dirección del mercado |
| Close Position Button | El botón Close Position cerrará inmediatamente la posición en el instrumento activo en el gráfico activo. Esto puede ser útil si quiere salir de una operación sin tener que afectar a la estrategia o reiniciarla. Después de cerrar la posición, la estrategia continuará funcionando normalmente y buscando nuevas operaciones |
| Increase Qty Button | El botón Increase Qty permite aumentar la cantidad de la posición activa actual en +1 contrato |
| Decrease Qty Button | El botón Decrease Qty permite reducir la cantidad de la posición activa actual en -1 contrato |
| Set Breakeven Button | Este botón establecerá el Stop Loss de la posición abierta al nivel de breakeven si el precio actual de Stop Loss es inferior al precio de breakeven para entradas largas y superior al precio de breakeven para entradas bajistas. |
Backtesting y Configuración Recomendada
Aquí intentaré listar periódicamente backtests con diferentes apetitos de riesgo. Pero antes, aquí hay algunas observaciones sobre el backtesting
- Los resultados pasados no garantizan resultados futuros. Todos los resultados de backtesting son meramente indicativos
- El período en el que se ejecutó el backtest no fue seleccionado artificialmente para mostrar los mejores resultados. El período de backtest es el mes anterior al primer lanzamiento de esta estrategia
- Las comisiones están incluidas en los backtests para obtener resultados lo más realistas posible. El esquema de comisiones utilizado corresponde a la licencia de por vida de NinjaTrader
- En automated-trading.ch realizamos backtests muy precisos gracias a los siguientes 2 factores
- Seguimos la guía oficial de NinjaTrader sobre cómo lograr un backtesting de granularidad intrabar preciso usando series de datos adicionales a nivel de tick Ver aquí para más información
- Solo utilizamos órdenes de mercado en lugar de órdenes pendientes, tanto en modo real-time como en modo backtest.
Esta plantilla lidera en rendimiento en el instrumento MES. Perfecta para cuentas de evaluación de 50k.
- Instrument MES
- Timeframe 1 Minute
- Period From 13 March 2024 to 24 April 2026
- Run Mode Backtest
- Total Profit 55 559 $
- Max Drawdown (-3 443) $
- Run Release Version 2.4.0.0
Righ-Click on the button -> Save Link As... into NinjaTrader templates folder ...\Documents\NinjaTrader 8\templates\Strategy\ATCHOpenRangeBreakoutStrategy
Esta plantilla es muy similar a la anterior. La única diferencia es que tiene una ratio ganancia/pérdida de 1:4. Esta plantilla mantiene el mismo drawdown que la anterior pero con un beneficio total mayor
- Instrument MES
- Timeframe 1 Minute
- Period From 13 March 2024 to 24 April 2026
- Run Mode Backtest
- Total Profit 59 459 $
- Max Drawdown (-3 443) $
- Run Release Version 2.4.0.0
Righ-Click on the button -> Save Link As... into NinjaTrader templates folder ...\Documents\NinjaTrader 8\templates\Strategy\ATCHOpenRangeBreakoutStrategy
Esta plantilla es más conservadora con una ratio ganancia/pérdida de 1:1
- Instrument MES
- Timeframe 1 Minute
- Period From 13 March 2024 to 24 April 2026
- Run Mode Backtest
- Total Profit 30 698 $
- Max Drawdown (-2 898) $
- Run Release Version 2.4.0.0
Righ-Click on the button -> Save Link As... into NinjaTrader templates folder ...\Documents\NinjaTrader 8\templates\Strategy\ATCHOpenRangeBreakoutStrategy
Esta plantilla es más conservadora con un riesgo de $300 por operación; puede usarse en paralelo con la plantilla MES anterior para diversificar el resultado
- Instrument MGC
- Timeframe 500 Volume
- Period From 28 March 2024 to 06 February 2026
- Run Mode Backtest
- Total Profit 14 286 $
- Max Drawdown (-2 937) $
- Run Release Version 2.3.0.0
Righ-Click on the button -> Save Link As... into NinjaTrader templates folder ...\Documents\NinjaTrader 8\templates\Strategy\ATCHOpenRangeBreakoutStrategy
Instrucciones de Descarga e Instalación
En automated-trading.ch puede elegir comprar una suscripción mensual para usar nuestros productos premium, o usar nuestros productos gratuitos sin suscribirse
En ambos casos, necesita crear una cuenta para obtener una Licencia que puede usar tanto para productos premium como gratuitos
Para obtener la licencia simplemente Regístrese y luego obtenga su licencia en la página de facturación
Esta estrategia Opening Range Breakout es una estrategia premium. Puede ejecutarse en modos Backtest, Playback y Optimización de forma gratuita. Se requiere una suscripción activa para ejecutarla en modo Live.
Para descargar e instalar la estrategia, siga las instrucciones a continuación
- Haga clic en el botón de descarga a continuación para descargar el archivo de la estrategia Opening Range Breakout
- Importe el archivo .zip descargado en NinjaTrader usando el elemento de menú de importación de NinjaScript
- A continuación, abra una nueva ventana de gráfico asegurándose de que la casilla Tick Replay esté marcada
- Si no ve la casilla Tick Replay, vaya a Tools->Options->Market Data y active Show Tick Replay
- Después de instalar la estrategia y abrir una nueva ventana de gráfico, debe añadir la estrategia al gráfico. Haga clic derecho en el gráfico y haga clic en la entrada del menú contextual "Strategies". O puede usar Ctrl+S en el gráfico para abrir el cuadro de diálogo "Add New Strategy"
- Después de añadir la estrategia al gráfico, la estrategia se ejecutará con los datos históricos cargados en el gráfico.
- Cuando la ejecución de datos históricos finalice, la estrategia cambiará al modo Real-Time y añadirá el panel de licencia al "Chart Trader Panel"
- Asegúrese de mostrar el panel Chart Trader en su gráfico activo de NinjaTrader
- Copie/Pegue su licencia en el cuadro de texto como se muestra en la imagen a continuación. Su licencia se puede encontrar en la página principal de facturación. Asegúrese de crear una cuenta o iniciar sesión primero
- Haga clic en el botón Check License
- En este paso la estrategia verificará la Licencia y activará/desactivará el trading según su estado de suscripción
- Si tiene una suscripción activa, verá que el botón "Check License" se vuelve verde y la fecha de próxima verificación junto a su email. La verificación de licencia solo es necesaria una vez, hasta la fecha de próxima verificación.
- En esta etapa, la estrategia está lista. Si su licencia es válida, la estrategia continuará ejecutándose en modo live
- Si elige no suscribirse todavía y quiere probar la estrategia de antemano, puede ejecutarla en modos Playback e Historical
Preguntas Frecuentes
General
Usar un VPS es recomendable pero no imprescindible. Ejecuto esta estrategia en una instancia VPS Windows de ~$6 en Hetzner. Consulte nuestra página de recursos para obtener un descuento a través de nuestro enlace de afiliado
¡Sí! Puede ejecutar múltiples instancias de esta estrategia en la misma cuenta, pero cada instancia debe ejecutarse en un instrumento único
No puede ejecutar múltiples instancias en la misma cuenta con el mismo instrumento porque, como sabe, NinjaTrader agregará las órdenes en una posición por instrumento por cuenta
¡Sí! Puede usar un copiador, pero una mejor solución sería ejecutar múltiples instancias de la estrategia. La licencia adquirida le permite ejecutar instancias ilimitadas en múltiples máquinas
¡Sí! La estrategia está diseñada exactamente para ese propósito. Funcionará perfectamente en Rithmic, brokerage de NinjaTrader, Tradovate o cualquier otro proveedor conectado a su plataforma NinjaTrader
Diseñé esta estrategia como una estrategia completamente automática. Sin embargo, también puede usarse como una estrategia semi-automática para entrar en operaciones y luego gestionar esas operaciones manualmente usando sus botones de comando
Debería considerar el trading totalmente automático sobre el manual por muchas razones:
- Trading 24/7: Las estrategias de trading automatizado no necesitan descansar ni tomar pausas
- Mejor ejecución, más rápida y precisa
- Elimina la psicología y las emociones
- Puede escalarse a docenas o incluso cientos de instancias
- El trading automatizado puede generar ingresos verdaderamente "pasivos"; el trading manual es simplemente otro trabajo "más estresante"
Sí, si tiene una idea que cree que puede mejorar el rendimiento de esta estrategia, estaré encantado de escucharle. Por favor, use la página de contacto para enviarme un mensaje
No, el código fuente de la estrategia está protegido por derechos de autor
Facturación
Sí, puede cancelar su suscripción desde la página de cuenta en cualquier momento para evitar pagos futuros. No podemos reembolsar la parte no utilizada de su suscripción, pero podrá usar su suscripción incluso después de cancelarla durante el resto del ciclo de facturación.
No, no ofrecemos un plan de suscripción de prueba. Pero puede descargar y probar la estrategia en modos backtest y playback antes de suscribirse
No ofrecemos reembolsos totales ni parciales, pero puede cancelar su suscripción en cualquier momento para detener pagos futuros.
Escépticos
Soy desarrollador de software profesional desde 2010. He estado desarrollando estrategias de trading automatizado desde 2012, para mí mismo por placer y beneficio, y también he desarrollado estrategias para clientes de todo el mundo
Siempre he estado involucrado profesionalmente en el ámbito de las finanzas y la inversión; he trabajado para brókers de trading y banca de inversión.
No soy un vendedor y no contrato a nadie más para desarrollar mis estrategias.
Esta estrategia ha sido rentable para mí a largo plazo con altibajos, especialmente cuando se ejecuta en múltiples instrumentos. Pero la pregunta sigue siendo pertinente, ¿por qué la vendo?
La respuesta es que no la vendo, la alquilo para generar un ingreso adicional y diversificar mis diferentes fuentes de ingresos además de lo que esta estrategia puede generar. Que es también lo que usted debería hacer. No debe depender de una sola fuente de ingresos para alcanzar la independencia financiera; la clave es la diversificación.
La ventaja de esta estrategia no desaparecerá si mucha gente comienza a usarla. Esta estrategia es puramente mecánica y no se basa en un patrón cuantitativo oculto que no deba divulgarse
Examinemos los pros y contras de las órdenes pendientes
- Pros:
- Mejor ejecución de precio cuando se usan órdenes limit
- Protección contra pérdidas en caso de problemas de conectividad
- Contras:
- Pueden ser rechazadas en alta volatilidad de precio
- Retraso entre la solicitud de colocación de la orden y cuando se coloca. La volatilidad del precio puede provocar el rechazo de la orden y que el precio se aleje
- Requieren gestión: cualquier orden opuesta necesita ser cancelada
- Visible para el bróker; las órdenes colocadas pueden ser manipuladas
Tras años de desarrollo de estrategias, he llegado a la conclusión de que las órdenes de mercado son más adecuadas para el contexto del trading automatizado.
El principal inconveniente de las órdenes pendientes es que pueden ser rechazadas, lo que es muy difícil de gestionar especialmente en un entorno volátil
En todas nuestras estrategias, usamos órdenes de mercado incluso para Take Profit y Stop Loss. Examinemos los pros y contras de las órdenes de mercado
- Pros:
- Garantía de ejecución independientemente de las condiciones de volatilidad
- Invisible para el bróker antes de ser enviadas
- Sin riesgo de ser rechazadas, lo que significa mejor protección para el Stop Loss
- Ejecución más rápida que las órdenes pendientes
- Contras:
- En caso de pérdida de conexión con el bróker, la estrategia no podrá enviar órdenes de mercado
Nota: Las órdenes MIT (market if touched) en NinjaTrader son una sólida alternativa a las órdenes pendientes si realmente desea usar órdenes pendientes
Seguimos la guía oficial de NinjaTrader sobre cómo lograr un backtesting de granularidad intrabar preciso usando series de datos adicionales a nivel de tick Ver aquí para más información
No se fíe de mi palabra. Pruébelo usted mismo: al final de cada día de trading, ejecute un backtest de la estrategia ese día y compárelo con las operaciones en vivo que la estrategia realizó durante el día.
Notas de la Versión
- Corrección de error: cuando el SuperTrend no está seleccionado como filtro de entrada, no se disparaban operaciones
- Corrección de error: el Stop Loss en la vela de ruptura tenía retraso
- Permitir la selección de la condición del color de la última vela del FVG
- Nuevo método de Stop Loss cuando FVG está activo: FVG Low/High
- Nuevo modo de entrada basado en VAL y VAH del Volume Profile
- Nuevos métodos de Stop Loss cuando la entrada por Volume Profile está activa: POC y nodo de menor volumen
- Procesamiento más rápido mediante caché de zonas en memoria
- Eliminada la condición de mecha de vela tocando el rango al abrir sin condición de FVG
- Añadido modo de precio de rango manual
- Añadido nuevo parámetro Supertrend filter mode
- Corregida la visualización de números de SL y TP en las líneas del gráfico, mostrando ahora en 2 decimales
- El tiempo de trading cambió de dos parámetros a un único parámetro que puede contener varios intervalos de tiempo de trading
- Eliminado filtro VWAP para acelerar los cálculos
- Eliminado método de gestión por Dollar cost averaging
- Añadida nueva estrategia de Stop Loss: Last Price Swing
- Añadido nuevo parámetro "Trade Previous Days Zone"
- Añadido nuevo parámetro "Enable/Disable ORB calculation Days"
- Añadido nuevo parámetro "SuperTrend Close Only Profitable"
- Eliminado parámetro "Enable Time Breakeven"
- Añadido nuevo parámetro "Swing Period"
- En los niveles de Stop Loss y Take Profit cuando se abre una operación, el SL y TP proyectados se muestran en $, junto a los precios de los niveles (función solicitada por el usuario)
- Nuevo método de breakeven añadido: SuperTrend. Cuando el precio toca el SuperTrend, se activa el breakeven de la operación (función solicitada por el usuario)
- Los parámetros Min. distance, Max. distance y Min. Range Height ahora están en Ticks en lugar de puntos para adaptarse a otros instrumentos con escala de puntos muy amplia (solicitado por el usuario)
- El dibujo de la zona ORB se coloca detrás de las velas en el gráfico para mayor claridad
- Nuevos métodos de Take Profit basados en niveles Fibonacci (función solicitada por el usuario)
- Nuevo método de Take Profit: ratio personalizada
- Corregido error cuando solo FVG está seleccionado como condición de entrada: se disparaba el segundo FVG en lugar del primero
- Corregido el tipo de MA del SuperTrend que tomaba otros valores distintos a HMA
- Añadida nueva estrategia de Stop Loss: Breakout candle
- Añadido nuevo parámetro de entrada: Min. Range Height (Points)
- Añadido nuevo parámetro de entrada: Max. Range Height (Points)
- Corrección de error de breakeven en operaciones cortas que cerraba posiciones
- Corregida la lógica de breakeven por precio cuando la estrategia de Take Profit está configurada como Fixed Value
- Añadida nueva estrategia de Stop Loss: SuperTrend
- Modificada la lógica de gestión de operaciones con SuperTrend: la operación no se cierra inmediatamente cuando la vela cierra por encima/debajo del nivel del SuperTrend, sino que el nivel de Stop Loss se establece un tick por encima/debajo de la vela que rompió el nivel del SuperTrend
- Corregido fallo en el cálculo del Opening Range en el Marco Temporal de 1 Minuto en modo backtest
- Añadidos más modos de Stop Loss: 300% y 400%
- Corregido el cálculo del Opening Range en marcos temporales superiores como 5 o 15 minutos
- Eliminado el parámetro Entry Mode y reemplazado por opciones separadas
- Añadidos Min. Distance From Range (Points) y Max. Distance From Range (Points)
- Añadido parámetro Reset Bias On Each Side
- Corrección de problemas de arrastre y soltado de SL y TP
- Corrección de error que afectaba al filtro VWAP en varias configuraciones de entrada
- Corrección de error que afectaba a las operaciones cortas en el modo de entrada "Immediate OnBar Close"
- Añadido VWAP como filtro de entrada
- Corrección de error que ocurre solo en Backtest: el beneficio neto de una posición cerrada no es correcto, lo que afecta al cálculo del límite de pérdida diaria
- Añadido el indicador SuperTrend como filtro de entrada y método de gestión de órdenes
- Añadido Enable/Disable Trading days
- Corrección de error: fallo al usar ATM Strategy cuando se activa el Stop Loss diario
- Corrección de error al usar ATM Strategy
- Corrección de error: captura de errores en el método OnRender para que la estrategia no falle sino que continúe incluso con errores de dibujo
- Añadido parámetro Range Offset
- Corregidos problemas con la configuración de los niveles de Take Profit y Stop Loss por arrastre y soltado
- Corregido un problema con el parámetro de tiempo de inicio
- Corregido el problema con los botones de comando que no funcionaban al cambiar de pestaña
- Añadido botón de comando para reducir cantidad
- El ajuste de breakeven toma en cuenta las comisiones
- El scale out no se aplica si la cantidad es 1
- Añadido nuevo parámetro: Start Trading From (hh:mm)
- Scale out tiene nuevos parámetros: Scale out at % Target y Scale out % Qty
- Corrección de error: el opening range no se calculaba en todo el intervalo
- Corrección de error: arrastrar y soltar las líneas de Take Profit y Stop Loss creaba un comportamiento inesperado
- Corrección de error: el uso de la zona horaria CET no funcionaba en máquinas configuradas en EST
- Añadidos más modos de entrada
- Corrección de error de fallo al inicio de una nueva sesión de mercado en modo live
- Añadida CET como nueva opción de zona horaria
- Resultados de backtest y plantillas actualizados
- Primer lanzamiento de la estrategia
Comentarios y Opiniones de Usuarios
Puede encontrar los comentarios de nuestros usuarios y hacer preguntas sobre este indicador uniéndose a nuestra comunidad de Discord a través de este enlace de invitación o haciendo clic en el logo de Discord. La membresía es completamente gratuita.
