RSI with EMA of RSI, shifted forward
//@version=2 study(title="WJA RSI+EMA", shorttitle="WJA RSI+EMA", overlay=false, precision=0) len = input(14, minval=1, title="RSI Length") src = input(hlc3, title="Source", type=source) len2 = input(21, minval=1, title="EMA of RSI Length") shift = input(13, title="Shift EMA") usesma = input(false, title="SMA ipv EMA", type=bool) up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) emaRSI = usesma ? sma(rsi,len2) : ema(rsi,len2) ematrend = rsi>emaRSI[shift] ? 1 : rsi<emaRSI[shift] ? -1 : 0 rsicol = ematrend==1 ? green : ematrend==-1 ? red : silver rsiplot=plot(rsi, title="RSI", style=line, linewidth=2, color=ematrend==1 and rsi<50 ? silver : ematrend==-1 and rsi>50 ? silver : rsicol) plot(emaRSI, title="EMA of RSI", style=dashed, linewidth=1, color=orange, offset=shift) plot(ematrend==ematrend[1] ? na : rsi, title="EMA cross", style=circles, linewidth=3, color=rsicol) hline(50, title="Middle line", linestyle=dashed, linewidth=1, color=gray) band1 = hline(70, title="Upper Line", linestyle=dashed, linewidth=1, color=red) band0 = hline(30, title="Lower Line", linestyle=dashed, linewidth=1, color=green) fill(band1, band0, color=purple, transp=90) upperplot = plot(rsi<70?na:70, transp=100) lowerplot = plot(rsi>30?na:30, transp=100) fill(rsiplot,upperplot,color=green, transp=70) fill(rsiplot,lowerplot,color=red, transp=70)