
El sistema de comercio cruzado acelerado de HMA es una estrategia integral de seguimiento de tendencias que combina una media móvil de Hull (Hull Moving Average, HMA) cruzada, un filtro de movimiento de curvatura y un mecanismo de gestión de riesgos basado en el rango real promedio (Average True Range, ATR). La estrategia determina la dirección de la tendencia del mercado mediante el cruce de HMA rápidos y lentos, mientras que utiliza el indicador de curvatura para seleccionar señales con suficiente movimiento y utiliza la dinámica ATR para establecer paros y posiciones de pérdida, lo que permite una mayor o menor efectividad en la volatilidad del mercado.
El principio central de la estrategia se desarrolla alrededor de tres componentes clave:
Sistema de señales cruzadas HMA:
Filtros de movimiento de curvatura:
Un marco de gestión de riesgos basado en ATR:
La lógica de ejecución de la operación es clara: cuando el HMA rápido atraviesa el HMA lento y la curvatura es positiva, abre más posiciones; cuando el HMA rápido atraviesa el HMA lento y la curvatura es negativa, abre posiciones vacías. La estrategia de salida utiliza un stop loss de seguimiento basado en ATR, que se ajusta en función de la posición de stop loss y bloquea las ganancias a medida que el precio se mueve en la dirección favorable.
La adaptabilidadLa HMA es sensible a los cambios de precio y la estrategia en su conjunto puede ajustar automáticamente la distancia de parada y el tamaño de la posición en función de la volatilidad del mercado, lo que le permite mantener un rendimiento relativamente consistente en diferentes entornos de mercado.
Filtración de alta calidadA través de la aplicación de indicadores de curvatura, la estrategia es capaz de identificar y filtrar señales de poca dinámica, entrando en juego solo cuando la tendencia tiene suficiente aceleración, lo que reduce significativamente las falsas rupturas y las transacciones no válidas.
Estricto control de riesgosEl sistema de gestión de riesgos basado en ATR asegura que el riesgo de cada transacción se mantenga siempre en el nivel predeterminado y que no se sufran pérdidas excesivas por una sola transacción, independientemente de la intensidad de la volatilidad del mercado.
Gestión de posiciones dinámicasEstrategia: Calcula posiciones óptimas en función de la volatilidad del mercado actual y la dinámica de los fondos de la cuenta, reduce automáticamente las posiciones cuando la volatilidad es alta y aumenta moderadamente las posiciones cuando la volatilidad es baja, logrando un equilibrio entre la eficiencia de los fondos y el control del riesgo.
Un marco de transacciones completoLa estrategia ofrece un sistema de negociación completo desde la generación de señales, condiciones de entrada, cálculo de posiciones hasta la gestión de stop loss, sin necesidad de complementar otros módulos.
Capacidad de negociación bidireccional: Apoya el comercio de divisas y de divisas, y busca oportunidades de ganancias en diversas tendencias del mercado, sin limitarse a una sola dirección.
El mercado de la conmoción no ha funcionado bienComo una estrategia de seguimiento de tendencias, en un entorno de mercado horizontal o con frecuentes fluctuaciones, se pueden producir pequeñas pérdidas continuas, conocidas como “lavado de hojas”. La solución es agregar un módulo de identificación de estado de mercado, suspender la negociación o ajustar los parámetros cuando se identifica un mercado convulso.
Sensibilidad de los parámetrosEl rendimiento de la estrategia es sensible a la configuración de parámetros como el ciclo HMA, el umbral de la curvatura y el multiplicador ATR. La elección incorrecta de los parámetros puede conducir a una sobrecomercialización o perder una tendencia importante. Se recomienda optimizar los parámetros mediante la retroalimentación en diferentes entornos de mercado o considerar la posibilidad de implementar un mecanismo de adaptación de los parámetros.
Punto de deslizamiento y riesgo de liquidezEn un mercado con gran volatilidad, el precio de ejecución real puede estar muy alejado del precio de la señal. En particular, para las variedades con poca liquidez, este deslizamiento puede afectar significativamente el rendimiento de la estrategia. Se recomienda considerar el factor deslizamiento en la retroevaluación y tener en cuenta la elección de variedades de operaciones con suficiente liquidez en el inventario real.
Puerta de riesgo sistémicoLa estrategia puede tener una posición más grande en un entorno de tendencia fuerte, y si el mercado se invierte repentinamente (por ejemplo, un gran impacto de noticias), el seguimiento de los paros puede ser incapaz de proteger los fondos a tiempo. Se puede considerar el establecimiento de un límite de parada absoluto o la introducción de un mecanismo de detección de cambios en la volatilidad como protección adicional.
Filtración de la curvatura es demasiado rigurosaSi se establece un umbral de curvatura demasiado alto, se puede perder la tendencia inicial, y si se establece demasiado bajo, se puede introducir demasiada señal de ruido. Se debe encontrar un punto de equilibrio en la retroalimentación o considerar ajustar el umbral según la dinámica de la situación del mercado.
Confirmación del marco temporal múltiple:
Término de la curva de adaptación:
Introducción de la confirmación de las entregas:
Gestión inteligente de pérdidas:
Añadir análisis de la curvatura de la diferencia HMA:
Optimización de las estrategias de gestión de fondos:
El sistema de comercio cruzado acelerado HMA es una estrategia de seguimiento de tendencias bien diseñada que combina el cruce HMA, la filtración de la curvatura dinámica y la gestión del riesgo ATR para construir un marco de comercio completo y poderoso. La ventaja central de la estrategia reside en su adaptabilidad y control de riesgo completo, que permite proteger los fondos de negociación al mismo tiempo que captura las tendencias del mercado.
La estrategia es especialmente adecuada para mercados con características de tendencia evidentes, pero puede ser un desafío en mercados convulsivos. Se espera que el rendimiento de la estrategia mejore aún más mediante la implementación de medidas de optimización recomendadas, especialmente la confirmación de parámetros de multi-marco de tiempo y el ajuste de parámetros de adaptación. Para los operadores cuantitativos, se trata de un sistema con una base sólida que puede aplicarse de forma directa o como punto de partida para la construcción de estrategias de negociación más complejas.
Cabe señalar que cualquier estrategia de negociación requiere una verificación exhaustiva de la retroalimentación histórica y la simulación de operaciones, y ajuste de los parámetros según las características específicas del mercado y las preferencias de riesgo personales. La estrategia ofrece un marco equilibrado de análisis técnico, teoría de la dinámica y gestión del riesgo, pero la aplicación exitosa aún requiere un ajuste cuidadoso y un monitoreo continuo por parte del comerciante.
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=6
strategy("HMA Crossover + ATR + Curvature (Long & Short)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs ===
fastLength = input.int(15, title="Fast HMA Period")
slowLength = input.int(34, title="Slow HMA Period")
atrLength = input.int(14, title="ATR Period")
riskPercent = input.float(1.0, minval=0.1, maxval=10, title="Risk per Trade (%)")
atrMult = input.float(1.5, title="Stop Loss ATR Multiplier")
trailMult = input.float(1.0, title="Trailing Stop ATR Multiplier")
curvThresh = input.float(0.0, step=0.01, title="Curvature Threshold (Min Acceleration)")
// === Calculations ===
fastHMA = ta.hma(close, fastLength)
slowHMA = ta.hma(close, slowLength)
atr = ta.atr(atrLength)
// Curvature: approximate second derivative (acceleration)
curv = ta.change(ta.change(fastHMA))
// Entry Conditions
bullish = ta.crossover(fastHMA, slowHMA) and curv > curvThresh
bearish = ta.crossunder(fastHMA, slowHMA) and curv < -curvThresh
// Risk Management
stopLoss = atr * atrMult
trailStop = atr * trailMult
capital = strategy.equity
riskCapital = capital * (riskPercent / 100)
qty = riskCapital / stopLoss
// === Strategy Logic ===
if (bullish)
strategy.entry("Long", strategy.long, qty=qty)
strategy.exit("Long Trail Stop", from_entry="Long", trail_points=trailStop, trail_offset=trailStop)
if (bearish)
strategy.entry("Short", strategy.short, qty=qty)
strategy.exit("Short Trail Stop", from_entry="Short", trail_points=trailStop, trail_offset=trailStop)
plotshape(bullish, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(bearish, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")