Estrategia de supertendencia Sunshine


Fecha de creación: 2023-12-13 14:40:24 Última modificación: 2023-12-13 14:40:24
Copiar: 3 Número de Visitas: 624
1
Seguir
1621
Seguidores

Estrategia de supertendencia Sunshine

Descripción general

La estrategia de la súper tendencia solar es una estrategia de seguimiento de tendencias basada en los indicadores ATR y SuperTrend. Puede predecir con precisión la reversión de la tendencia y es ideal para su uso como indicador de tiempo. La estrategia puede aumentar la paciencia y la determinación de los inversores, ayudándoles a entrar y salir del mercado en el momento adecuado.

Principio de estrategia

La estrategia utiliza el indicador SuperTrend para determinar la dirección de la tendencia actual. Cuando el indicador SuperTrend cambia de dirección, consideramos que puede haber una reversión de tendencia. Además, la estrategia utiliza la dirección de la entidad de la línea K para un juicio auxiliar.

En concreto, la estrategia genera señales de negociación de acuerdo con la siguiente lógica:

  1. Indicadores de SuperTrend para determinar la dirección de las principales tendencias
  2. Cuando el indicador de SuperTrend cambia de dirección, se produce una señal de reversión potencial
  3. Si la dirección de la entidad de la línea K es la misma que la anterior, filtre la señal de reversión
  4. Si la dirección de la entidad de la línea K cambia, confirma la señal de inversión y genera una señal de transacción

Análisis de las ventajas

  1. El indicador SuperTrend permite determinar con precisión el punto de reversión de la tendencia
  2. Combinación de filtro de invalidez de la señal en la dirección de la entidad de la línea K para mejorar la calidad de la señal
  3. Adecuado como indicador de orden temporal para guiar a los inversores en la elección de un momento razonable de entrada y salida
  4. Amplia aplicación en cualquier período de tiempo y en diferentes variedades, adaptabilidad fuerte

Riesgos y soluciones

  1. Los indicadores de SuperTrend son propensos a generar señales excedentes y requieren un filtro auxiliar
    Solución: Esta estrategia utiliza la dirección de la entidad de la línea K para el juicio auxiliar, filtrando eficazmente las señales no efectivas
  2. La configuración de los parámetros de SuperTrend es fácil de optimizar o sobre-optimizar
    Solución: usar los parámetros por defecto para evitar la optimización de los parámetros por manipulación humana
  3. No puede manejar el cambio de tendencia tan rápido
    Solución: ajuste adecuado de los parámetros del ciclo ATR para responder más rápidamente

Dirección de optimización

  1. Intentar una combinación diferente de parámetros del ciclo ATR
  2. Aumentar el volumen o el índice de fluctuación para auxiliar la filtración de señales
  3. Combinación con otros sistemas de indicadores para mejorar el rendimiento de la estrategia
  4. Desarrollo de mecanismos de detención de pérdidas y control de pérdidas individuales

Resumir

La estrategia de tendencia súper solar es una estrategia de alta eficiencia basada en el indicador SuperTrend para determinar el cambio de tendencia. Combina la dirección de la entidad de la línea K para realizar un juicio auxiliar, que puede filtrar eficazmente la señal no efectiva y mejorar la calidad de la señal. La estrategia es simple de operar, adaptable y se puede aplicar ampliamente en varias variedades y períodos de tiempo.

Código Fuente de la Estrategia
/*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)