Esta estratégia é um sistema de negociação adaptativo que combina as Bandas de Bollinger e o Índice de Força Relativa (RSI). Identifica oportunidades de negociação potenciais utilizando os canais de preços das Bandas de Bollinger e os sinais de sobrecompra/supervenda do RSI para capturar as tendências e a volatilidade do mercado. A estratégia usa desvio padrão para ajustar dinamicamente os intervalos de negociação e combina os níveis de sobrecompra/supervenda do indicador RSI para confirmar os sinais de negociação, melhorando assim a precisão da negociação.
O núcleo da estratégia é capturar oportunidades de volatilidade do mercado através de Bollinger Bands
A estratégia constrói um sistema de negociação relativamente completo através da aplicação combinada de Bandas de Bollinger e RSI. Sua força reside em sua capacidade de se adaptar à volatilidade do mercado e fornecer sinais de negociação confiáveis, embora o impacto do ambiente de mercado no desempenho da estratégia precise de atenção. Através das direções de otimização sugeridas, a estabilidade e confiabilidade da estratégia podem ser ainda melhoradas. Na aplicação prática, os comerciantes são aconselhados a ajustar parâmetros de acordo com características específicas do mercado e combinar com outras ferramentas de análise técnica para decisões de negociação.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands and RSI Strategy with Buy/Sell Signals", overlay=true) // Input settings bb_length = input.int(20, title="Bollinger Bands Length", minval=1) bb_mult = input.float(2.0, title="Bollinger Bands Multiplier", minval=0.1) rsi_length = input.int(14, title="RSI Length", minval=1) rsi_overbought = input.int(70, title="RSI Overbought Level", minval=50) rsi_oversold = input.int(30, title="RSI Oversold Level", minval=1) // Bollinger Bands calculation basis = ta.sma(close, bb_length) dev = bb_mult * ta.stdev(close, bb_length) upper_band = basis + dev lower_band = basis - dev // RSI calculation rsi = ta.rsi(close, rsi_length) // Buy signal: Price touches lower Bollinger Band and RSI is oversold buy_signal = ta.crossover(close, lower_band) and rsi < rsi_oversold // Sell signal: Price touches upper Bollinger Band and RSI is overbought sell_signal = ta.crossunder(close, upper_band) and rsi > rsi_overbought // Execute orders if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.close("Buy") // Plotting Bollinger Bands and RSI plot(upper_band, color=color.red, linewidth=2, title="Upper Band") plot(lower_band, color=color.green, linewidth=2, title="Lower Band") plot(basis, color=color.blue, linewidth=1, title="Middle Band") hline(rsi_overbought, "Overbought", color=color.red, linestyle=hline.style_dashed) hline(rsi_oversold, "Oversold", color=color.green, linestyle=hline.style_dashed) plot(rsi, "RSI", color=color.orange) // Add Buy/Sell signals on the chart plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")