
A estratégia é uma estratégia de identificação de tendências e negociação baseada no Índice de Nuvem de Ichimoku em combinação com o Índice de Segmentação de Ouro em Ratio de Fibonacci. A estratégia usa a Linha de Conversão, a Linha Básica, a Nuvem e a Linha de Retardo para julgar a tendência atual do mercado, e combina as duas taxas de segmentação de ouro 1.618 e 0.618 para definir o ponto de parada e identificar os turbulentos do mercado. Além disso, a estratégia também introduz duas linhas médias adicionais para filtrar falsos sinais.
O indicador de nuvem é composto por quatro partes: linha de conversão, linha de base, nuvem e linha de atraso. A linha de conversão e a linha de base são calculadas a partir da média dos preços mais altos e mais baixos de diferentes períodos. A nuvem é formada por 26 ciclos de avanço da linha de base, enquanto a linha de atraso é de 26 ciclos de atraso do preço de fechamento.
As condições para a abertura de uma posição múltipla da estratégia são:
A posição em branco é o oposto de uma posição em alta.
A configuração do ponto de parada usa duas divisões douradas de 1,618 e 0,618 ❚ O ponto de parada de cabeça de múltiplos é a parte superior da nuvem menos a parte superior inferior da nuvem por 1,618 vezes, e o ponto de parada de cabeça vazia é o oposto ❚ A linha 0,618 é usada para identificar o mercado em choque, quando a nuvem é verde e a linha 0,618 está abaixo do ponto de parada de 1,618 e o mercado é considerado em choque ❚
Além de um indicador de nuvem, a estratégia também introduziu duas linhas médias para filtrar falsos sinais. A linha média é calculada a partir da média dos preços mais altos e mais baixos de diferentes períodos.
A estratégia combina inovadoramente o indicador da nuvem e a taxa de divisão do ouro, formando um conjunto completo de identificação de tendências e sistema de negociação. Ao mesmo tempo, a introdução de filtros de linha central adicionais pode melhorar a qualidade do sinal até certo ponto. A vantagem da estratégia reside na capacidade de se adaptar melhor aos estados de mercado de tendências e turbulências e controlar o risco através do controle de stop loss dinâmico. Mas a estratégia também apresenta algumas deficiências, como a falta de suporte teórico, a otimização dos parâmetros pode ser excessivamente adequada, 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)