
La estrategia utiliza la línea de conversión, la línea base, la nube, la nube de Kumo y la línea de retardo para juzgar la tendencia actual del mercado, y combina 1.618 y 0.618 para establecer los puntos de parada y identificar las sacudidas del mercado. Además, la estrategia introduce dos líneas medias adicionales para filtrar las señales falsas.
El indicador de la nube en un solo texto consta de cuatro partes: la línea de conversión, la línea de base, la nube y la línea de retraso. La línea de conversión y la línea de base se calculan respectivamente a partir del promedio de los precios más altos y más bajos de los diferentes períodos. La nube se forma a partir de 26 períodos de avance de la línea de base, mientras que la línea de retraso es de 26 períodos de retraso de los precios de cierre.
Las condiciones para la apertura de posiciones múltiples de esta estrategia son las siguientes:
Las condiciones para abrir una posición en un mercado vacío son las opuestas a las condiciones para abrir una posición en un mercado de capitales.
La configuración de la posición de parada utiliza dos divisiones de oro de 1.618 y 0.618: el punto de parada de múltiples cabezas es la parte superior de la nube menos la parte superior inferior de la distancia de 1.618 veces, y el punto de parada de cabeza vacía, por el contrario. La línea 0.618 se utiliza para identificar el mercado de temblor, cuando la nube es verde y la línea 0.618 está por debajo del punto de parada de 1.618 se considera que el mercado está en temblor.
Además de un indicador de la nube, la estrategia también introduce dos líneas medias para filtrar las falsas señales. La línea media se calcula a partir de la media de los precios más altos y más bajos de los diferentes períodos.
La estrategia combina de manera innovadora el indicador de la nube de una letra y la división de la tasa de oro para formar un conjunto completo de identificación de tendencias y sistemas de negociación. Al mismo tiempo, la introducción de filtros de línea central adicionales puede mejorar la calidad de la señal en cierta medida. La ventaja de la estrategia reside en la capacidad de adaptarse mejor a los estados de mercado de tendencias y oscilaciones, y controlar el riesgo mediante el control de pérdidas dinámicas. Sin embargo, la estrategia también presenta algunas deficiencias, como la falta de soporte teórico, la optimización de los parámetros puede ser demasiado adecuada, etc.
/*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)