Estrategia de seguimiento de tendencias de criptomonedas basada en el indicador Seagull


Fecha de creación: 2024-01-19 17:40:52 Última modificación: 2024-01-19 17:40:52
Copiar: 0 Número de Visitas: 679
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de criptomonedas basada en el indicador Seagull

Descripción general

La estrategia es una estrategia de seguimiento de la tendencia de la criptomoneda basada en el indicador de la tormenta. Utiliza promedios móviles de índices de dos períodos diferentes y el indicador de la tormenta combinado con múltiples condiciones para generar señales de negociación. La estrategia tiene como objetivo identificar las tendencias de precios de la línea media y larga y entrar en juego a tiempo cuando se produce un cambio de tendencia.

Principio de estrategia

La estrategia utiliza la línea media de EMA de 50 y 100 períodos. Al mismo tiempo, calcula la línea de tormenta, una línea especial que puede filtrar el ruido del mercado. La estrategia utiliza el precio de apertura, cierre, máximo y mínimo de la línea de tormenta y se aplica a la línea de EMA de 100 períodos para que ocurra una señal de negociación más precisa.

Concretamente, cuando el precio de apertura de una línea de 100 ciclos es más alto que el precio de cierre y el precio de apertura de la línea K superior es menor que el precio de cierre, es una señal de sobreventa. Por el contrario, cuando el precio de apertura de una línea de 100 ciclos es menor que el precio de cierre y el precio de apertura de la línea K superior es mayor que el precio de cierre, es una señal de vacío.

La estrategia combina el sistema de doble EMA y el indicador de tormentas para capturar oportunidades en tiempo oportuno cuando se forman tendencias de línea media y larga. Utiliza el indicador de tormentas para filtrar el ruido del mercado a corto plazo y hacer que las señales de negociación sean más confiables.

Ventajas estratégicas

  • El uso de indicadores de toros filtra el ruido de manera eficaz, lo que hace que las señales de negociación sean más claras y fiables
  • El EMA plurianual, combinado con el indicador de la tormenta, permite identificar tendencias de línea media y larga más fuertes
  • La combinación de varios criterios puede evitar la pérdida de oportunidades
  • La estrategia es especialmente adecuada para el mercado de criptomonedas con alta volatilidad.
  • Se puede configurar para hacer solo varias estrategias y reducir el riesgo de operación

Riesgo estratégico

  • El riesgo de pérdidas es mayor debido a que el uso de stop loss puede ser demasiado flexible.
  • La estrategia puede generar más transacciones no válidas en situaciones de crisis.
  • El indicador de la playa todavía está un poco atrasado en los precios, no es posible evitar el riesgo por completo
  • No se puede determinar el punto de inflexión de la tendencia y existe el riesgo de una expansión de las pérdidas

Para reducir el riesgo, se puede reducir el margen de pérdida apropiadamente, o considerar la inversión de la tendencia en combinación con otros indicadores. Cuando el mercado entra en una zona de agitación, también se puede suspender la estrategia y esperar a que se produzca una nueva tendencia.

Dirección de optimización de la estrategia

La estrategia también puede ser optimizada en las siguientes direcciones:

  • Optimizar los parámetros de la EMA para encontrar la combinación óptima de ellos
  • Intentar otros indicadores en lugar de los indicadores de tsunami, como KDJ, MACD, etc.
  • Aumentar el precio de la ruptura como confirmación de entrada
  • El cambio de tendencia en combinación con los indicadores de fluctuación
  • Parámetros de optimización dinámica con métodos de aprendizaje automático

Resumir

La estrategia de seguimiento de la tendencia de la criptomoneda basada en el indicador de la tormenta, que considera integralmente varios aspectos del juicio de la tendencia, el momento de entrada y el control de la pérdida, es muy adecuada para esta variedad de criptomonedas altamente volátiles. La estrategia puede aprovechar eficazmente las oportunidades de negociación generadas por la tendencia de los precios de la línea media y larga mediante el uso de un indicador de la tormenta que filtra el ruido y adopta un método sólido de control de riesgo. El rendimiento de la estrategia también tiene un gran espacio para mejorar si se optimizan aún más los parámetros de configuración, la selección de indicadores y los métodos de control de riesgo.

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

//@version=4
//@SoftKill21
strategy(title="CRYPTO HA Strategy", shorttitle="CRYPTO HA Strategy", overlay=true , default_qty_type =strategy.percent_of_equity, default_qty_value =100, commission_type= strategy.commission.percent,commission_value =0.1 )


ma1_len = input(50)
ma2_len = input(100)

fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


//First Moving Average data
o = ema(open, ma1_len)
c = ema(close, ma1_len)
h = ema(high, ma1_len)
l = ema(low, ma1_len)

// === HA calculator ===
ha_t = heikinashi(syminfo.tickerid)
ha_o = security(ha_t, timeframe.period, o)
ha_c = security(ha_t, timeframe.period, c)
ha_h = security(ha_t, timeframe.period, h)
ha_l = security(ha_t, timeframe.period, l)

//Second Moving Average data

o2 = ema(ha_o, ma2_len)
c2 = ema(ha_c, ma2_len)
h2 = ema(ha_h, ma2_len)
l2 = ema(ha_l, ma2_len)

// === Color def ===
ha_col = o2 > c2 ? color.white : color.lime

sell = o2 > c2 and o2[1] < c2[1] and time_cond
buy = o2 < c2 and o2[1] > c2[1] and time_cond
plotshape(buy, color=color.green, text= "Buy", location= location.belowbar,style= shape.labelup, textcolor=color.white, size = size.tiny, title="Buy Alert",editable=false, transp=60)
plotshape(sell, color=color.red, text= "Sell", location= location.abovebar,style= shape.labeldown, textcolor=color.white, size = size.tiny, title="Sell Alert", editable=false, transp=60)

trendColor = buy ? color.red : sell ? color.green : na
plot( buy ? close: sell  ? close : na , color=trendColor, style=plot.style_line, linewidth=4, editable=false)



onlylong=input(true)
original=input(false)

if(onlylong)
    strategy.entry("long",1,when=buy)
    strategy.close("long",when=sell)
if(original)
    strategy.entry("long",1,when=buy)
    strategy.entry("short",0,when=sell)

sl = input(0.075)
strategy.exit("closelong", "long" , loss = close * sl / syminfo.mintick, alert_message = "sl point")
strategy.exit("closeshort", "short" , loss = close * sl / syminfo.mintick, alert_message = "sl point")