Harmonics XABCD Strategy

Creado 12 jul. 2025 · Actualizado 12 jul. 2025

La Estrategia Harmonics XABCD es una estrategia mecánica Premium para la plataforma NinjaTrader 8. La estrategia se puede utilizar para pasar programas de financiación de traders.

Requisitos Previos

Para usar correctamente esta estrategia, debes tener disponibles los siguientes requisitos previos.


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.

Esta estrategia se basa en entrar en operaciones siguiendo patrones armónicos XABCD. Estos patrones se definen por puntos de swing generalmente nombrados X, A, B, C, y D, que definen piernas sobre las cuales se pueden calcular relaciones — por ejemplo, la relación AB/XA, obtenida dividiendo el retroceso de la pierna AB por el movimiento inicial de la pierna XA. Cuando cada pierna respeta un conjunto de reglas de relación específicas, el patrón se reconoce.

Si deseas aprender más sobre patrones armónicos XABCD, mira la página del indicador Harmonics XABCD.

Ejemplos de Configuración de Entrada

Los siguientes ejemplos se seleccionaron cuidadosamente para mostrar escenarios de mejor caso donde el motor de reconocimiento detecta patrones válidos. En el trading en tiempo real, un patrón detectado no siempre conducirá a una operación ganadora — esa es la realidad del trading, donde el objetivo es la rentabilidad a largo plazo en lugar de una ganancia garantizada en cada señal. Todos los ejemplos a continuación se toman en el instrumento MES en el marco de tiempo de 1 minuto.

Ejemplo #1: Mariposa Alcista

La estrategia reconoció un patrón de mariposa alcista. Una barra después de que se detectó el patrón, la estrategia entró en una operación larga apuntando a 1.5x la distancia del stop (el precio del swing D del patrón), lo que resultó en una operación ganadora. En este ejemplo, la estrategia está configurada para entrar inmediatamente en el cierre de barra, sin esperar una barra de confirmación.

Bullish Butterfly harmonic pattern example
Haz clic para ampliar
Ejemplo #2: Patrones Mariposa Superpuestos

Este ejemplo muestra un aspecto de la estrategia que ocurre a menudo: patrones superpuestos. Se detectaron dos patrones de mariposa uno encima del otro — en este caso la estrategia entra en el primer patrón válido.

Overlapping Butterfly patterns example
Haz clic para ampliar
Ejemplo #3: Gartley Alcista Siguiendo la Tendencia

El patrón armónico Gartley XABCD es un patrón que sigue la tendencia. Se tomaron dos operaciones consecutivas de dos patrones Gartley alineados con la tendencia.

Bullish Gartley harmonic pattern example
Haz clic para ampliar
Ejemplo #4: Pérdida Evitada Con el Filtro de Tendencia

Este ejemplo ilustra el filtro de tendencia evitando operaciones contrarias a la tendencia. El filtro analiza puntos de swing para determinar la dirección prevaleciente — una secuencia hacia arriba de puntos de swing restringe la estrategia solo a entradas largas, lo que evitó dos operaciones cortas perdedoras en este gráfico que de otro modo se habrían desencadenado de patrones Gartley válidos contra la tendencia.

Trend filter avoiding counter-trend trades
Haz clic para ampliar

Características

La estrategia Harmonics XABCD tiene un conjunto de características únicas:

  • Implementación robusta desarrollada internamente del algoritmo de reconocimiento de patrones armónicos XABCD
  • No se colocan órdenes pendientes — solo órdenes de mercado, lo que no produce órdenes rechazadas o parcialmente rellenadas
  • Estrategia totalmente automática que puede escalarse en instancias ilimitadas con una sola licencia
  • Capacidades precisas de backtesting siguiendo las mejores prácticas oficiales de NinjaTrader, logrando backtesting de entrada/salida precisos a nivel de tick
  • Una biblioteca robusta de gestión de órdenes desarrollada internamente, resistente a pérdidas de conexión, que funciona sin problemas en cuentas Rithmic o Tradovate
  • Botones de comando en el gráfico para administrar posiciones manualmente cuando sea necesario
  • Una estrategia muy ligera que puede ejecutarse en múltiples instancias incluso en una VPS de baja potencia
Cantidad Dinámica y Gestión de Riesgos

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

  • Cantidad Fija: utiliza la misma cantidad para cada posición. Si el stop loss varía entre posiciones, los montos de ganancia/pérdida también variarán.
  • Cantidad Dinámicamente Ajustada al Riesgo: calcula la cantidad de cada posición a partir de su stop loss, el riesgo máximo (en $) permitido por posición, y la cantidad máxima permitida — produciendo montos de ganancia/pérdida iguales en todas las posiciones independientemente del ancho del stop loss.
Gestión de Posición

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

  • Estrategia ATM: delega completamente la gestión de posición a tu propia estrategia ATM, seleccionada de un desplegable.
  • Trailing Stop Clásico: hace trailing del stop loss basado en un disparador y un monto de trailing.

La estrategia también permite establecer el stop loss basado en múltiples estrategias y la ganancia basada en una relación — ver la sección Parámetros para detalles.

Gestión de Cuenta

La estrategia implementa disparadores de parada de trading diarios basados en el conteo neto de posiciones ganadoras, el conteo neto de posiciones perdedoras, o una ganancia neta realizada objetivo o pérdida neta.

Parámetros

Intentamos 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 modos Historical, Backtest u Optimization — útil para probar el rendimiento en días pasados, pero debe estar desactivado cuando se ejecuta Live.
Daily TakeProfit TargetLa estrategia se detiene por el día una vez que se alcanza esta cantidad de ganancia diaria. Se ignora cuando está establecido en 0.
Daily StopLoss LimitLa estrategia se detiene por el día una vez que se alcanza el límite de pérdida diaria (valor positivo — por ejemplo, 300 detiene el trading una vez que el PnL realizado ≤ -$300). Se ignora cuando está establecido en 0.
Stop @ Winning CountDetiene el trading por el día una vez que el conteo de operaciones ganadoras neto alcanza este valor. Se ignora cuando está establecido en 0.
Stop @ Losing CountDetiene el trading por el día una vez que el conteo de operaciones perdedoras neto alcanza este valor. Se ignora cuando está establecido en 0.
Execute on Different InstrumentEjecuta operaciones en un instrumento diferente al del gráfico activo — por ejemplo, ejecutar lógica en Minis pero ejecutar en Micros. Todo el cálculo de riesgo ocurre 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 NinjaTrader como el instrumento en el que se ejecutan las operaciones. Las operaciones no se dibujarán en el gráfico en este caso.
Order LabelUna etiqueta sufijada a cada posición enviada al corretaje, útil para diferenciar tus órdenes de otros usuarios de la misma estrategia.
Enable/Disable Trading Days Restringe el trading en ciertos días de la semana.
  • Trade Mondays: habilita el trading en lunes y domingo por la noche cuando los mercados de futuros abren
  • Trade Tuesdays, Wednesdays, Thursdays, Fridays: lo mismo, por día de la semana
XABCD Harmonics
Swing PeriodEstablece cuántas barras deben separar dos swings del mismo tipo antes de que un nuevo swing invalide el anterior. Aumentar este parámetro reduce el número general de swings detectados; disminuirlo los aumenta. Tiene un impacto significativo en la calidad del patrón — más swings significan más patrones, y viceversa.
Show Price SwingsHabilita/deshabilita el dibujo de una marca debajo/encima de los puntos de precio de swing — útil para ver cómo se analiza la estructura del mercado, ya que los puntos de swing son los bloques de construcción del algoritmo de reconocimiento de patrones.
Swing Bullish Color / Swing Bearish ColorEstablece el pincel de color utilizado para puntos de swing bajo (alcista) y alto (bajista).
Swing Opacity (1-100)Opacidad del dibujo de puntos de swing — 1 es transparente, 100 es completamente opaco.
Enable Gartley / Enable Bat / Enable Crab / Enable Butterfly / Enable Shark / Enable CypherHabilita/deshabilita el trading de cada patrón armónico específico.
Gartley/Bat/Crab/Butterfly/Shark/Cypher Ratio Tolerance %Establece la tolerancia, en porcentaje, aplicada a las reglas de relación de pierna de cada patrón — por ejemplo, con una tolerancia del 10%, una relación de pierna que debería rondar 0.368 puede oscilar entre 0.368 - 10% y 0.368 + 10%.
Entry Setup
Time Zone La zona horaria utilizada para el parámetro Trade Time a continuación. Los mercados de futuros operan en hora del Este de EE.UU. (EST), por lo que esto te permite especificar el intervalo de trading relativo a tu propia zona horaria de máquina en su lugar.
  • EST, CET, o Local Time
Trade Time (hh:mm-hh:mm,...)Secuencia de intervalos de tiempo durante los cuales la estrategia está permitida colocar operaciones — por ejemplo, 09:30-16:15 para horas de trading regular en EST. Se pueden enumerar múltiples intervalos en orden creciente, por ejemplo "00:01-08:00,09:55-15:55,18:01-23:59" para cubrir horas extendidas con un espacio alrededor de un período volátil, cortado a medianoche para evitar problemas de rollover de 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 está seleccionado Risk Adjusted — útil ya que algunas propfirms imponen límites de cantidad de orden que pueden invalidar una cuenta.
Entry Mode El disparador utilizado para entrar en una operación una vez que se reconoce y valida un patrón XABCD.
  • Immediate on Bar Close: entra en una operación tan pronto como el patrón se confirma en el siguiente cierre de barra
  • Wait For Bar Confirmation: espera una barra de confirmación — una barra alcista cerrando por encima del máximo de su barra anterior para una entrada larga, o una barra bajista cerrando por debajo del mínimo de su barra anterior para una entrada corta
SuperTrend Entry FilterRestringe entradas largas a cuando SuperTrend es alcista y entradas cortas a cuando es bajista.
Swing Trend Entry FilterFiltra entradas comparando el primer punto de swing del patrón XABCD con el swing de precio anterior — una entrada alcista requiere que el swing anterior esté por debajo del patrón (continuación de una tendencia alcista), y una entrada bajista requiere que esté por encima.
Order QtySe utiliza solo cuando Quantity Strategy es Fixed — la cantidad fija por operación.
Order Management
Order Management Strategy
  • ATM Strategy: delega completamente la gestión de posición a una plantilla de estrategia ATM de NinjaTrader de tu elección
  • Classic Trail Stop: hace trailing del stop loss basado en un disparador y un monto de trailing (ver Trailing Stop Parameters a continuación)
  • None: el stop loss definido por Target Risk Per Trade ($) se utiliza en su lugar
ATM Strategy Template NameSolo se utiliza con el método de gestión de órdenes ATM Strategy — el nombre exacto de la plantilla de tu estrategia ATM personalizada. Debe coincidir con una plantilla existente, o no se abrirá ninguna posición.
Scale out % Qty at % TargetCierra un porcentaje de la cantidad de la posición una vez que el precio alcanza un porcentaje del objetivo de ganancia (redondeado hacia abajo cuando es fraccionario — por ejemplo, el 50% de una posición de 5 contratos cierra 2 contratos).
Scale out at % TargetEl porcentaje del objetivo de ganancia que dispara el mecanismo de scale-out.
Scale out % QtyEl porcentaje de la cantidad cerrada por el mecanismo de scale-out.
Enable Price BreakevenHabilita/deshabilita el mecanismo de breakeven basado en precio.
Breakeven Price Strategy
  • Points: breakeven se dispara basado en puntos
  • Percentage: breakeven se dispara basado en el porcentaje de ganancia alcanzado
Breakeven Price TriggerDisponible si el breakeven basado en precio está habilitado — el valor de disparador necesario para mover el stop loss al equilibrio.
StopLoss Strategy
  • Pattern Defined: derivado de la estructura del patrón XABCD en sí
  • Last Swing: el swing alto más reciente (corto) o swing bajo (largo)
  • Fixed Currency Value: solo Target Risk Per Trade ($) se utiliza
  • Points: un número fijo de puntos desde la entrada
TakeProfit Strategy
  • Fixed Currency Value: basado en Take Profit Currency
  • Points: un número fijo de puntos desde la entrada
  • Pattern Extreme: el punto extremo opuesto del patrón desde el precio de entrada (generalmente punto A o C, dependiendo del patrón)
  • Relaciones de ganancia/pérdida fijas: 0.5:1 hasta 6:1
Target Risk Per Trade ($)Riesgo máximo, en dólares, por posición — utilizado 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 utiliza con cantidad Risk Adjusted — controla cuánto el riesgo calculado real puede desviarse del Target Risk (ya que una coincidencia exacta es raramente posible).
Stop Loss Points / Take Profit PointsDisponible cuando la estrategia respectiva está establecida en Points.
Stoploss offset PointsAgrega un desplazamiento, en puntos, al nivel de stop loss calculado — utilizado cuando se calcula el riesgo por operación.
Take Profit CurrencyEl monto de ganancia en dólares, utilizado cuando está seleccionada la estrategia Fixed Currency Value.
Trailing Stop Parameters
Trailing Stop Strategy
  • Points: disparador y monto de trailing calculados en puntos desde entrada
  • Ratio: calculado como una relación del valor del stop loss, espejado en el lado ganador
Trailing Stop TriggerEl disparador (en puntos o relación) para el método Classic Trail Stop.
Trail AmountEl monto (en puntos o relación) que hace trailing una vez que se alcanza el disparador.
Super Trend
Visible solo cuando el parámetro SuperTrend Entry Filter está habilitado.
SuperTrend ModeBasado en ATR, o Adaptable (basado en cierre/máximo/mínimo de vela).
Period / Multiplier / Moving Avg. Type / SmoothParámetros de cálculo SuperTrend estándar — período, multiplicador de banda, tipo de promedio móvil, y período de suavizado.
Command Buttons
La estrategia expone botones de comando manual en el panel Chart Trader — asegúrate de que esté mostrado en tu gráfico activo.
Arm/Disarm ButtonsHabilita/deshabilita manualmente el ingreso 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 por ±1 contrato.
Set Breakeven ButtonMueve el stop loss de la posición abierta al equilibrio, 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 están incluidas, utilizando el esquema de comisión de licencia Lifetime de NinjaTrader, para resultados realistas.
  • Seguimos la guía oficial de NinjaTrader para backtesting preciso con granularidad intrabar utilizando series de datos adicionales a nivel de tick, y solo usamos órdenes de mercado — nunca órdenes pendientes — tanto en modos en tiempo real como en 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.0.0.1 · Publicado hace 1 año
Este archivo ha sido descargado 209 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 Tick Replay esté marcada (si no la ves, ve a Tools → Options → Market Data y habilita Show Tick Replay).
3
Haz clic derecho en el gráfico y elige Strategies (o presiona Ctrl+S) para abrir el cuadro de diálogo Agregar Nueva Estrategia, y asegúrate de que la casilla Enabled esté marcada.
4
Después de agregar la estrategia, se ejecuta primero en los datos históricos del gráfico, luego cambia al modo Real-Time y agrega un cuadro de texto de licencia al panel Chart Trader — asegúrate de que ese panel se muestre.
5
Pega tu licencia (encontrada en la página de facturación) en el cuadro de texto y haz clic en Check License.
6
Una vez verificado, el botón "Check License" se vuelve verde junto con la siguiente fecha de verificación — esto solo necesita repetirse después de esa fecha.
7
Sin una suscripción activa, la estrategia aún se puede ejecutar 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

  • 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.0.0.1
Última Actualización hace 1 año
Descargas 209