Estrategia de detención dinámica de seguimiento SMA-ATR

El autor:¿ Qué pasa?, Fecha: 2024-02-06 10:06:29
Las etiquetas:

img

Resumen general

Esta estrategia es una estrategia de negociación a largo plazo que establece un stop loss dinámico basado en el Simple Moving Average (SMA) y el Average True Range (ATR).

Estrategia lógica

Entra largo cuando el precio de cierre cruza por encima de SMA 200 más ATR 14, cierra la posición cuando el precio de cierre cruza por debajo de SMA 200 menos ATR 14. La estrategia utiliza SMA 200 para determinar la dirección de la tendencia principal, y establece la línea de stop loss dinámicamente con ATR 14, realizando una stop loss dinámica. Específicamente, la señal de compra se activa cuando el precio de cierre rompe SMA 200 más ATR 14. Esta ruptura significa que el mercado actual se mantiene en tendencia alcista. La señal de stop loss se activa cuando el precio de cierre rompe SMA 200 menos ATR 14. Esta ruptura significa que se rompe la tendencia alcista.

Análisis de ventajas

Esta estrategia combina las ventajas de ambos indicadores SMA y ATR. SMA 200 filtra el ruido del mercado y bloquea en la dirección de la tendencia primaria. ATR 14 establece una línea de stop loss basada en la volatilidad de las últimas dos semanas, realizando una función de stop loss dinámica. Esto logra una rentabilidad sostenida dentro de la tendencia, al tiempo que también controla las reducciones de manera efectiva.

  1. Seguir las tendencias y controlar los riesgos conduce a una mayor relación beneficio/pérdida.

  2. Las reducciones controlables: el stop loss dinámico con ATR reduce el impacto de las perturbaciones esporádicas del mercado.

  3. Sólo dos parámetros equilibran los riesgos y los rendimientos, evitando el exceso de adaptación.

Análisis de riesgos

Algunos de los riesgos de esta estrategia deben ser:

  1. El riesgo de reversión de tendencia: la estrategia en sí misma no puede identificar la reversión de tendencia, lo que puede conducir a enormes pérdidas si aparece un cambio repentino de tendencia.

  2. El riesgo de retraso de la SMA tiene cierto efecto de retraso que no puede reflejar el cambio de tendencia al instante.

  3. Riesgo de los parámetros ATR: la configuración incorrecta de los parámetros ATR puede afectar el rendimiento de la estrategia.

Soluciones:

  1. Añadir otros indicadores para determinar la inversión de tendencia, por ejemplo, el MACD.
  2. Prueba diferentes combinaciones de parámetros para encontrar el equilibrio óptimo.

Direcciones de optimización

Esta estrategia puede optimizarse aún más en los siguientes aspectos:

  1. Prueba diferentes combinaciones de parámetros SMA y ATR para encontrar el óptimo.

  2. Añadir más indicadores técnicos para juzgar la reversión, por ejemplo MACD.

  3. Optimizar el mecanismo de stop loss con stop loss trasero, stop loss móvil, etc.

  4. Combine factores fundamentales para evitar comprar acciones con fundamentos débiles.

Conclusión

Esta estrategia integra el seguimiento de tendencias y métodos dinámicos de gestión de riesgos para optimizar el stop loss y obtener ganancias durante los períodos de retención largos. Cuenta con una alta relación ganancia/pérdida, reducciones controlables y un perfil de riesgo/rendimiento equilibrado. Pero también tiene algunos riesgos de inversión de tendencias y dificultad en la optimización de parámetros. En general, esta estrategia simple y efectiva proporciona una idea de trading a largo plazo digna de más pruebas y optimización para el trading cuantitativo.


/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA+ATR Strategie", overlay=true)

// Benutzer-Inputs für SMA, ATR und die Anzeigeoption
smaLength = input(200, title="SMA Länge")
atrLength = input(14, title="ATR Länge")
showSMAandATR = input(true, title="Zeige SMA und ATR-Bänder")

// Berechnung von SMA und ATR
sma = ta.sma(close, smaLength)
atr = ta.atr(atrLength)

// Kauf- und Verkaufslogik basierend auf SMA und ATR
buyCondition = close > sma + atr
sellCondition = close < sma - atr

// Variable zum Speichern des Eintrittspreises
var float entryPrice = na

// Kauf- und Verkaufssignale
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    entryPrice := close // Speichere den Eintrittspreis

if (sellCondition)
    // Nur wenn ein Kauf stattgefunden hat
    if not na(entryPrice)
        // Berechne die Performance seit dem Kaufsignal
        performanceSinceBuy = ((close - entryPrice) / entryPrice) * 100
        // Anzeigen der Performance
        // Wähle die Box-Farbe basierend auf dem Vorzeichen der Performance
        plColor = performanceSinceBuy >= 0 ? color.green : color.red
        // Anzeigen der Performance in der entsprechenden Farbe
        plBox = "P/L: " + str.tostring(performanceSinceBuy, "#.##") + "%"
        label.new(bar_index, high, text=plBox, color=plColor, textcolor=color.white, style=label.style_label_center, yloc=yloc.price)
        
    // Schließe den Trade und setze den Eintrittspreis zurück
    strategy.close("Buy")
    entryPrice := na

// Optionale Anzeige von SMA und ATR-Band
plot(showSMAandATR ? sma : na, color=color.blue, title="SMA 200")
plot(showSMAandATR ? sma + atr : na, color=color.green, title="SMA 200 + ATR")
plot(showSMAandATR ? sma - atr : na, color=color.red, title="SMA 200 - ATR")

Más.