Estrategia de tendencia

El autor:¿ Qué pasa?, fecha: 2023-12-13 14:40:24
Las etiquetas:

img

Resumen general

La estrategia Sunny Supertrend es una estrategia de seguimiento de tendencias basada en los indicadores ATR y SuperTrend. Puede predecir con precisión las reversiones de tendencias y funciona perfectamente como un indicador de tiempo. La estrategia puede aumentar la paciencia y ayudar a los operadores a entrar y salir de los mercados en el momento adecuado.

Estrategia lógica

La estrategia utiliza el indicador SuperTrend para determinar la dirección de la tendencia actual. Cuando el indicador SuperTrend cambia de dirección, creemos que puede ocurrir una inversión de tendencia. Además, la estrategia también utiliza la dirección de los cuerpos de las velas para el juicio auxiliar. Cuando aparece una señal de inversión potencial y la dirección del cuerpo de las velas es consistente con la anterior, la señal no válida se filtra.

Específicamente, la estrategia genera señales comerciales de acuerdo con la siguiente lógica:

  1. Utilice el indicador SuperTrend para determinar la dirección de la tendencia principal
  2. Cuando el indicador SuperTrend cambia de dirección, se genera una señal de reversión potencial
  3. Si la dirección del cuerpo del candelabro es consistente con la anterior en este momento, la señal de inversión se filtra
  4. Si la dirección del cuerpo del candelabro cambia, se confirma la señal de inversión y se genera una señal de negociación

Análisis de ventajas

  1. Basado en el indicador Supertrend, puede determinar con precisión los puntos de inversión de tendencia.
  2. Filtrar señales no válidas combinando las direcciones del cuerpo del candelabro para mejorar la calidad de la señal
  3. Adecuado como indicador de tiempo para guiar a los inversores a elegir un momento razonable de entrada y salida
  4. Ampliamente aplicable a cualquier período de tiempo y a diferentes variedades con una gran adaptabilidad

Riesgos y soluciones

  1. El indicador de Supertrend tiende a generar señales redundantes que necesitan ser filtradas Solución: Esta estrategia utiliza la dirección del cuerpo del candelabro para el juicio auxiliar para filtrar eficazmente las señales no válidas

  2. Los parámetros de las súper tendencias son propensos a la sobre-optimización
    Solución: Utilice los parámetros predeterminados para evitar ajustes manuales y sobre-optimización

  3. Incapaz de procesar las inversiones de tendencia ultra rápidas Solución: Ajustar el parámetro del período ATR de forma adecuada para hacer frente a movimientos más rápidos del mercado

Direcciones de optimización

  1. Prueba diferentes combinaciones de parámetros del período ATR
  2. Añadir indicadores de volumen o volatilidad para ayudar a filtrar las señales
  3. Combinar con otros sistemas para mejorar el rendimiento de la estrategia
  4. Desarrollar mecanismos de detención de pérdidas para controlar pérdidas individuales

Conclusión

La estrategia Sunny Supertrend es una estrategia de inversión de tendencia eficiente basada en el indicador SuperTrend. Combina las direcciones del cuerpo del candelabro para el juicio auxiliar, que puede filtrar eficazmente las señales inválidas y mejorar la calidad de la señal.


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

//@version=5
strategy("Sunny Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity)

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

shor= close > open and close[1] > open[1] and close[2] > open[2] 
lon = open > close and open[1] > close[1] and  open[2] > close[2]
tt= ta.change(direction) < 0
ss= ta.change(direction) > 0
long= tt
longexit = lon or ss
short= ss
shortexit = shor or tt

longPosMem = false
longexitPosMem = false
shortPosMem = false
shortexitPosMem = false

longPosMem := long ? true : short ? false : longPosMem[1]
longexitPosMem := longexit ? true : shortexit ? false : longexitPosMem[1]
shortPosMem := short ? true : long ? false : shortPosMem[1]
shortexitPosMem := shortexit ? true : longexit ? false : shortexitPosMem[1]

longy = long and not(longPosMem[1])
longexity = longexit and not(longexitPosMem[1])
shorty = short and not(shortPosMem[1])
shortexity = shortexit and not(shortexitPosMem[1])

//Use this to customize the look of the arrows to suit your needs.
plotshape(longy, location=location.abovebar, color=color.green, style=shape.arrowup, text="Buy")
plotshape(longexity, location=location.top, color=color.green, style=shape.xcross, text="Buy exit")
plotshape(shorty, location=location.belowbar, color=color.red, style=shape.arrowdown, text="Sell")
plotshape(shortexity, location=location.bottom, color=color.red, style=shape.xcross, text="Sell exit")


//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
// STEP 1:
// Make input options that configure backtest date range
startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month", 
     defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year",
     defval=2021, minval=1800, maxval=2100)

endDate = input.int(title="End Date",
     defval=1, minval=1, maxval=31)
endMonth = input.int(title="End Month",
     defval=2, minval=1, maxval=12)
endYear = input.int(title="End Year",
     defval=2021, minval=1800, maxval=2100)

// STEP 2:
// Look if the close time of the current bar
// falls inside the date range
inDateRange =  true



// STEP 3:
// Submit entry orders, but only when bar is inside date range
if (inDateRange and longy)
    strategy.entry("enter long",strategy.long,when= longy)
    strategy.close("long",when=longexity)


if (inDateRange and shorty)
    strategy.entry("enter short",strategy.short,when = shorty)
    strategy.close("short", when=shortexity)


Más.