Estrategia de seguimiento de doble tendencia DEMA con indicador de súper tendencia


Fecha de creación: 2024-01-16 15:03:55 Última modificación: 2024-01-16 15:03:55
Copiar: 1 Número de Visitas: 643
1
Seguir
1617
Seguidores

Estrategia de seguimiento de doble tendencia DEMA con indicador de súper tendencia

Descripción general

La estrategia de seguimiento de tendencias duales es una estrategia compleja que combina un indicador de tendencia súper, un promedio móvil de dos índices (DEMA) y un cinturón de Brin. Su objetivo es aprovechar las ventajas de varios indicadores técnicos para capturar señales de compra y venta en el momento oportuno cuando la tendencia se invierte.

Principio de estrategia

La estrategia tiene tres partes principales:

  1. Indicador de supertrend: calcula la línea de ruptura hacia arriba y la línea de ruptura hacia abajo para determinar la dirección de la tendencia actual. Genera una señal de compra cuando el precio rompe la línea de supertrend desde abajo hacia arriba; genera una señal de venta cuando rompe la línea de supertrend desde arriba hacia abajo.

  2. Media móvil de doble índice (DEMA): un indicador de seguimiento de tendencias que combina las características de las medias móviles simples y las medias móviles de índice para responder más rápidamente a los cambios de precios. La estrategia establece una DEMA de 200 días para determinar la dirección de la tendencia a largo plazo.

  3. Las bandas de Brin: indican el rango de fluctuación de los precios. Cuando las bandas de Brin se contraen o amplían de manera inusual, indican una posible reversión de la tendencia.

Cuando el indicador de tendencia súper y el DEMA emiten una señal de compra/venta, se entra en la posición correspondiente. Además, las anomalías de la banda de Bryn también pueden servir como señal de juicio auxiliar.

Ventajas estratégicas

  1. La combinación de múltiples indicadores, el juicio integral, la reducción de las falsas señales.
  2. Los indicadores de tendencia súper son insensibles a los pequeños cambios de precios, generan señales solo en los puntos de cambio de tendencia y evitan el comercio demasiado frecuente.
  3. DEMA suaviza la curva para que las tendencias a largo plazo sean precisas y confiables.
  4. Brin, con ayuda de un juez, dice que la tendencia ha cambiado.

Riesgos y soluciones

  1. Los parámetros del indicador de tendencia súper son demasiado sensibles y pueden generar más ruido. Se puede ajustar el ciclo ATR y los parámetros del múltiplo para optimizar.
  2. El ciclo DEMA es demasiado largo para seguir la tendencia. Se pueden probar parámetros como reducirlos a 100 días.
  3. Cuando la combinación de varios indicadores determina que las señales no son consistentes. En este caso, se puede seguir el indicador de tendencia súper como la señal principal.

Dirección de optimización

  1. Prueba diferentes configuraciones de parámetros de ATR y multiplicadores para encontrar el parámetro óptimo para el indicador de tendencia súper.
  2. Optimización de los parámetros del ciclo DEMA.
  3. Añadir otros indicadores para ayudar a juzgar, como KDJ, MACD, etc.
  4. Aumentar las estrategias para detener los daños.

Resumir

La combinación de múltiples indicadores de estrategias de seguimiento de tendencias duales, aprovechando las ventajas de las tres supertrends, DEMA y Brin, mejora la calidad de la señal al mismo tiempo que capta la tendencia, y se espera obtener un mejor efecto estratégico a través de la optimización de los parámetros. La adición de mecanismos de parada de pérdidas también es un foco de optimización en el futuro.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Supertrend + DEMA + Bollinger Bands", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, precision=2)

// Input parameters for Supertrend
atrLength = input(title="ATR Period", type=input.integer, defval=12)
src = input(hl2, title="Source")
multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR = input(title="Change ATR Calculation Method?", type=input.bool, defval=true)
showSupertrend = input(title="Show Supertrend Indicator?", type=input.bool, defval=true)

// Input parameters for DEMA
demaLength = input(200, title="DEMA Period")
showDEMA = input(title="Show DEMA Indicator?", type=input.bool, defval=true)

// Calculate ATR for Supertrend
atr2 = sma(tr, atrLength)
atr = changeATR ? atr(atrLength) : atr2

// Calculate Supertrend
up = src - (multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up

dn = src + (multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? 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

// Plot Supertrend
upPlot = plot(showSupertrend ? (trend == 1 ? up : na) : 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 ? 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(showSupertrend ? (trend == 1 ? na : dn) : na, 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 ? 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))

mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)

longFillColor = (trend == 1 ? color.new(color.green, 80) : color.new(color.white, 0))
shortFillColor = (trend == -1 ? color.new(color.red, 80) : color.new(color.white, 0))

fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

// Alert conditions
alertcondition(buySignal, title="Custom Supertrend Buy", message="Custom Supertrend Buy!")
alertcondition(sellSignal, title="Custom Supertrend Sell", message="Custom Supertrend Sell!")

// Calculate DEMA
ema1 = ema(close, demaLength)
dema = 2 * ema1 - ema(ema1, demaLength)

// Plot DEMA with white color
plot(showDEMA ? dema : na, color=color.new(color.white, 0), title="DEMA", linewidth=2)

// Add push notification on mobile if buy and sell occurred
if (buySignal)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell")
    alert("Buy Signal - Supertrend")

if (sellSignal)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover")
    alert("Sell Signal - Supertrend")