Estratégia de negociação cruzada longa-curta aprimorada com base no indicador de virada Shiyun

ICHIMOKU MA DONCHIAN CROSSOVER TK KUMO
Data de criação: 2025-02-21 10:41:00 última modificação: 2025-02-21 10:41:00
cópia: 1 Cliques: 398
2
focar em
319
Seguidores

Estratégia de negociação cruzada longa-curta aprimorada com base no indicador de virada Shiyun Estratégia de negociação cruzada longa-curta aprimorada com base no indicador de virada Shiyun

Visão geral

A estratégia é baseada na versão melhorada do clássico sistema de rotação da nuvem da bolsa (Ichimoku Kinko Hyo), que identifica os sinais de negociação através do cruzamento dinâmico de linhas de conversão com linhas de referência. A estratégia é baseada no sistema de nuvem da bolsa tradicional, acrescentando a lógica de geração e execução de sinais de negociação automáticos e combinando com etiquetas visuais para melhorar a legibilidade das tendências do mercado.

Princípio da estratégia

O núcleo da estratégia é baseado em cinco principais curvas do sistema de nuvem de mercado: Linha de conversão ((9 ciclos), Linha de referência ((26 ciclos), Linha de liderança A, Linha de liderança B ((52 ciclos) e Linha de atraso. Os sinais de negociação mais importantes são provenientes do cruzamento da linha de conversão com a linha de referência.

Vantagens estratégicas

  1. Seguimento de tendências sistematizado - permite a captura completa das tendências do mercado através de uma combinação de indicadores em múltiplos prazos.
  2. Intuitividade visual - O sinal de negociação é claramente visível com o uso de etiquetas coloridas e gráficos em nuvem.
  3. Gerenciamento de risco integrado - com mecanismo de stop loss embutido, que automaticamente liquida a posição quando o mercado se inverte.
  4. Adaptabilidade - os parâmetros podem ser ajustados para adaptar-se a diferentes ambientes de mercado.
  5. Estabilidade do sinal - Utilize a cruz de equilíbrio para filtrar os falsos sinais e melhorar a qualidade das transações.

Risco estratégico

  1. Atraso na reversão da tendência - há um certo atraso devido à utilização de médias móveis.
  2. Os mercados de choque não se aplicam - podem gerar falsos sinais na fase de classificação horizontal.
  3. Sensibilidade de parâmetros - diferentes configurações de parâmetros podem afetar significativamente a performance da estratégia.
  4. Complexidade do mapa de nuvens - a interligação de várias linhas pode dificultar a interpretação do sinal.

Direção de otimização da estratégia

  1. Introdução de um filtro de taxa de flutuação - um indicador ATR pode ser adicionado para ajustar o tamanho da posição.
  2. Otimização do tempo de entrada - Combinação de indicadores de dinâmica como o RSI para confirmar sinais de negociação.
  3. Mecanismos de parada de perda aprimorados - pode ser configurado um parada de perda dinâmica baseada em posições de suporte no mapa da nuvem.
  4. Aumentar a confirmação de volume de transações - verificar o volume de transações quando o sinal é gerado, aumentando a confiabilidade.
  5. Adição de filtros de cenário de mercado - para selecionar o cenário de negociação adequado através de indicadores de intensidade de tendência.

Resumir

A estratégia foi desenvolvida para construir um sistema de negociação de seguimento de tendências completo através da melhoria do sistema tradicional de mercado em nuvem. Apesar de haver um certo atraso, a estratégia conseguiu obter um desempenho estável em mercados de tendências por meio de filtragem de sinais e otimização de gerenciamento de risco.

Código-fonte da estratégia
/*backtest
start: 2024-02-22 00:00:00
end: 2024-12-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6

strategy(title="Ichimoku Cloud with Lables", shorttitle="Ichimoku", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
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)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")





plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span", display = display.none)
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))

if barstate.islast
    label.new(bar_index+5,baseLine,style=label.style_none,xloc=xloc.bar_index,text="Base",color=color.white,textcolor=#B71C1C)
    label.new(bar_index +8, conversionLine,style=label.style_none,xloc=xloc.bar_index,text="Conversion",color=color.white,textcolor=#2962FF)
	label.new(bar_index+(displacement-1)+5,leadLine1,style=label.style_none,xloc=xloc.bar_index,text="Lead1",color=color.white,textcolor=#A5D6A7)
	label.new(bar_index+(displacement-1)+5,leadLine2,style=label.style_none,xloc=xloc.bar_index,text="Lead2",color=color.white,textcolor=#EF9A9A)

// --- TRADING LOGIC ---

// 1) Detect bullish cross (Conversion crosses above Base)
longSignal = ta.crossover(conversionLine, baseLine)

// 2) Detect bearish cross (Conversion crosses below Base)
closeSignal = ta.crossunder(conversionLine, baseLine)

// 3) If bullish cross occurs, open a new long
if longSignal
    strategy.entry("LongTK", strategy.long)

// 4) If bearish cross occurs, close the open long
if closeSignal
    // Closes all orders opened with the ID "LongTK"
    strategy.close("LongTK")