Nuvem Ichimoku com estratégia de cruzamento de média móvel dupla

Autora:ChaoZhang, Data: 2023-12-26 16:10:24
Tags:

img

Resumo

Esta estratégia combina a nuvem de Ichimoku com um sistema duplo de cruzamento de média móvel para formar julgamentos sobre o momentum de longo prazo e de curto prazo, permitindo a identificação de tendências e sinais comerciais altamente precisos. A nuvem de Ichimoku é formada pela linha de conversão, linha de base e linhas principais para determinar a energia dos preços e os movimentos futuros.

Estratégia lógica

A estratégia consiste principalmente na nuvem de Ichimoku e em indicadores de EMA duplos.

Dentro da nuvem Ichimoku, a linha de base representa tendências de médio prazo, linha de conversão para tendências de curto prazo e bandas de nuvem para suporte / resistência. Especificamente, a linha de base é o preço médio de 26 períodos, a conversão é o preço médio de 9 períodos, as fronteiras das nuvens são os pontos médios das linhas de base / conversão e o preço médio de 52 períodos.

Para as EMAs duplas, a EMA de 13 períodos monitora tendências de curto prazo e a EMA de 21 períodos tendências de médio prazo.

A combinação dos julgamentos de Ichimoku e EMA permite a detecção de tendências bastante precisa. Regras específicas de entrada exigem preço acima da linha de atraso, 13EMA acima da linha de base e 21EMA, e preço dentro da nuvem para longs.

A nuvem identifica as principais tendências, a EMAs momentum de curto prazo, e a linha atrasada filtra whipssaws.

Vantagens

A estratégia apresenta as seguintes vantagens principais:

  1. Sintese de quadros de tempo múltiplos: nuvem para médio/longo prazo, EMAs para curto prazo combinam múltiplas dimensões para melhor precisão.

  2. Regras de entrada rigorosas que exigem preço, nuvem, linha atrasada, alinhamento das EMAs filtram o ruído.

  3. Parâmetros otimizados, entradas como linha de conversão de 9 períodos, linha de base de 26 períodos geram sinais de forma confiável.

  4. Aplicável a ativos de alta volatilidade, a nuvem Ichimoku é robusta contra lacunas, adequada para ações voláteis e criptomoedas.

  5. Níveis claros de apoio/resistência.

Análise de riscos

Há também alguns riscos a considerar:

  1. As nuvens divergem e a fiabilidade do sinal diminui quando não há tendências claras.

  2. A linha de atraso pode perder pontos de reversão, e voltas rápidas podem significar perdas de detecção de linha de atraso.

  3. Os traders precisam de uma forte compreensão de todos os indicadores para julgamentos precisos.

  4. As falhas de ruptura são possíveis nas penetrações iniciais da nuvem.

  5. Riscos de sobreajuste de backtest. Os parâmetros atuais otimizados podem superajustar dados específicos de backtest. O desempenho ao vivo pode se deteriorar.

Algumas medidas de atenuação destes riscos incluem:

  1. Redução do dimensionamento das posições em condições de volatilidade.

  2. Indicadores adicionais como MACD, RSI para filtrar sinais de linha atrasada.

  3. Revisão dos resultados de vários períodos e instrumentos para verificar a estabilidade. Incorporar fatores comerciais reais como deslizamento, comissões.

  4. Acompanhe o desempenho ao vivo para registrar anomalias versus comportamentos esperados como referência para melhorias.

Oportunidades de melhoria

A estratégia pode ser melhorada em vários aspectos:

  1. Incorporar mecanismos de stop loss como volatilidade ou stop baseados em alto/baixo para limitar estritamente os riscos.

  2. Otimizar os períodos de EMA para uma melhor sensibilidade à tendência/contratendência.

  3. Adicione indicadores adicionais como MACD, RSI para filtrar sinais, removendo falsos positivos.

  4. Adaptar o dimensionamento das posições com base em modelos de volatilidade, aumentar o tamanho em ambientes calmos com baixa volatilidade.

  5. Ensaiar a robustez dos parâmetros em diferentes instrumentos e períodos de tempo para determinar a estabilidade.

Estas melhorias podem melhorar ainda mais a estabilidade, a qualidade do sinal, a robustez contra a adaptação da curva e a resiliência dos parâmetros em várias condições de mercado.

Conclusão

A nuvem de Ichimoku integrada e a estratégia dupla de crossover da EMA complementam as capacidades de tendência de Ichimoku com as habilidades de previsão de curto prazo da EMA em um sistema robusto em vários prazos. Condições de entrada de múltiplos indicadores rigorosas filtram efetivamente sinais falsos, mas os riscos de fenda devem ser observados em períodos agitados, garantindo indicadores de confirmação adicionais nesses casos.


/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("13/21 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)
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 = close>ChikouSpan and Sema>KijunSen and Sema>Mema and SenkouSpanA>SenkouSpanB
strategy.entry("Long",strategy.long,when = longCondition)
strategy.close("Long", when = (close<KijunSen and close<ChikouSpan and Sema<Mema))

shortCondition = close<ChikouSpan and Sema<KijunSen and Sema<Mema and SenkouSpanA<SenkouSpanB
strategy.entry("Short",strategy.short, when = shortCondition)
strategy.close("Short", when = (close>KijunSen and close>ChikouSpan and Sema>Mema))

Mais.