La estrategia se llama
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.
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.
Hay algunos riesgos en esta estrategia:
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.
Hay mucho espacio para la optimización:
Esto puede mejorar aún más el rendimiento y la estabilidad.
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')