Esta estrategia es un sistema de trading auto-adaptativo que combina las bandas de Bollinger y el índice relativamente débil RSI. La estrategia utiliza el canal de precios de las bandas de Bollinger y las señales de sobreventa y sobreventa del RSI para identificar oportunidades potenciales de negociación y capturar las tendencias y las fluctuaciones del mercado. La estrategia utiliza la diferencia estándar para ajustar dinámicamente el intervalo de negociación y la combinación de los niveles de sobreventa y sobreventa del RSI para confirmar las señales de negociación, lo que mejora la precisión de las operaciones.
El núcleo de la estrategia es capturar las oportunidades de fluctuación del mercado a través de la combinación de la banda de Brin, la media y la baja de la banda de Brin con el indicador RSI. La banda de Brin se basa en una media móvil de 20 períodos y se calcula con el doble de la diferencia estándar para descender. El RSI utiliza un cálculo de 14 períodos y establece 70 como niveles de sobreventa y 30 como niveles de sobreventa.
La estrategia, a través de la aplicación combinada de las bandas de Brin y el RSI, construye un sistema de negociación relativamente completo. La ventaja de la estrategia es su capacidad para adaptarse a la volatilidad del mercado y proporcionar señales de negociación confiables, pero aún así se debe tener en cuenta el impacto del entorno de mercado en el rendimiento de la estrategia.
/*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")