Estratégia de rastreamento de impulso baseada na nuvem Ichimoku

Autora:ChaoZhang, Data: 2024-01-18 12:32:46
Tags:

img

Resumo

Esta estratégia combina médias móveis, índice de força relativa (RSI) e nuvem ichimoku para identificar tendências de preços e fazer negociações em conformidade.

Estratégia lógica

A estratégia emprega quatro médias móveis - 13, 21, 89 e 233 dias. O MA de 13 dias representa uma tendência de curto prazo, enquanto a linha de 233 dias mostra uma tendência de longo prazo. Os MA de 21 e 89 dias estão no meio. Quando o MA de curto prazo cruza acima dos de médio prazo, ele indica uma quebra para cima e gera sinais de compra. A cruz oposta leva a sinais de venda.

Além disso, a linha de conversão (9 dias de MA), linha de base (26 dias de MA) e o span principal (média de conversão e linhas de base) da nuvem Ichimoku são usados.

Além disso, são aplicados RSI de 12 e 24 dias. O RSI de 12 dias representa os níveis de sobrecompra/supervenda de curto prazo, enquanto a linha de 24 dias mostra situações de médio prazo. Os cruzamentos entre os dois podem ajudar a confirmar os sinais de negociação.

Vantagens

  • Identificar a direcção da tendência com os MAs
  • Nuvem Ichimoku para o tempo de entrada e saída
  • Evitar falhas de ruptura usando RSI

Esta estratégia se destaca em capturar a tendência predominante dos preços dos títulos. A entrada e saída baseadas em MA e ichimoku melhora a precisão. Além disso, o crossover do RSI ajuda a evitar falsos sinais. Em resumo, isso combina os pontos fortes de vários indicadores para negociar efetivamente ao longo da tendência.

Riscos

  • Risco de inversão da tendência
    Os traders devem estar atentos aos preços que toquem as médias móveis e estar preparados para fechar posições.

  • Optimização de parâmetros
    Há salas para melhorar os períodos de MA, parâmetros de Ichimoku etc. Os comerciantes podem experimentar para encontrar o conjunto ideal para diferentes produtos.

  • Alta frequência de negociação
    A estratégia pode negociar com bastante frequência, portanto, os custos de comissão precisam ser considerados.

Melhorias

  • Adicionar meta de stop loss/lucro
    A introdução de tais mecanismos de gestão de riscos reduziria os saques.

  • Ajuste de parâmetros
    Otimizar os períodos de MA, as entradas de Ichimoku, os dias de RSI, etc. para uma melhor estabilidade em diferentes produtos.

  • Incorporar mais indicadores
    Outros indicadores derivados relativos à volatilidade e ao volume poderão fornecer informações adicionais.

Conclusão

Esta é uma tendência típica após a estratégia aproveitando os pontos fortes dos MA, RSI e Ichimoku cloud. Ele bloqueia de forma confiável as tendências prevalecentes. Através de refinamentos como stop loss, otimização de parâmetros, etc., o desempenho pode ser melhorado.


/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("EMA + Ichimoku Kinko Hyo Strategy", shorttitle="EMI", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(26, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(52, minval=1, title="Senkou Span B Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]

Sema = ema(close, 13)
Mema = ema(close, 21)
Lema = ema(close, 89)
XLema = ema(close, 233)

plot(Sema, color=blue, title="13 EMA", linewidth = 2)
plot(Mema, color=fuchsia, title="21 EMA", linewidth = 1)
plot(Lema, color=orange, title="89 EMA", linewidth = 2)
plot(XLema, color=teal, title="233 EMA", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=lime, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 1)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = (rsi(close, 12)>rsi(close, 24)) and close>ChikouSpan and Sema>KijunSen
strategy.entry("Long",strategy.long,when = longCondition)

strategy.close("Long", when = (rsi(close, 12)<rsi(close, 24) and (close<KijunSen and close<ChikouSpan)))

shortCondition = (rsi(close, 12)<rsi(close, 24)) and close<ChikouSpan and Sema<KijunSen
strategy.entry("Short",strategy.short, when = shortCondition)

strategy.close("Short", when = (rsi(close, 12)>rsi(close, 24) and (close>KijunSen and close>ChikouSpan)))

Mais.