Supertrend y estrategia de cruce de la media móvil

El autor:¿ Qué pasa?, Fecha: 2024-02-19 11:56:52
Las etiquetas:

img

Resumen general

La estrategia se llama Supertrend y Moving Average Crossover Strategy. Combina el indicador de Supertrend y las medias móviles, yendo largo cuando la supertrend indica una tendencia alcista y la EMA de 10 días está por encima de la SMA de 20 días, y ir corto cuando la supertrend indica una tendencia bajista y la EMA de 10 días está por debajo de la SMA de 20 días. Es una estrategia típica de tendencia.

Estrategia lógica

La estrategia utiliza el indicador de Supertrend para determinar la dirección de la tendencia del mercado. La Supertrend se calcula sobre la base del rango verdadero promedio y un factor. Cuando el precio está por encima de la línea de Supertrend, es una tendencia alcista; cuando el precio está por debajo de la línea de Supertrend, es una tendencia bajista. En esta estrategia, el Factor se establece en 3.0 y la longitud de ATR es 10.

Además, la estrategia utiliza EMA de 10 días y SMA de 20 días para construir promedios móviles. EMA (promedio móvil exponencial) asigna un mayor peso a los precios recientes, mientras que SMA (promedio móvil simple) considera todos los datos con el mismo peso.

En resumen, la lógica de generación de señales comerciales es:

Entrada larga: Supertrend > 0 (trend al alza) Y EMA de 10 días > SMA de 20 días Entrada corta: Supertrend < 0 (tendencia bajista) Y EMA de 10 días < SMA de 20 días

Así que determina la dirección de la tendencia con Supertrend y utiliza el cruce de la media móvil para una confirmación adicional, para construir esta tendencia siguiendo la estrategia.

Análisis de ventajas

La mayor ventaja de esta estrategia es la combinación de Supertrend y medias móviles, lo que mejora tanto la fiabilidad como la sensibilidad.

  1. Supertrend identifica claramente la tendencia principal, reduciendo las señales falsas
  2. El cruce de EMA+SMA mejora la sensibilidad a los cambios de tendencia
  3. La evaluación de múltiples factores mejora la confiabilidad
  4. Indicadores simples y claros, fáciles de entender y optimizar
  5. Alta flexibilidad para ajustar los parámetros de Supertrend y MAs

Análisis de riesgos

Hay algunos riesgos en esta estrategia:

  1. Los parámetros de Supertrend incorrectos pueden perder puntos de giro
  2. Los parámetros MA incorrectos pueden generar señales falsas
  3. La selección incorrecta del período de pruebas de retroceso puede sobreestimar el rendimiento
  4. No se consideran los costes de negociación

Podemos probar diferentes valores de ATR y Factor para Supertrend, y diferentes valores de longitud para MAs. También el período de backtest debe cubrir diferentes entornos de mercado.

Direcciones de optimización

Hay mucho espacio para la optimización:

  1. Ajustar la longitud y el factor de ATR en Supertrend
  2. Ajuste de la longitud de la EMA y de la SMA
  3. Añadir otros indicadores como RSI, MACD para el filtrado de señales
  4. Comprar cuando aparece la Supertrend y la EMA cruza la SMA después de cierta duración
  5. Añadir una estrategia de stop loss

Esto puede mejorar aún más el rendimiento y la estabilidad.

Conclusión

La estrategia combina Supertrend para la dirección de la tendencia y los cruces EMA+SMA para generar señales, un sistema típico de seguimiento de tendencias. Tiene una alta fiabilidad y mucha flexibilidad para la optimización, vale la pena verificar en el comercio en vivo. Pero también debemos controlar los riesgos y evitar la optimización excesiva.


/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend and Moving Averages Strategy", overlay=true)

// Supertrend parameters
atrLength = input.int(10, title="ATR Length", minval=1)
factor = input.float(3.0, title="Factor", minval=0.01, step=0.01)
[supertrend, direction] = ta.supertrend(factor, atrLength)

// Moving Averages parameters
length_ema = input(10, title="Length of EMA")
length_sma = input(20, title="Length of SMA")

// Calculate EMAs and SMAs
ema_10 = ta.ema(close, length_ema)
sma_20 = ta.sma(close, length_sma)

// Strategy logic
longCondition = ema_10 > sma_20 and direction > 0
shortCondition = ema_10 < sma_20 and direction < 0

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Plot Supertrend
plot(direction > 0 ? supertrend : na, color=color.green, style=plot.style_line, linewidth=2, title="Up Trend")
plot(direction < 0 ? supertrend : na, color=color.red, style=plot.style_line, linewidth=2, title="Down Trend")

// Plot Moving Averages
plot(ema_10, color=color.blue, title="10 EMA")
plot(sma_20, color=color.red, title="20 SMA")

// Alerts for Supertrend
alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend ')
alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend')
alertcondition(direction[1] != direction, title='Trend Change', message='The Supertrend value switched from Uptrend to Downtrend or vice versa')


Más.