Estratégia de identificação de tendências de choque local em um artigo


Data de criação: 2024-03-19 15:10:59 última modificação: 2024-03-19 15:10:59
cópia: 0 Cliques: 664
1
focar em
1617
Seguidores

Estratégia de identificação de tendências de choque local em um artigo

Visão geral

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.

Princípio da estratégia

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:

  1. A linha de atraso está acima das nuvens
  2. Linha de conversão acima da linha de base
  3. Preço de fechamento acima do ponto de parada de 1.618
  4. Linha de 0.618 acima do ponto de parada de 1.618
  5. Preço de fechamento acima das nuvens

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.

Análise de vantagens

  1. Ao mesmo tempo, o uso de indicadores de preços e tendências permite uma melhor identificação das tendências atuais do mercado.
  2. Introdução de um Stop Loss Dinâmico na Divisão de Ouro, com Risco Controlado.
  3. A linha 0.618 é uma forma eficaz de identificar os mercados em turbulência e evitar a abertura de posições frequentes em situações de turbulência.
  4. Duas linhas médias adicionais podem filtrar ainda mais os sinais falsos, melhorando a qualidade do sinal.
  5. Os parâmetros são ajustáveis para diferentes mercados e períodos.

Análise de Riscos

  1. Em situações extremas, como a queda de uma tempestade, o indicador de tendência pode falhar, causando distorção do sinal.
  2. O ponto de parada é baseado na distância da nuvem, e pode levar a um ponto de parada muito próximo do preço de abertura, caso a nuvem seja muito tênue.
  3. A metodologia de determinação de um mercado de choque por meio de um stop loss de divisão do ouro e uma linha de 0,618 carece de suporte teórico e pode não ser aplicável a todos os mercados.
  4. A otimização de parâmetros pode levar a um excesso de adequação e um fraco desempenho no mercado real.

Direção de otimização

  1. Pode-se considerar a introdução de mais indicadores de confirmação de tendências, como o sistema de linha média, MACD, etc., para melhorar ainda mais a qualidade do sinal.
  2. A configuração do ponto de parada pode levar em consideração mais fatores, como o ATR, a volatilidade, etc., para torná-lo mais dinâmico e personalizado.
  3. Para julgar o mercado de turbulência, pode-se tentar outros métodos, como o indicador de intensidade de tendência ADX.
  4. Os parâmetros podem ser otimizados usando métodos de aprendizagem de máquina, como algoritmos genéticos, e testados fora da amostra para evitar overfitting.
  5. Os módulos de gestão de posições e controle de risco, como as regras de Kelly, o risco fixo, etc., podem ser adicionados para aumentar a solidez e a confiabilidade da estratégia.

Resumir

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.

Código-fonte da estratégia
/*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)