
Esta estrategia es una estrategia de comercio cuantitativa que combina la banda de Brin y un indicador relativamente fuerte (RSI). La estrategia capta los puntos de inflexión del mercado mediante la combinación de la ruptura del precio de la banda de Brin con la zona de sobreventa del RSI, para lograr la captura de la tendencia. La estrategia utiliza una banda de Brin de 20 ciclos y un indicador RSI de 14 ciclos, que hace más para entrar cuando el precio rompe la banda de Brin y el RSI está en la zona de sobreventa.
La lógica central de la estrategia se basa en la interacción de dos indicadores técnicos. La banda de Bolling se compone de un medio (una media móvil simple de 20 ciclos) y un subido (una media ± 2 veces la diferencia estándar) que reflejan el rango de fluctuación y la tendencia de los precios. El indicador RSI, por su parte, juzga el estado de sobreventa de los mercados por medio del cálculo de la intensidad relativa de los cambios en los precios.
Se trata de una estrategia cuantitativa de combinación innovadora de los indicadores técnicos clásicos Brin Belt y RSI. A través de la complementariedad de los dos indicadores, se garantiza la fiabilidad de la señal y se logra un control efectivo de los puntos de inflexión del mercado. La lógica de la estrategia es clara, la computación es simple y tiene una gran utilidad.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands + RSI Strategy", overlay=true)
// Bollinger Bands
length = 20
src = close
mult = 2.0
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// RSI
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsiValue = ta.rsi(src, rsiLength)
// Plot Bollinger Bands
plot(basis, color=color.blue, linewidth=1)
plot(upper, color=color.red, linewidth=1)
plot(lower, color=color.green, linewidth=1)
// Plot Buy/Sell signals
buySignal = ta.crossover(close, lower) and rsiValue < rsiOversold
sellSignal = ta.crossunder(close, upper) and rsiValue > rsiOverbought
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy Entry/Exit
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")
// RSI Plot (not on overlay, for reference)
rsiPlot = plot(rsiValue, title="RSI", color=color.purple, linewidth=1, offset=-1)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)