
La estrategia utiliza la banda de Brin y el indicador de RSI aleatorio para generar señales que pueden indicar una reversión de precios. Por defecto, la señal bajista se muestra como una flecha roja y la señal bajista se muestra como una flecha verde. Antes de emitir una señal, la estrategia busca lo siguiente:
El principio central de esta estrategia es el uso de dos indicadores técnicos, el Brinband y el RSI aleatorio, para capturar posibles señales de reversión de precios. El Brinband consta de una trayectoria media (generalmente una media móvil) y dos trayectorias superiores y inferiores (medias y descenso estándar) que reflejan la fluctuación de los precios. Cuando los precios se desvían hacia arriba o hacia abajo, generalmente significa que el sentimiento del mercado es demasiado optimista o pesimista y que los precios pueden reversarse.
La estrategia de señal de extremo de RSI aleatorio de la banda de Brin, combinando dos indicadores técnicos, el RSI aleatorio y el RSI aleatorio, para que el precio rompa la banda de Brin y el RSI aleatorio llegue a la zona de extremo de sobreventa como una señal potencial de reversión, forma una estrategia de negociación simple y fácil de usar. La estrategia tiene la ventaja de la fiabilidad de la señal, la amplia gama de aplicaciones, etc., pero tiene un mal rendimiento en mercados de vacío, puede estar rezagado en mercados de tendencia, y la configuración de parámetros también es más sensible.
/*backtest
start: 2023-04-06 00:00:00
end: 2024-04-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(shorttitle='BBSR Extreme', title='Bollinger Bands Stochastic RSI Extreme Signal', overlay=true)
//General Inputs
src = input(close, title='Source')
offset = input.int(0, 'Offset', minval=-500, maxval=500)
//Bollinger Inputs
length = input.int(20, title='Bollinger Band Length', minval=1)
mult = input.float(2.0, minval=0.001, maxval=50, title='StdDev')
//Bollinger Code
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, 'BB Basis', color=color.new(#872323, 0), offset=offset)
p1 = plot(upper, 'BB Upper', color=color.new(color.teal, 0), offset=offset)
p2 = plot(lower, 'BB Lower', color=color.new(color.teal, 0), offset=offset)
fill(p1, p2, title='BB Background', color=color.new(#198787, 95))
//Stoch Inputs
smoothK = input.int(3, 'K', minval=1)
smoothD = input.int(3, 'D', minval=1)
lengthRSI = input.int(14, 'RSI Length', minval=1)
lengthStoch = input.int(14, 'Stochastic Length', minval=1)
upperlimit = input.float(90, 'Upper Limit', minval=0.01)
lowerlimit = input.float(10, 'Upper Limit', minval=0.01)
//Stochastic Code
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
//Evaluation
Bear = close[1] > upper[1] and close < upper and k[1] > upperlimit and d[1] > upperlimit
Bull = close[1] < lower[1] and close > lower and k[1] < lowerlimit and d[1] < lowerlimit
//Plots
plotshape(Bear, style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny)
plotshape(Bull, style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.tiny)
// Alert Functionality
alertcondition(Bear or Bull, title='Any Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' BB Stochastic Extreme!')
alertcondition(Bear, title='Bearish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bearish BB Stochastic Extreme!')
alertcondition(Bull, title='Bullish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bullish BB Stochastic Extreme!')
if Bear
strategy.entry('Enter Long', strategy.long)
else if Bull
strategy.entry('Enter Short', strategy.short)