Estrategia de cruce múltiple ATR de gestión dinámica de riesgos

ATR SMA JSON TP/SL TSL
Fecha de creación: 2025-07-17 15:45:10 Última modificación: 2025-07-17 15:45:10
Copiar: 0 Número de Visitas: 189
2
Seguir
319
Seguidores

Estrategia de cruce múltiple ATR de gestión dinámica de riesgos Estrategia de cruce múltiple ATR de gestión dinámica de riesgos

Descripción general

La estrategia ATR de gestión de riesgos dinámicos es un sistema de negociación cuantitativa basado en el cruce de la media móvil y la amplitud real promedio (ATR). La estrategia determina las señales de entrada mediante el cruce de las medias móviles simples (SMA) a corto y largo plazo, mientras que utiliza ATR para calcular dinámicamente los niveles de parada, parada y seguimiento de la parada para lograr la automatización y precisión de la gestión de riesgos. La estrategia está diseñada para cuentas con un capital inicial de \(25,000, con un objetivo de ganancias diarias de \)4,167 y para equilibrar el beneficio y el riesgo mediante el control dinámico de la posición.

Principio de estrategia

El principio central de la estrategia es la combinación de señales cruzadas de indicadores técnicos con un sistema de gestión de riesgos dinámico:

  1. Generación de señales de entrada:

    • Cuando un SMA de 14 ciclos atraviesa un SMA de 28 ciclos, se produce una señal múltiple.
    • Cuando el SMA de 14 ciclos penetra el SMA de 28 ciclos, se genera una señal de brecha
  2. Cálculo de los parámetros de riesgo dinámico:

    • Utilizando el ATR de 14 ciclos para calcular la volatilidad del mercado
    • Nivel de pérdida de liquidez = precio actual ± (ATR × 1,5 veces)
    • El nivel de parada = el precio actual ± (ATR × 3.0 veces)
    • Distancia de pérdida de seguimiento = ATR × 1.0 veces
  3. Mecanismo de salida:

    • Ejecución automática de la salida principalmente mediante el stop loss, la parada o el seguimiento del stop loss
    • Señales de salida auxiliares: posiciones cerradas opcionales cuando el precio cruza con el SMA de 10 ciclos
  4. Ejecución y notificación de transacciones:

    • Transmisión de señales y parámetros de transacción a través de mensajes de alerta en formato JSON
    • Incluye tipo de operación, tipo de transacción, cantidad, tipo de orden y parámetros de gestión de riesgos

Esta estrategia se centra especialmente en la relación riesgo-beneficio, con una relación beneficio-riesgo de 3: 1.5 (TP:SL), y sigue los principios de una buena gestión de riesgos.

Ventajas estratégicas

  1. Adaptabilidad al riesgo dinámico:

    • Ajuste dinámico de los niveles de stop loss y stop loss a través de ATR para que la estrategia se adapte a los cambios en la volatilidad del mercado
    • Amplía automáticamente la distancia de detención en entornos de alta volatilidad y estrecha la gama de detención en entornos de baja volatilidad
  2. Reglas claras de entrada y salida:

    • La señal de entrada clara basada en el cruce de la media móvil reduce el juicio subjetivo
    • El mecanismo de salida múltiple garantiza la protección de los beneficios y el control de los riesgos
  3. Un marco de gestión de riesgos completo:

    • Aplicaciones combinadas para detener, detener y rastrear pérdidas, protegiendo plenamente los fondos de transacción
    • Los parámetros de riesgo se pueden personalizar con variables de entrada para satisfacer diferentes preferencias de riesgo
  4. Alta automatización:

    • Sistema de alertas en formato JSON que se integra perfectamente con otras plataformas y herramientas de trading
    • Los parámetros de la política están envueltos en alertas para facilitar la ejecución automática o la conexión a la API
  5. Ayuda visual:

    • Trazar las medias móviles en un gráfico para proporcionar una referencia intuitiva de las señales de negociación
    • Ayuda a los operadores a entender la lógica de la estrategia y el estado del mercado

Riesgo estratégico

  1. Las falsas señales de los mercados:

    • En mercados horizontales o oscilantes, el cruce de las medias móviles puede generar falsas señales frecuentes
    • Método de mitigación: Considere agregar condiciones de filtración, como indicadores de confirmación de tendencia o filtros de fluctuación
  2. Sensibilidad de los parámetros ATR:

    • Las opciones de ATR con periodos de cálculo de 14 y multiplicadores de 1.5 / 3.0 / 1.0 tienen un impacto significativo en el rendimiento de la estrategia.
    • Métodos de mitigación: encontrar la configuración óptima mediante el retroceso de diferentes combinaciones de parámetros, o ajustar según las características de un mercado específico
  3. Riesgo de inversión de tendencia:

    • Los sistemas de medias móviles simples pueden reaccionar con retraso cuando una tendencia fuerte se invierte repentinamente.
    • Método de mitigación: Considere la integración de un indicador de vibración o un indicador de movimiento como una señal auxiliar
  4. El desafío de administrar el dinero:

    • El porcentaje de fondos en cuentas fijas (<10%) puede ser demasiado radical o conservador en diferentes condiciones de mercado
    • Método de mitigación: Porcentaje de tamaño de posición ajustado dinámicamente en función de la volatilidad y la ganancia
  5. Ejecutar el riesgo de deslizamiento:

    • La ejecución de órdenes de mercado puede enfrentar puntos de deslizamiento que afectan a los niveles reales de stop loss y stop-loss
    • Método de mitigación: negociar en períodos de alta liquidez y considerar la reserva de un punto de deslizamiento en el cálculo

Dirección de optimización de la estrategia

  1. Optimización de señales de entrada:

    • La integración de indicadores de confirmación adicionales, como el índice de fuerza relativa (RSI) o el indicador de dispersión de convergencia de las medias móviles (MACD)
    • Implementación: Se puede agregar un filtro condicional que requiere que las operaciones se ejecuten solo después de que se confirme la dirección de la tendencia principal
  2. Ajuste de los parámetros de adaptación:

    • Hacer que el ATR se multiplique en función de la volatilidad histórica o de los cambios dinámicos en el estado del mercado
    • Implementación: Se puede ajustar dinámicamente el multiplicador mediante el cálculo de la tasa de fluctuación (la comparación del ATR actual con el ATR histórico)
  3. Optimización de la gestión de posiciones:

    • El tamaño de la posición se ajusta dinámicamente en función de la ganancia y el riesgo en comparación con el rendimiento
    • Implementación: escribir una función para calcular el óptimo índice de Kelly (Kelly Criterion) o considerar el rendimiento de las transacciones recientes
  4. Ajuste de la política de las franjas horarias:

    • Ajuste de los parámetros de la estrategia en función de las características de la volatilidad en diferentes períodos de negociación
    • Implementación: añadir filtros de tiempo para aplicar diferentes multiplicadores ATR o reglas de filtración de señales en diferentes períodos de tiempo
  5. Análisis integrado de la estructura del mercado:

    • Añadir soporte y resistencia, análisis de los altos y bajos de la estructura del mercado
    • Realización: identificación de los niveles de precios clave y ejecución de las operaciones en la dirección correspondiente solo cuando el precio se acerca a un soporte o resistencia

Resumir

La estrategia ATR de gestión de riesgos dinámicos es un sistema de negociación cuantitativa que combina el análisis técnico clásico con la gestión de riesgos moderna. Su principal ventaja consiste en ajustar los parámetros de riesgo de forma dinámica a través de ATR, lo que permite que la estrategia se adapte a diferentes entornos de mercado. La estrategia es especialmente adecuada para mercados con volatilidad relativamente estable y tendencias evidentes, generando señales de negociación a través de una simple cruzamiento de medias móviles, al tiempo que asegura que cada transacción tenga parámetros de control de riesgo predefinidos.

A pesar de la existencia de riesgos como falsas señales de mercado y sensibilidad de los parámetros, la orientación de optimización propuesta en el párrafo anterior, como la integración de indicadores de confirmación adicionales, el ajuste de parámetros de adaptación y la optimización de la gestión de posiciones, puede mejorar significativamente la estabilidad y la adaptabilidad de la estrategia. Finalmente, la estrategia ofrece un marco de negociación que equilibra la sencillez y la eficacia, que se adapta al modelo básico de negociación sistematizada y que se puede personalizar y optimizar aún más según las necesidades personales y las características del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2024-07-17 00:00:00
end: 2025-07-15 08:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":200000}]
*/

//@version=5
strategy("MYM Strategy for TradersPost", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Inputs ===
atrLength      = input.int(14, "ATR Length")
slMultiplier   = input.float(1.5, "Stop Loss Multiplier")
tpMultiplier   = input.float(3.0, "Take Profit Multiplier")
tsMultiplier   = input.float(1.0, "Trailing Stop Multiplier")

// === ATR Calculation ===
atr = ta.atr(atrLength)
stopPts = atr * slMultiplier
takePts = atr * tpMultiplier
trailPts = atr * tsMultiplier

// === Example Entry Logic (crossover example) ===
shortSMA = ta.sma(close, 14)
longSMA = ta.sma(close, 28)

longCondition  = ta.crossover(shortSMA, longSMA)
shortCondition = ta.crossunder(shortSMA, longSMA)

// === Example Exit Condition (optional close signal) ===
exitCondition  = ta.cross(close, ta.sma(close, 10))

// === Entry & Alerts ===
if (longCondition)
    // Build JSON message
    stopVal = str.tostring(close - stopPts)
    tpVal   = str.tostring(close + takePts)
    trailVal = str.tostring(trailPts)
    longMessage = '{"action":"buy","symbol":"MYM","quantity":1,"order_type":"market","stop_loss":' + stopVal + ',"take_profit":' + tpVal + ',"trailing_stop":' + trailVal + ',"comment":"MYM Long Entry"}'
    alert(longMessage, alert.freq_once_per_bar_close)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    stopVal = str.tostring(close + stopPts)
    tpVal   = str.tostring(close - takePts)
    trailVal = str.tostring(trailPts)
    shortMessage = '{"action":"sell","symbol":"MYM","quantity":1,"order_type":"market","stop_loss":' + stopVal + ',"take_profit":' + tpVal + ',"trailing_stop":' + trailVal + ',"comment":"MYM Short Entry"}'
    alert(shortMessage, alert.freq_once_per_bar_close)
    strategy.entry("Short", strategy.short)

// === Optional Close Alert ===
if (exitCondition)
    closeMessage = '{"action":"close_position","ticker":"MYM","comment":"MYM Close Position"}'
    alert(closeMessage, alert.freq_once_per_bar_close)
    strategy.close_all(comment="Exit Signal")

// === Visual aids ===
plot(shortSMA, color=color.orange)
plot(longSMA, color=color.blue)