Estratégia de combinação de Ichimoku Cloud e RSI

Autora:ChaoZhang, Data: 2021-09-21 10:52:13
Tags:

Resumo

Esta estratégia combina os indicadores Ichimoku Cloud e Relative Strength Index (RSI) para determinar a direção da tendência e entrar em posições quando uma tendência começa.

Estratégia lógica

  1. Calcule as linhas Tenkan-sen, Kijun-sen, Chikou Span da Nuvem Ichimoku
  2. Calcular os valores do RSI
  3. Vá longo quando o Tenkan-sen cruzar acima do Kijun-sen, Chikou Span acima da nuvem, o preço sair acima da nuvem e o RSI abaixo de 50
  4. Vai curto quando Tenkan-sen cruza abaixo Kijun-sen, Chikou Span abaixo nuvem, preço quebra nuvem e RSI acima de 50
  5. Posição de fechamento quando ocorrer sinal de reversa

Especificamente, ele combina a análise de tendência da Ichimoku Cloud e o indicador de sobrecompra e sobrevenda do RSI. Os sinais de entrada são gerados quando as linhas de Ichimoku se alinham na formação de início da tendência e o RSI não mostra nenhuma condição de sobrecompra e sobrevenda. Os filtros do RSI ajudam a evitar falhas durante a consolidação. As saídas seguem completamente a FORMAÇÃO inversa de Ichimoku.

Análise das vantagens

  1. A combinação de RSI melhora a precisão de entrada
  2. A Nuvem Ichimoku tem uma forte tendência de capacidade
  3. Os sinais são simples e intuitivos.
  4. Parâmetros personalizáveis para ciclos diferentes
  5. Risco gerido por paragem de lucro/perda

Análise de riscos

  1. A Nuvem Ichimoku pode estar atrasada, causando falhas.
  2. Requer otimização de parâmetros, senão sinais imprecisos
  3. A detenção longa introduz um risco do dia para a noite
  4. RSI propenso a sinais falsos
  5. Riscos de ficarem presos em reversões

Os riscos podem ser geridos através de otimização de parâmetros, ajuste de stop profit/loss, limitação do período de detenção, etc.

Orientações de otimização

  1. Teste diferentes parâmetros de linha e RSI para obter as melhores combinações
  2. Introduzir stop loss de atraso
  3. Avaliar a limitação das horas de negociação
  4. Preferências dos parâmetros de estudo entre produtos
  5. Regras de adição de ensaio de reentrada e de pirâmide
  6. Comparar diferentes estratégias de stop profit/loss

Resumo

Esta estratégia combina Ichimoku Cloud e RSI para análise de tendências e negociação. Os prós são sinais intuitivos simples e alto ROI; os contras são lags e riscos presos. O desempenho pode ser melhorado e os riscos controlados por meio de otimização de parâmetros, sintonização de stop profit / loss, controle de horas de negociação, etc. Permite uma compreensão abrangente da aplicação Ichimoku Cloud.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy("Ichimoku Cloud with RSI (By Coinrule)",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 6, 1, 0, 0)


// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)


//Inputs
ts_bars = input.int(9, minval=1, title="Tenkan-Sen Bars")
ks_bars = input.int(26, minval=1, title="Kijun-Sen Bars")
ssb_bars = input.int(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input.int(26, minval=1, title="Chikou-Span Offset")
ss_offset = input.int(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => math.avg(ta.lowest(len), ta.highest(len))


// Components of Ichimoku Cloud
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_bars)


// Plot Ichimoku Cloud
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.green : color.red, title="Cloud color")

ss_high = math.max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = math.min(senkouA[ss_offset-1], senkouB[ss_offset-1])


// Entry/Exit Conditions
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = ta.mom(close, cs_offset-1) > 0
cs_cross_bear = ta.mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo

strategy.entry("Long", strategy.long, when=bullish and long_entry and RSI < 50 and timePeriod)
strategy.close("Long", when=bearish and not short_entry)

strategy.entry("Short", strategy.short, when=bearish and short_entry and RSI > 50 and timePeriod)
strategy.close("Short", when=bullish and not long_entry)

Mais.