Estrategia de identificación de tendencias locales de la nube de Ichimoku

El autor:¿ Qué pasa?, Fecha: 2024-03-19 15:10:59
Las etiquetas:

img

Resumen general

Esta estrategia es una estrategia de identificación de tendencias y de trading basada en el indicador de la Nube de Ichimoku combinado con los índices de Fibonacci. Utiliza la Línea de Conversión, Línea Base, Nube Kumo y Lagging Span del indicador de la Nube de Ichimoku para determinar la tendencia actual del mercado, e incorpora los índices de Fibonacci 1.618 y 0.618 para establecer niveles de stop-loss e identificar mercados laterales. Además, la estrategia introduce dos líneas medias adicionales para filtrar señales falsas.

Principio de la estrategia

El indicador de la nube Ichimoku consta de cuatro componentes: la línea de conversión, la línea base, la nube Kumo y el lapso de retraso. La línea de conversión y la línea base se calculan utilizando el promedio del máximo más alto y el mínimo más bajo en diferentes períodos de tiempo.

Las condiciones de entrada a largo plazo para esta estrategia son las siguientes:

  1. El Lagging Span está sobre la nube
  2. La línea de conversión es mayor que la línea de base
  3. El precio de cierre está por encima del nivel de stop-loss de 1.618
  4. La línea de 0.618 está por encima del nivel de stop-loss de 1.618
  5. El precio de cierre está por encima de la nube

Las condiciones de entrada cortas son opuestas a las condiciones de entrada largas.

Los niveles de stop-loss se establecen utilizando los ratios 1.618 y 0.618 de Fibonacci. Para las posiciones largas, el stop-loss es el borde superior de la nube menos 1.618 veces la distancia entre los bordes superior e inferior. Para las posiciones cortas, es lo contrario. La línea 0.618 se utiliza para identificar mercados laterales. Cuando la nube es verde y la línea 0.618 está por debajo del nivel de stop-loss de 1.618, se considera que el mercado está en un estado lateral.

Además del indicador Ichimoku Cloud, la estrategia introduce dos líneas medias para filtrar aún más las señales falsas.

Análisis de ventajas

  1. Mediante el uso de indicadores de precios y tendencias, la estrategia puede identificar mejor la tendencia actual del mercado.
  2. La introducción de los ratios de Fibonacci para establecer dinámicamente los niveles de stop-loss hace que el riesgo sea controlado.
  3. La línea 0.618 puede identificar eficazmente los mercados laterales y evitar entradas frecuentes en mercados variados.
  4. Las dos líneas medias adicionales pueden filtrar aún más las señales falsas y mejorar la calidad de la señal.
  5. Los parámetros son ajustables, lo que hace que la estrategia sea adecuada para diferentes mercados y plazos.

Análisis de riesgos

  1. En condiciones extremas de mercado, como fuertes tendencias alcistas o bajistas, los indicadores de tendencia pueden fallar, dando lugar a señales distorsionadas.
  2. El nivel de stop-loss se basa en la distancia de la nube. Cuando la nube es muy delgada, puede resultar en que el stop-loss esté demasiado cerca del precio de entrada.
  3. El método de utilizar los ratios de Fibonacci para el stop-loss y la línea 0.618 para juzgar los mercados laterales carece de soporte teórico y puede no ser aplicable a todos los mercados.
  4. La optimización de los parámetros puede conducir a un sobreajuste y a un bajo rendimiento en los mercados reales.

Direcciones de optimización

  1. Considere la posibilidad de introducir más indicadores de confirmación de tendencia, como las medias móviles, el MACD, etc., para mejorar aún más la calidad de la señal.
  2. El establecimiento de los niveles de stop-loss puede tener en cuenta más factores, como el ATR y la volatilidad, para hacerlos más dinámicos y personalizados.
  3. Para identificar los mercados laterales, se pueden probar otros métodos, como el indicador de fuerza de tendencia ADX.
  4. Los métodos de aprendizaje automático como los algoritmos genéticos se pueden utilizar para la optimización de parámetros, y se deben realizar pruebas fuera de la muestra para evitar el sobreajuste.
  5. Se pueden añadir módulos de dimensionamiento de posiciones y control de riesgos, como el criterio Kelly y el riesgo fijo, para mejorar la solidez y fiabilidad de la estrategia.

Conclusión

Esta estrategia combina innovadoramente el indicador de la nube de Ichimoku con los ratios de Fibonacci para formar un sistema completo de identificación y negociación de tendencias. La introducción de líneas medias adicionales para el filtrado puede mejorar la calidad de la señal hasta cierto punto. La ventaja de la estrategia radica en su capacidad de adaptarse bien a las condiciones de mercado de tendencia y rango, y controlar el riesgo a través de stop-loss dinámicos. Sin embargo, la estrategia también tiene algunas deficiencias, como la falta de soporte teórico y un posible sobreajuste en la optimización de parámetros. En el futuro, la estrategia puede mejorarse mediante la introducción de más indicadores, la optimización de stop-losses y posicionamiento de tamaño, y el uso de aprendizaje automático para la optimización de parámetros.


/*backtest
start: 2023-03-13 00:00:00
end: 2024-03-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
strategy("Advanced_Ichimoku_Cloud_Strategy", overlay=true, margin_long=100, margin_short=100)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpanPeriods = input.int(52, minval=1, title="Leading Span B Length")
pivotPeriods1 = input.int(17,minval = 1,title = "PPL1")
pivotPeriods2 = input.int(39,minval = 1,title = "PPL2")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
midLine1 = donchian(pivotPeriods1)
midLine2 = donchian(pivotPeriods2)
midLine3 = donchian(laggingSpanPeriods)
leadLine1 = math.avg(conversionLine, baseLine, midLine1)
leadLine2 = math.avg(midLine2 , midLine3)


plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")

plot(close, offset = -displacement + 1, color=color.yellow, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
   
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

//stoploss calculating
mult1 = input.float(1.618, "Mult1")
mult2 = input.float(0.618, "Mult2")
stoploss1 = leadLine1 - (leadLine1 - leadLine2)*mult1
stoploss2 = leadLine1 - (leadLine1 - leadLine2)*mult2
plot(stoploss1,"Sl", color = color.fuchsia, linewidth = 2, style = plot.style_line, offset = displacement - 1)
plot(stoploss2,"S2", color = color.lime, linewidth = 2, style = plot.style_line, offset = displacement - 1)

longCondition = leadLine1 > leadLine2 
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = leadLine1 < leadLine2
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Más.