SuperTrend y la estrategia de seguimiento de tendencias basadas en DEMA

El autor:¿ Qué pasa?, Fecha: 2023-12-08 16:42:14
Las etiquetas:

img

Resumen general

Esta estrategia combina el indicador SuperTrend y el indicador DEMA para implementar una tendencia después de la estrategia de negociación. Genera señales de compra cuando el precio rompe la banda superior y señales de venta cuando el precio rompe la banda inferior. El indicador DEMA se utiliza para filtrar señales falsas. Esta estrategia funciona bien para los mercados de tendencia y puede seguir efectivamente las tendencias y filtrar las consolidaciones.

Estrategia lógica

El núcleo de esta estrategia se basa en el indicador SuperTrend para determinar la dirección de tendencia de los precios. El indicador SuperTrend incorpora el indicador ATR y puede identificar eficazmente las tendencias de precios. Cuando los precios suben, se formará una banda superior, y cuando los precios caen, se formará una banda inferior. Una ruptura de la banda inferior señala una inversión de tendencia y genera una señal de compra. Una ruptura de la banda superior señala una inversión de tendencia y genera una señal de venta.

Para filtrar señales falsas, esta estrategia también incorpora el indicador DEMA. Las señales de compra solo se generan cuando los precios rompen la banda superior y están por encima de la línea DEMA. Las señales de venta solo se generan cuando los precios rompen la banda inferior y están por debajo de la línea DEMA. Esto filtra eficazmente las señales falsas en los mercados de rango.

Específicamente, la lógica de la señal de negociación es la siguiente:

  1. Una ruptura de la banda inferior señala una inversión de tendencia y genera una señal de compra.
  2. Una ruptura de la banda superior indica una inversión de tendencia y genera una señal de venta.
  3. Una señal de compra real solo se genera cuando aparece la señal de compra y el precio está por encima de la línea DEMA.
  4. Una señal de venta real solo se genera cuando aparece la señal de venta y el precio está por debajo de la línea DEMA.

A través de este diseño lógico, la estrategia puede seguir las tendencias en los mercados de tendencia y evitar la apertura frecuente de posiciones en mercados variables.

Ventajas de la estrategia

  • Combina las ventajas de los indicadores SuperTrend y DEMA para lograr el seguimiento de tendencias y el filtrado de señales.
  • Fácil de optimizar los parámetros de SuperTrend para diferentes productos y plazos.
  • Es fácil optimizar los parámetros de DEMA sin pruebas repetidas.
  • Adecuado para mercados de tendencias, puede seguir las tendencias de manera efectiva.
  • Las señales falsas en los mercados variados son filtradas por el indicador DEMA.
  • Lógica simple y fácil de entender y modificar.

Riesgos de la estrategia

  • No puede manejar bien las fluctuaciones extremas de precios.
  • Puede incurrir en pérdidas cuando las tendencias se invierten.
  • Los parámetros de DEMA no adecuados pueden perder los mejores puntos de entrada/salida.
  • Los parámetros de SuperTendencia inadecuados como el período ATR pueden generar señales falsas.

Gestión de riesgos:

  • Optimice los parámetros DEMA y SuperTrend.
  • Utilice órdenes de stop loss para limitar las pérdidas.
  • Añadir mecanismos de confirmación en puntos clave para evitar señales falsas.

Áreas de mejora

La estrategia puede mejorarse en los siguientes aspectos:

  1. Optimización de parámetros de SuperTrend: prueba diferentes combinaciones de períodos ATR para encontrar parámetros óptimos.

  2. Optimización de parámetros DEMA. Prueba diferentes valores para determinar la configuración óptima.

  3. Añadir el mecanismo de stop loss. Establecer el stop loss basado en los valores de ATR para evitar paradas de gran tamaño.

  4. Añadir filtros de señal. Aumentar la confirmación de otros indicadores en puntos clave para evitar señales falsas. Por ejemplo, añadir la confirmación de volumen en puntos de inversión de tendencia.

  5. Mejorar el tamaño de las posiciones y ajustar dinámicamente los tamaños en función de la volatilidad y los riesgos del mercado.

Conclusión

Esta estrategia combina los puntos fuertes de los indicadores SuperTrend y DEMA para implementar una estrategia de trading cuantitativa basada en el seguimiento de tendencias y el filtrado de señales.


/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Krish\'s Supertrend Strategy', overlay=true)

// Supertrend Settings
Periods = input(title='ATR Period', defval=10)
src = input(hl2, title='Source')
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
changeATR = input(title='Change ATR Calculation Method ?', defval=true)
showsignals = input(title='Show Buy/Sell Signals ?', defval=true)
highlighting = input(title='Highlighter On/Off ?', defval=true)

atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2

up = src - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up

dn = src + Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn

trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

upPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1

plotshape(buySignal ? up : na, title='UpTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
plotshape(buySignal and showsignals ? up : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))

dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1

plotshape(sellSignal ? dn : na, title='DownTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
plotshape(sellSignal and showsignals ? dn : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))

// DEMA Settings
dema_length = 200
dema = ta.ema(close, dema_length)

// Long and Short Conditions
longCondition = buySignal and close > dema
shortCondition = sellSignal and close < dema

// Strategy Entry and Exit
strategy.entry('Long', strategy.long, when=longCondition)
strategy.entry('Short', strategy.short, when=shortCondition)

strategy.close('Long', when=ta.change(trend) or close < dema)
strategy.close('Short', when=ta.change(trend) or close > dema)

// Plotting
mPlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? trend == 1 ? color.green : color.white : color.white
shortFillColor = highlighting ? trend == -1 ? color.red : color.white : color.white

fill(mPlot, upPlot, title='UpTrend Highlighter', color=longFillColor, transp=90)
fill(mPlot, dnPlot, title='DownTrend Highlighter', color=shortFillColor, transp=90)

// Alerts (using plotshape for alerts in strategies)
plotshape(buySignal, title='SuperTrend Buy', color=color.new(color.green, 0), style=shape.triangleup, size=size.small)
plotshape(sellSignal, title='SuperTrend Sell', color=color.new(color.red, 0), style=shape.triangledown, size=size.small)
changeCond = trend != trend[1]
plotshape(changeCond, title='SuperTrend Direction Change', color=color.new(color.yellow, 0), style=shape.triangleup, size=size.small)




Más.