Estrategia de stop loss dinámico con múltiples indicadores basada en la confirmación de la tendencia

SMA MACD ADX Swing Low
Fecha de creación: 2025-02-20 11:19:58 Última modificación: 2025-02-20 11:19:58
Copiar: 2 Número de Visitas: 323
2
Seguir
319
Seguidores

Estrategia de stop loss dinámico con múltiples indicadores basada en la confirmación de la tendencia Estrategia de stop loss dinámico con múltiples indicadores basada en la confirmación de la tendencia

Descripción general

Se trata de una estrategia de seguimiento de tendencias que combina varios indicadores técnicos, principalmente mediante la combinación de tres indicadores: SMA, MACD y ADX, que se negocian a nivel de la línea de la semana. La estrategia utiliza un mecanismo de stop loss dinámico para optimizar la gestión del riesgo y lograr un control de posición más preciso mediante la identificación de los puntos bajos de oscilación.

Principio de estrategia

La lógica central de la estrategia se basa en un mecanismo de triple verificación:

  1. Para determinar la dirección de la tendencia general a través del SMA 30 (), el precio por encima de la línea media representa una tendencia alcista.
  2. Utiliza MACD ((9,18,9) para capturar la dinámica de precios, requiere que la línea MACD esté por encima de la línea de señal y sea positiva
  3. Con el ADX ((14) se confirma la intensidad de la tendencia, ADX mayor a 25 indica que la tendencia es suficiente
  4. Hacer más cuando se cumplen las tres condiciones
  5. Establecer un stop loss dinámico mediante la identificación de los mínimos secundarios y liquidar las posiciones cuando el precio cae por debajo de la SMA

Ventajas estratégicas

  1. La verificación cruzada de múltiples indicadores reduce significativamente el impacto de las señales falsas
  2. El uso de operaciones a nivel de la línea de circunvalación para evitar la interferencia de las fluctuaciones en el día
  3. Mecanismo de parada dinámica, que se adapta al punto de parada al moverse por los puntos bajos
  4. ADX filtra tendencias débiles para mejorar la calidad de las transacciones
  5. Gestión integral de riesgos, incluida la doble protección de reversión de tendencia y de parada de pérdidas

Riesgo estratégico

  1. Las múltiples señales pueden causar un retraso en la señal y perder oportunidades en el rápido movimiento.
  2. Las operaciones a nivel de circunferencia podrían enfrentarse a una mayor retirada
  3. Identificación de los puntos bajos de oscilación que pueden ser inestables en situaciones de fluctuaciones extremas
  4. Se necesita más tiempo para acumular suficientes datos de precios
  5. Las señales falsas pueden ser frecuentes en mercados convulsionados

Dirección de optimización de la estrategia

  1. Se puede considerar la introducción de parámetros de indicadores de adaptación que se ajusten a la dinámica de la volatilidad del mercado
  2. Aumentar la verificación de los indicadores de volumen de transacción y mejorar la fiabilidad de la señal
  3. Desarrollo de un algoritmo de reconocimiento de Swing Low más inteligente
  4. Adición de clasificaciones de entornos de mercado con diferentes parámetros para diferentes estados de mercado
  5. Optimización de la lógica de stop loss, considerando la introducción de stop loss móvil

Resumir

La estrategia construye un sólido sistema de seguimiento de tendencias a través de la sinergia de múltiples indicadores técnicos. El mecanismo de stop loss dinámico proporciona un buen control de riesgo, adecuado para el seguimiento de tendencias a medio y largo plazo. Las principales ventajas de la estrategia residen en la alta fiabilidad de la señal y la gestión de riesgos, pero también enfrenta desafíos como el retraso de la señal.

Código Fuente de la Estrategia
/*backtest
start: 2024-02-20 00:00:00
end: 2024-03-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Invest SMA|MACD|ADX Long Weekly Strategy (BtTL)", overlay=true)

// SMA Inputs
smaLength = input.int(30, title="SMA Länge")
// MACD Inputs
macdFastLength = input.int(9, title="MACD schnelle Periode")
macdSlowLength = input.int(18, title="MACD langsame Perside")
macdSignalLength = input.int(9, title="MACD Signal Smoothing")
//ADX Inputs
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Länge")

// SMA-Berechnung
smaValue = ta.sma(close, smaLength)
isAboveSMA = close > smaValue
isBelowSMA = close < smaValue

// MACD-Berechnung
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
isMACDBuy = macdLine > signalLine and macdLine > 0

// Swing-Low Berechnung (5-Kerzen)
isSwingLow = low[2] > low[1] and low[3] > low[1] and low[1] < low and low[1] < low[4]
var float lastSwingLow = na
var float secondLastSwingLow = na

// Wenn ein neuer Swing-Low gefunden wird
if (isSwingLow[1])
    secondLastSwingLow := lastSwingLow
    lastSwingLow := low[1]

//ADX ermitteln
[pDI,mDI,ADX] = ta.dmi(dilen, adxlen)
IsInTrend = ADX > 25

// Einstiegskondition mit MACD und SMA
longCondition = isAboveSMA and isMACDBuy and IsInTrend
if (longCondition)
    strategy.entry("Long", strategy.long)

// Ausstiegskondition am vorletzten Swing-Low
if (isBelowSMA and na(secondLastSwingLow) == false)
    strategy.exit("Exit", from_entry="Long", stop=secondLastSwingLow)

// Reset bei Position schließen
if(strategy.position_size <= 0)
    secondLastSwingLow := na
    lastSwingLow := na

// Plots
plot(smaValue, title="SMA 30", color=#063eda, linewidth=2)
plot(na(lastSwingLow) ? na : lastSwingLow, title="Last Swing Low", color=#ffb13b, linewidth=1, style=plot.style_circles)
plot(na(secondLastSwingLow) ? na : secondLastSwingLow, title="Second Last Swing Low", color=color.red, linewidth=1, style=plot.style_circles)