TradingView
LazyBear
21 de Abr. de 2015 17:11

JMA RSX Clone [LazyBear] 

Bitcoin / U.S. dollarBitstamp

Descripción

RSX is a "noise free" version of RSI, with no added lag. This is a port of a clone to Pine.

Use this indicator just like RSI. I have set the default length to 14, feel free to experiment. You can reduce length with out worrying about jaggedness.

Options page has all the configurable parameters. You can use the plot names to setup alerts.

I have couple of more indicators built using this, will post them later. Let me know what you think about this indicator.

RSX Clone compared to normal RSI:


Smoothness helps a lot in identifying the divergences correctly:


More info:
jurikres.com/down__/product_guide_.pdf

List of my public indicators: bit.ly/1LQaPK8
List of my app-store indicators: blog.tradingview.com/?p=970
Comentarios
vedantani
Pardon my ignorance of pinescript, but what are the values f90_ mean ? are they 90th element (from end) of the price array ?
praveen_k034
Hi Lazybear,
From the script what are the variables f99_, f88, f20. Why do you use these series of variables (f8,f10,f18,f20,f28...). I tried to output the variable for f99_ but returned an unassigned variable.
Regards,
praveen
DanielKovacik
Hello, I am interested in LB_RSRL but cant find anything similar in your list of indicators. Would PM code, please? Thanks
LazyBear
Hi Daniel,

RSI S/R level is part of one of my appstore packages. More info: tradingview.com/market/lb-srlevels/

Feel free to ping me if you need more info.
9e61c732e44a4d3d842253713ef482
do you have the code compatible with multicharts?
joaoguariglia
Consegui converter ele para v5

//@version=5 indicator(title='JMA RSX', shorttitle='RSXC_LB', overlay=false) src = input(close, title='Source') length = input(14, title='Length') lvlob = input(70, title='OB Level') lvlos = input(30, title='OS Level') mid = input(50, title='Mid Level') var float f90_ = 0.0 var float f88 = 0.0 var float f8 = 0.0 var float f18 = 0.0 var float f20 = 0.0 var float f10 = 0.0 var float v8 = 0.0 var float f28 = 0.0 var float f30 = 0.0 var float vC = 0.0 var float f38 = 0.0 var float f40 = 0.0 var float v10 = 0.0 var float f48 = 0.0 var float f50 = 0.0 var float v14 = 0.0 var float f58 = 0.0 var float f60 = 0.0 var float v18 = 0.0 var float f68 = 0.0 var float f70 = 0.0 var float v1C = 0.0 var float f78 = 0.0 var float f80 = 0.0 var float v20 = 0.0 var float f0 = 0.0 var float f90 = 0.0 var float v4_ = 0.0 var float rsx = 0.0 f90_ := na(f90_[1]) ? 1.0 : nz(f88[1]) <= nz(f90_[1]) ? nz(f88[1]) + 1 : nz(f90_[1]) + 1 f88 := na(f90_[1]) and length - 1 >= 5 ? length - 1.0 : 5.0 f8 := 100.0 * src f18 := 3.0 / (length + 2.0) f20 := 1.0 - f18 f10 := nz(f8[1]) v8 := f8 - f10 f28 := f20 * nz(f28[1]) + f18 * v8 f30 := f18 * f28 + f20 * nz(f30[1]) vC := f28 * 1.5 - f30 * 0.5 f38 := f20 * nz(f38[1]) + f18 * vC f40 := f18 * f38 + f20 * nz(f40[1]) v10 := f38 * 1.5 - f40 * 0.5 f48 := f20 * nz(f48[1]) + f18 * v10 f50 := f18 * f48 + f20 * nz(f50[1]) v14 := f48 * 1.5 - f50 * 0.5 f58 := f20 * nz(f58[1]) + f18 * math.abs(v8) f60 := f18 * f58 + f20 * nz(f60[1]) v18 := f58 * 1.5 - f60 * 0.5 f68 := f20 * nz(f68[1]) + f18 * v18 f70 := f18 * f68 + f20 * nz(f70[1]) v1C := f68 * 1.5 - f70 * 0.5 f78 := f20 * nz(f78[1]) + f18 * v1C f80 := f18 * f78 + f20 * nz(f80[1]) v20 := f78 * 1.5 - f80 * 0.5 f0 := f88 >= f90_ and f8 != f10 ? 1.0 : 0.0 f90 := f88 == f90_ and f0 == 0.0 ? 0.0 : f90_ v4_ := f88 < f90 and v20 > 0.0000000001 ? (v14 / v20 + 1.0) * 50.0 : 50.0 rsx := v4_ > 100.0 ? 100.0 : v4_ < 0.0 ? 0.0 : v4_ plot(rsx, color=color.new(color.blue, 0))
per-aspera-ad-astra
Hi LB, awesome script!

i'm wondering if there is a way to reduce lag of the rsx?
JurikMA seems to have some options like phase and power.
I could not see these in the code so wondering if it would be possible to tweak the code so user can have control over these variables (have & power)?

Thanks!!!
Looker12
Very good indicator! )))))))))

Fix for Pine version 5:

//@version=5
indicator(title='RSX', shorttitle='RSX', overlay=false)
src = input(close)
length = input(14)
lvlob = input(70, title='OB Level')
lvlos = input(30, title='OS Level')
mid = input(50, title='Mid Level')
clampmax = 100
clampmin = 0
var f90_ = 0.0
var f88 = 0.0
var f28 = 0.0
var f20 = 0.0
var f30 = 0.0
var vC = 0.0
var f38 = 0.0
var f40 = 0.0
var v10 = 0.0
var f48 = 0.0
var f50 = 0.0
var v14 = 0.0
var f58 = 0.0
var f60 = 0.0
var v18 = 0.0
var f68 = 0.0
var f70 = 0.0
var v1C = 0.0
var f78 = 0.0
var f80 = 0.0
var v20 = 0.0
var f0 = 0.0
var f90 = 0.0
var v4_ = 0.0
var rsx = 0.0
f90_ := nz(f90_[1]) == 0.0 ? 1.0 : nz(f88[1]) <= nz(f90_[1]) ? nz(f88[1]) + 1 : nz(f90_[1]) + 1
f88 := nz(f90_[1]) == 0.0 and length - 1 >= 5 ? length - 1.0 : 5.0
f8 = 100.0 * src
f18 = 3.0 / (length + 2.0)
f20 := 1.0 - f18
f10 = nz(f8[1])
v8 = f8 - f10
f28 := f20 * nz(f28[1]) + f18 * v8
f30 := f18 * f28 + f20 * nz(f30[1])
vC := f28 * 1.5 - f30 * 0.5
f38 := f20 * nz(f38[1]) + f18 * vC
f40 := f18 * f38 + f20 * nz(f40[1])
v10 := f38 * 1.5 - f40 * 0.5
f48 := f20 * nz(f48[1]) + f18 * v10
f50 := f18 * f48 + f20 * nz(f50[1])
v14 := f48 * 1.5 - f50 * 0.5
f58 := f20 * nz(f58[1]) + f18 * math.abs(v8)
f60 := f18 * f58 + f20 * nz(f60[1])
v18 := f58 * 1.5 - f60 * 0.5
f68 := f20 * nz(f68[1]) + f18 * v18
f70 := f18 * f68 + f20 * nz(f70[1])
v1C := f68 * 1.5 - f70 * 0.5
f78 := f20 * nz(f78[1]) + f18 * v1C
f80 := f18 * f78 + f20 * nz(f80[1])
v20 := f78 * 1.5 - f80 * 0.5
f0 := f88 >= f90_ and f8 != f10 ? 1.0 : 0.0
f90 := f88 == f90_ and f0 == 0.0 ? 0.0 : f90_
v4_ := f88 < f90 and v20 > 0.0000000001 ? (v14 / v20 + 1.0) * 50.0 : 50.0
rsx := v4_ > 100.0 ? 100.0 : v4_ < 0.0 ? 0.0 : v4_
hline(lvlob, color=color.rgb(255, 47, 47), title='OB Level')
hline(lvlos, color=color.rgb(68, 255, 74), title='OS Level')
hline(mid, color=color.white, title='Mid Level')
plot(rsx, color=color.new(#bd0000, 0), linewidth=2, title='RSXC')
//
SJX-Hub
.
Slav
Thank you sir! He's doing it!
Más