Script de pino que se podría aplicar en tradingview, referencia de Shizaru:
// => RSI normal: verifica la doble o triple parte superior/inferior en un gráfico mientras RSI está descendiendo/ascendiendo (ver ejemplo en el gráfico)
// => línea de señal: cuando la Divergencia de RSI cruza la línea cero de abajo hacia arriba obtienes una señal de compra (la línea se vuelve verde),
// viceversa cuando la Divergencia de RSI cruza la línea cero en la dirección opuesta obtienes una señal de venta (la línea se vuelve roja)
study(title="Divergencia de RSI", shorttitle="Divergencia de RSI")
src_fast = close, len_fast = input(5, minval=1, title="Longitud RSI Rápido")
src_slow = close, len_slow = input(14,minval=1, title="Longitud RSI Lento")
up_fast = rma(max(change(src_fast), 0), len_fast)
down_fast = rma(-min(change(src_fast), 0), len_fast)
rsi_fast = down_fast == 0 ? 100 : up_fast == 0 ? 0 : 100 - (100 / (1 + up_fast / down_fast))
up_slow = rma(max(change(src_slow), 0), len_slow)
down_slow = rma(-min(change(src_slow), 0), len_slow)
rsi_slow = down_slow == 0 ? 100 : up_slow == 0 ? 0 : 100 - (100 / (1 + up_slow / down_slow))
//plotfast = plot(rsi_fast, color=blue)
//plotslow = plot(rsi_slow, color=orange)
divergencia = rsi_fast - rsi_slow
plotdiv = plot(divergencia, color = divergence > 0 ? lime:red, linewidth = 2)
//band1 = hline(70,color=green)
//band0 = hline(30,color=red)
band = hline(0)
divlong = divergence >=0
divshort = divergence <=0
alertcondition(divlong, title='Div Long', message='Div Long')
alertcondition(divshort, title='Div Short', message='Div Short')
data1 = divlong
data2 = divshort
plotshape(data1, style=shape.triangleup,location=location.bottom, color=green , title="DivUp")
plotshape(data2, style=shape.triangledown, location=location.top, color=red,title="DivDown")
0 votos
Para futuros visitantes, así es como implementé el algoritmo de detección de divergencias RSI: github.com/SpiralDevelopment/RSI-divergence-detector