TradingView
HPotter
Nov 20, 2017 1:04 AM

Smoothed RSI Backtest ver.2 

E-mini S&P 500 FuturesCME

Description

This is new version of RSI oscillator indicator, developed by John Ehlers.
The main advantage of his way of enhancing the RSI indicator is smoothing
with minimum of lag penalty.

You can change long to short in the Input Settings
WARNING:
- For purpose educate only
- This script to change bars colors.
Comments
tanner314
For anyone's convenience, I have created a custom alert with HPotter's script here: //@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 20/11/2017
// This is new version of RSI oscillator indicator, developed by John Ehlers.
// The main advantage of his way of enhancing the RSI indicator is smoothing
// with minimum of lag penalty.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
study(title="Smoothed RSI Backtest ver.2")
Length = input(15, minval=1)
TopBand = input(0.8, step=0.01)
LowBand = input(0.2, step=0.01)
reverse = input(true, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xValue = (close + 2 * close[1] + 2 * close[2] + close[3] ) / 6
CU23 = sum(iff(xValue > xValue[1], xValue - xValue[1], 0), Length)
CD23 = sum(iff(xValue < xValue[1], xValue[1] - xValue, 0), Length)
nRes = iff(CU23 + CD23 != 0, CU23/(CU23 + CD23), 0)
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))

Buy = reverse[1] and pos[1] == 1 and reverse and pos != 1
Sell = reverse[1] and pos[1] == -1 and reverse and pos != -1

plot(Buy, "BUY", offset=1)
plot(Sell, "BUY", offset=1)

//h1 = plot(shortCondition, "Sell", red, offset = 0)
//h2 = plot(longCondition, "Buy", green, offset = 0)
//bgcolor(longCondition>shortCondition ? green : red)
//barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="Smoothed RSI", offset = 1)
tanner314
Hi, great work! Does it repaint by any chance? I haven't noticed it so far.
HPotter
@tanner314, What do you mean?
tanner314
@HPotter, Here is more information on repainting: tradingview.com/wiki/Indicator_Repainting
More