Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //@version=4
- study(title="Absolute Strength Index Oscillator", shorttitle="ASI v4")
- asi_ebc = input(title="Enable Bar Colors",type=input.bool, defval=true)
- asi_ema_len = input(title="ASI EMA Lenght", type=input.integer, defval=25)
- asi_sig_len = input(title="ASI Signal Length", type=input.integer, defval=25)
- osl=10.
- calc_abssio() =>
- A=0.
- M=0.
- D=0.
- A:=iff(close>close[1], nz(A[1])+(close/close[1])-1,nz(A[1]))
- M:=iff(close==close[1], nz(M[1])+1.0/osl,nz(M[1]))
- D:=iff(close<close[1], nz(D[1])+(close[1]/close)-1,nz(D[1]))
- iff (D+M/2==0, 1, 1-1/(1+(A+M/2)/(D+M/2)))
- abssi=calc_abssio()
- abssio = (abssi - ema(abssi,asi_ema_len))
- alp=2.0/(asi_sig_len+1)
- mt=0.
- mt:=alp*abssio+(1-alp)*nz(mt[1])
- ut=0.
- ut:=alp*mt+(1-alp)*nz(ut[1])
- s=0.0
- s:=((2-alp)*mt-ut)/(1-alp)
- d=abssio-s
- hline(0, title="ZeroLine")
- plot(abssio*55000, color=(abssio > 0 ? abssio >= s ? color.green : color.orange : abssio <=s ? color.red :color.orange), title="ABSSIO", style=plot.style_histogram, linewidth=2)
- plot(abssio*55000, color=color.white, title="ABSSIO_Points", linewidth=1)
- plot(s*55000, color=color.gray, title="MA")
- barcolor(asi_ebc?(abssio > 0 ? abssio >= s ? color.lime : color.orange : abssio <=s ? color.red :color.orange):na)
Add Comment
Please, Sign In to add comment