Estratégia de acompanhamento de tendências baseada nos indicadores ICHIMOKU Cloud e STOCH

Autora:ChaoZhang, Data: 2023-11-15 11:19:29
Tags:

img

Resumo

Esta estratégia é baseada no indicador de padrão do gráfico de nuvem ICHIMOKU e no indicador aleatório STOCH para determinar e rastrear tendências.

Princípio da estratégia

A estratégia avalia principalmente a direcção da tendência actual e as situações de sobrecompra/supervenda através do gráfico das nuvens ICHIMOKU e do indicador STOCH.

Quando a linha de conversão cruza acima da linha de base e o indicador Stoch rebota da área de sobrevenda, é considerado uma tendência de alta e a estratégia toma uma direção de alta.

No código, a linha de conversão é definida como a média dos preços mais altos e mais baixos das últimas barras N1; A linha de base é definida como a média dos preços mais altos e mais baixos das últimas barras N2. Um sinal de alta é gerado quando a linha de conversão cruza acima da linha de base.

O indicador Stoch define as linhas de limiar de sobrecompra e sobrevenda, bem como os parâmetros de suavização K e D. Um sinal de alta é gerado quando o Stoch retrocede da área de sobrevenda e um sinal de baixa é gerado quando retorna da área de sobrecompra.

Ao combinar os dois indicadores, a estratégia determina a direcção da tendência.

Análise das vantagens

A estratégia combina indicadores de padrão gráfico e indicadores de sobrecompra/supervenda para determinar eficazmente a direção da tendência.

Em comparação com a utilização de um único indicador de avaliação da tendência, esta estratégia considera de forma abrangente as situações de tendência e de ultrapassagem e pode determinar com mais precisão o calendário de entrada.

O gráfico de nuvens ICHIMOKU pode identificar tendências de médio e longo prazo, enquanto o indicador Stoch pode detectar situações de sobrecompra/supervenda de curto prazo.

Análise de riscos

Os principais riscos desta estratégia são:

  1. Risco de falha do indicador em caso de eventos de cisne negro.

  2. Há algum atraso, que pode perder parte da tendência ou reverter as posições de abertura.

  3. O julgamento combinado de múltiplos fatores tem alguma subjetividade e configurações de parâmetros incorretas podem causar erros.

  4. A alta frequência de negociação pode afectar os lucros devido aos custos de transacção.

Medidas de otimização correspondentes:

  1. Combinar os acontecimentos noticiosos para evitar a negociação às cegas durante os principais acontecimentos políticos.

  2. Redução adequada dos parâmetros do ciclo para reduzir a probabilidade de atraso.

  3. Otimizar os parâmetros através de backtesting para melhorar as configurações científicas.

  4. Aumentar adequadamente os intervalos de tomada de lucro e stop loss para reduzir a frequência de negociação.

Orientações de otimização

As principais direcções de otimização para esta estratégia são:

  1. Otimizar os parâmetros do ciclo da linha de conversão ICHIMOKU e da linha de base para se adequarem melhor às diferentes características do mercado.

  2. Otimizar os parâmetros de suavização K, D e os valores-limite de sobrecompra/supervenda do indicador Stoch.

  3. Aumentar outros indicadores para formar um modelo multifator e melhorar a fiabilidade do sistema.

  4. Otimizar os pontos de take profit e stop loss para reduzir a frequência de negociação, garantindo a rentabilidade.

  5. Adicionar um módulo para julgar emergências e evitar falhas durante grandes eventos.

Resumo

Esta estratégia combina gráficos de nuvem ICHIMOKU e indicadores de Stoch para fazer julgamentos abrangentes sobre a direção da tendência e situações de sobrecompra / sobrevenda, que podem rastrear efetivamente os mercados em tendência.


/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ICHI + STOCH V1", overlay=true)
length = input.int(20, minval=1)
smoothK = input(5)
smoothD = input(3)
OverBought = input(25)
OverSold = input(65)
Profit = input(1800)
Stop = input(1200)
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k,d)
cu = ta.crossunder(k,d)
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(1, minval=1, title="Lagging Span")
conversionLine = math.avg(ta.lowest(conversionPeriods), ta.highest(conversionPeriods))
baseLine = math.avg(ta.lowest(basePeriods), ta.highest(basePeriods))
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = math.avg(ta.lowest(laggingSpan2Periods), ta.highest(laggingSpan2Periods))
TREND = ta.ema(math.avg(leadLine1,leadLine2),displacement)
//plot(conversionLine, color=#2962FF, title="Conversion Line")
//plot(baseLine, color=#B71C1C, title="Base Line")
//plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
plot(TREND, color=#2962FF, title="TREND")
p1 = plot(leadLine1,style=plot.style_line, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")

p2 = plot(leadLine2,style=plot.style_line, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
close_price = ta.sma(close,1)
pc = plot(close_price,style=plot.style_line, color=#2a0ab9,
	 title="Price Close")
if (not na(k) and not na(d))
	if (co and k < OverSold)and(close_price > TREND)
		strategy.entry("BUY order", strategy.long, comment="BUY order")
		strategy.exit("exitBUY", "BUY order", profit = Profit, loss = Stop)
	if (cu and k > OverBought)and(close_price < TREND)
		strategy.entry("SELL order", strategy.short, comment="SELL order")
		strategy.exit("exitSELL", "SELL order", profit = Profit, loss = Stop)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Mais.