Este es el código final publicado al público que creé en un video enlazado aquí.
Este indicador combina una banda de Bollinger y el RSI estocástico para producir señales para una posible inversión de precios. Las señales se muestran por defecto como flechas verdes para alcistas y flechas rojas para bajistas.
Para activar una señal, el indicador comprueba lo siguiente:
(Alza) Una vela se cierra sobre la banda superior de Bollinger La siguiente vela se cierra dentro de la banda superior de Bollinger El índice RSI estocástico está por debajo del umbral establecido (10 por defecto)
- ¿ Qué? Una vela se cierra por debajo de la banda inferior de Bollinger La siguiente vela se cierra dentro de la banda inferior de Bollinger El índice RSI estocástico está por encima del umbral establecido (90 por defecto)
Prueba posterior
/*backtest start: 2022-04-30 00:00:00 end: 2022-05-29 23:59:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 study(shorttitle="BBSR Extreme", title="Bollinger Bands Stochastic RSI Extreme Signal", overlay=true, resolution="") //General Inputs src = input(close, title="Source") offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500) //Bollinger Inputs length = input(20, title="Bollinger Band Length", minval=1) mult = input(2.0, minval=0.001, maxval=50, title="StdDev") //Bollinger Code basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev plot(basis, "BB Basis", color=#872323, offset = offset) p1 = plot(upper, "BB Upper", color=color.teal, offset = offset) p2 = plot(lower, "BB Lower", color=color.teal, offset = offset) fill(p1, p2, title = "BB Background", color=#198787, transp=95) //Stoch Inputs smoothK = input(3, "K", minval=1) smoothD = input(3, "D", minval=1) lengthRSI = input(14, "RSI Length", minval=1) lengthStoch = input(14, "Stochastic Length", minval=1) upperlimit = input(90, "Upper Limit", minval=0.01) lowerlimit = input(10, "Upper Limit", minval=0.01) //Stochastic Code rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = 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.red, size=size.tiny) plotshape(Bull, style=shape.triangleup, location=location.belowbar, color=color.green, 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)