Shizaru

RSI Divergence

RSI DIVERGENCE is a difference between a fast and a slow RSI . Default values are 5 for the fast one and 14 for the slow one.
You can use this indicator in 2 different ways:
  • normal RSI: check double or triple top/bottom on a chart meanwhile RSI is descending/ascending (check the example on chart)
  • signal line: when RSI Divergence cross zero line from bottom to top you get a buy signal (the line become green), vice versa when the RSI Divergence cross zero line in the opposite way you get a sell signal (the line become red)
Script open-source

Nello spirito di condivisione promosso da TradingView, l'autore (al quale vanno i nostri ringraziamenti) ha deciso di pubblicare questo script in modalità open-source, così che chiunque possa comprenderlo e testarlo. Puoi utilizzarlo gratuitamente, ma il riutilizzo del codice è subordinato al rispetto del Regolamento. Per aggiungerlo al grafico, mettilo tra i preferiti.

Vuoi usare questo script sui tuoi grafici?

Commenti

@Shizaru thanks for the nice code. Looks really great.
Is it possible that the script also draws the dotted line as in your example on two or three top / bottom ?

+74 Rispondi
This looks amazing. I'm just wondering how to set the alert so that it triggers when the signal line changes colors (red to green/green to red). Does anyone have any experience setting this? Thanks!
+65 Rispondi
AgeM jregan11
@jregan11, Did you solve this?
+23 Rispondi
AgeM AgeM
+10 Rispondi
@AgeM, @jregan11 If you need a hand with this let me know. I'm happy to code something. Just PM me.
+8 Rispondi
lavventura DreamsDefined
@DreamsDefined, I know its a pretty old comment but did you able to code to send an alert?
+12 Rispondi
self2point0 jregan11
@jregan11, add this to the bottom of the script

divlong = divergence < 0 and divergence >=0
divshort = divergence > 0 and divergence <=0

alertcondition(divlong, title='Div Long', message='Div Long')
alertcondition(divshort, title='Div Short', message='Div Short')

data1 = divlong
plotshape(data1, style=shape.triangleup,location=location.bottom, color=green , title="DivUp")

data2 = divshort
plotshape(data2, style=shape.triangledown, location=location.top, color=red,title="DivDown")
+19 Rispondi
Minimal_Est self2point0
@self2point0, hi does it actually work ?
+3 Rispondi
self2point0 Minimal_Est
@Minimal_Est, yes definitely works. Here's the full script:

study(title="RSI Divergence w Alerts", shorttitle="RSI Divergence w alerts")
src_fast = close, len_fast = input(10, minval=1, title="Length Fast RSI")
src_slow = close, len_slow = input(33,minval=1, title="Length Slow RSI")
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)
divergence = rsi_fast - rsi_slow
plotdiv = plot(divergence, color = divergence > 0 ? green:red, linewidth = 3)
//band1 = hline(70,color=green)
//band0 = hline(30,color=red)
band = hline(0)

divlong = divergence < 0 and divergence >=0
divshort = divergence > 0 and divergence <=0

alertcondition(divlong, title='Div Long', message='Div Long')
alertcondition(divshort, title='Div Short', message='Div Short')

data1 = divlong
plotshape(data1, style=shape.triangleup,location=location.bottom, color=green , title="DivUp")

data2 = divshort
plotshape(data2, style=shape.triangledown, location=location.top, color=red,title="DivDown")
+4 Rispondi
Home Screener azioni Screener forex Screener cripto Calendario economico Su di noi Caratteristiche Grafico Costi Invita un amico Regolamento Centro di supporto Soluzioni per broker & siti web Widget Librerie grafiche Libreria grafica leggera Blog & Novità Twitter