Estrategia de beneficio direccional de control de riesgo ATR de cruce bidireccional SMMA

SMMA ATR TP SL
Fecha de creación: 2025-02-19 10:59:14 Última modificación: 2025-02-19 10:59:14
Copiar: 7 Número de Visitas: 389
1
Seguir
1617
Seguidores

Estrategia de beneficio direccional de control de riesgo ATR de cruce bidireccional SMMA

Descripción general

Esta es una estrategia de seguimiento de tendencias bidireccional basada en SMMA, que utiliza precios cruzados con SMMA para generar señales de hiperespacio y combina ATR con paros dinámicos y objetivos de ganancias fijas para administrar riesgos y ganancias. La estrategia está diseñada de manera sencilla y eficaz para seguir tendencias en diferentes períodos de tiempo.

Principio de estrategia

El núcleo de la estrategia es capturar los cambios de tendencia a través de 17 ciclos de SMMA cruzados con el precio. Cuando el precio cruza el SMMA, se abre una posición de ventaja; cuando el precio cruza el SMMA, se abre una posición de ventaja. La gestión de la salida utiliza un triple mecanismo: 1) un stop loss dinámico basado en ATR, establecido como 0.75 veces ATR por encima y por debajo del SMMA; 2) un objetivo de ganancias fijas, con una ventaja de 1150 puntos y una ventaja de 1500 puntos; 3) un equilibrio de señales de cruce inverso.

Ventajas estratégicas

  1. Sistema de señales estable y confiable: SMMA es más suave que la media móvil simple y reduce efectivamente las señales falsas
  2. Gestión integral de riesgos: combinación de stop loss dinámico ATR y objetivos de ganancias fijas, tanto para adaptarse a los cambios en la volatilidad del mercado como para asegurar ganancias razonables
  3. Negociaciones bidireccionales: aprovechar las oportunidades bidireccionales del mercado para mejorar la eficiencia de la utilización de los fondos
  4. Escalabilidad: marco estratégico claro y fácil de implementar en diferentes mercados y períodos de tiempo
  5. Las reglas de funcionamiento son claras: las condiciones de entrada y salida son objetivas, reduciendo la interferencia de los juicios subjetivos.

Riesgo estratégico

  1. Riesgo de mercado en turbulencia: las operaciones frecuentes en mercados en turbulencia pueden causar pérdidas
  2. Riesgo de deslizamiento: Objetivos de ganancias en puntos fijos pueden enfrentar deslizamientos en mercados rápidos
  3. Riesgo de reversión de la tendencia: el ATR puede no ser lo suficientemente rápido para detener los pérdidas cuando una tendencia fuerte se revuelve repentinamente
  4. Dependencia de parámetros: la elección de los ciclos SMMA y los múltiplos ATR tiene un mayor impacto en el rendimiento de la estrategia
  5. Riesgo de gestión de fondos: las posiciones en porcentajes fijos pueden no ser lo suficientemente flexibles para los cambios en la volatilidad

Dirección de optimización de la estrategia

  1. Introducción de un filtro de intensidad de tendencia: puede agregar indicadores como el ADX para filtrar tendencias fuertes y reducir las falsas señales de los mercados de temblor
  2. Objetivos de ganancias dinámicas: Considere el uso de ATR para ajustar dinámicamente los objetivos de ganancias para adaptarse mejor a las condiciones del mercado
  3. Mejorar la gestión de posiciones: introducir el cálculo de posiciones ponderadas por la volatilidad y optimizar la eficiencia de la utilización de los fondos
  4. Confirmación de períodos de tiempo múltiples: aumento de la confirmación de tendencias de períodos más largos, mejora de la calidad de las transacciones
  5. Adaptación al entorno de mercado: agregar lógica de juicio de tipo de mercado, ajustar parámetros de estrategia en diferentes condiciones de mercado

Resumir

Se trata de una estrategia de seguimiento de tendencias de diseño razonable, que capta la tendencia a través de SMMA, utiliza ATR para el control de riesgos y se combina con la gestión de los beneficios de los objetivos de beneficio fijo. La lógica de la estrategia es clara, la implementación es simple, y tiene una buena operabilidad y escalabilidad.

Código Fuente de la Estrategia
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-17 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMMA 17 Crossover Strategy (Long & Short, ATR SL & Fixed TP)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)

// 🚀 SMMA Calculation
smmaLength = 17
smma = 0.0
smma := na(smma[1]) ? ta.sma(close, smmaLength) : (smma[1] * (smmaLength - 1) + close) / smmaLength

// 📈 ATR Calculation (For Dynamic Stop-Loss)
atrLength = 14
atr = ta.rma(ta.tr(true), atrLength)

// 🔥 Long Entry Condition
longCondition = ta.crossover(close, smma)  // ✅ Price crosses above SMMA

// 🔄 Long Exit Condition
longExit = ta.crossunder(close, smma)  // ✅ Price crosses below SMMA

// 📉 ATR-Based Stop-Loss (Dynamic) for Long
longStopLoss = smma - (atr * 0.75)  // ✅ Stop Loss below SMMA

// 🏆 Fixed Take Profit for Long (1150 Points)
var float longEntryPrice = na
var float longTakeProfit = na
if longCondition
    longEntryPrice := close
    longTakeProfit := longEntryPrice + 1150  // ✅ TP 1150 points above entry

// 🔥 Short Entry Condition
shortCondition = ta.crossunder(close, smma)  // ✅ Price crosses BELOW SMMA (Short trade)

// 🔄 Short Exit Condition
shortExit = ta.crossover(close, smma)  // ✅ Price crosses ABOVE SMMA (Close Short trade)

// 📉 ATR-Based Stop-Loss (Dynamic) for Short
shortStopLoss = smma + (atr * 0.75)  // ✅ Stop Loss above SMMA

// 🏆 Fixed Take Profit for Short (1500 Points) - Updated from 2000
var float shortEntryPrice = na
var float shortTakeProfit = na
if shortCondition
    shortEntryPrice := close
    shortTakeProfit := shortEntryPrice - 1500  // ✅ TP 1500 points below entry (Updated)

// 📊 Plot SMMA (For Visualization)
plot(smma, title="SMMA (17)", color=color.blue)

// 🚀 Long Entry (Allow Multiple)
if longCondition
    strategy.entry("Long", strategy.long)

// 🛑 Long Exit Conditions (Whichever Comes First)
strategy.exit("Long TP/SL", from_entry="Long", stop=longStopLoss, limit=longTakeProfit)
if longExit
    strategy.close("Long")

// 🚀 Short Entry (Allow Multiple)
if shortCondition
    strategy.entry("Short", strategy.short)

// 🛑 Short Exit Conditions (Whichever Comes First)
strategy.exit("Short TP/SL", from_entry="Short", stop=shortStopLoss, limit=shortTakeProfit)
if shortExit
    strategy.close("Short")