Esta estrategia es un sistema de negociación adaptativo que combina bandas de Bollinger e índice de fuerza relativa (RSI). Identifica las oportunidades comerciales potenciales mediante la utilización de los canales de precios de bandas de Bollinger y las señales de sobrecompra / sobreventa de RSI para capturar las tendencias y la volatilidad del mercado. La estrategia utiliza la desviación estándar para ajustar dinámicamente los rangos de negociación y combina los niveles de sobrecompra / sobreventa del indicador RSI para confirmar las señales de negociación, mejorando así la precisión de la negociación.
El núcleo de la estrategia es capturar las oportunidades de volatilidad del mercado a través de las bandas de Bollinger
La estrategia construye un sistema comercial relativamente completo mediante la aplicación combinada de bandas de Bollinger y RSI. Su fortaleza radica en su capacidad para adaptarse a la volatilidad del mercado y proporcionar señales comerciales confiables, aunque el impacto del entorno del mercado en el rendimiento de la estrategia necesita atención. A través de las direcciones de optimización sugeridas, la estabilidad y confiabilidad de la estrategia se pueden mejorar aún más.
/*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")