A estratégia de fusão RSI-CCI combina os pontos fortes dos indicadores RSI e CCI para formar uma abordagem de negociação poderosa.
Calcular os valores do RSI e do CCI.
Padronizar o RSI e o CCI utilizando a pontuação z para uma melhor comparabilidade.
Fusão padronizada RSI e CCI com pesos designados.
Calcular as faixas dinâmicas superior e inferior para identificar os níveis de sobrecompra/supervenda.
Considere-se curto quando o indicador de fusão cruza abaixo da faixa superior. Considere-se longo quando cruza acima da faixa inferior.
Em comparação com a utilização de RSI ou CCI sozinho, as vantagens desta estratégia incluem:
Integra os pontos fortes de ambos os indicadores para uma melhor precisão.
As bandas dinâmicas mais científicas reduzem os falsos sinais.
A normalização permite a comparabilidade, melhorando a fusão.
Pode avaliar a tendência e as condições de sobrecompra/supervenda.
Alguns riscos desta estratégia:
Parâmetros inadequados podem perder pontos-chave de troca.
Os pesos inadequados podem enfraquecer o papel de um indicador.
Ignorar a tendência global pode provocar operações contrárias à tendência.
As configurações de faixa demasiado largas ou demasiado apertadas aumentam os riscos de erro de julgamento.
Pode ser otimizada por:
Encontrar parâmetros ótimos através de testes.
Ajuste dos pesos com base nas condições do mercado.
Incorporar indicadores de tendência e volume para melhor precisão.
Configuração de stop loss/take profit para controlar os riscos.
Otimizar as bandas para equilibrar sensibilidade e ruído.
A estratégia de fusão RSI-CCI melhora o julgamento através da consolidação de indicadores. Com parâmetros adequados e controlo de risco, geralmente supera as estratégias de indicadores únicos.
/*backtest start: 2023-08-19 00:00:00 end: 2023-09-18 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © Julien_Eche //@version=5 // strategy("RSI-CCI Fusion Strategy", shorttitle="RSI-CCI Fusion Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) length = input(14, title="Length") rsi_weight = input.float(0.5, title="RSI Weight", minval=0.0, maxval=1.0) cci_weight = 1.0 - rsi_weight enableShort = input(false, "Enable Short Positions") src = close rsi = ta.rsi(src, length) cci = ta.cci(src, length) // Standardize the RSI and CCI values using z-score rsi_std = ta.stdev(rsi, length) rsi_mean = ta.sma(rsi, length) rsi_z = (rsi - rsi_mean) / rsi_std cci_std = ta.stdev(cci, length) cci_mean = ta.sma(cci, length) cci_z = (cci - cci_mean) / cci_std // Combine the standardized RSI and CCI combined_z = rsi_weight * rsi_z + cci_weight * cci_z // Rescale to the original scale rescaled = combined_z * ta.stdev(combined_z, length) + ta.sma(combined_z, length) // Calculate dynamic upper and lower bands upper_band = ta.sma(rescaled, length) + ta.stdev(rescaled, length) lower_band = ta.sma(rescaled, length) - ta.stdev(rescaled, length) // Buy and sell conditions buySignal = ta.crossover(rescaled, lower_band) sellSignal = ta.crossunder(rescaled, upper_band) // Enter long position if buySignal strategy.entry("Buy", strategy.long) // Exit long position if sellSignal strategy.close("Buy") // Enter short position if enabled if enableShort and sellSignal strategy.entry("Sell", strategy.short) // Exit short position if enabled if enableShort and buySignal strategy.close("Sell")