Strategi ini adalah versi yang lebih baik dari indikator RSI yang dikembangkan oleh John Ehlers. Keuntungan terbesarnya adalah mengurangi keterbelakangan dan pada saat yang sama meratakan kurva RSI.
Perhitungan 6 nilai rata-rata dari harga xValue。
Total kenaikan CU23 dan total penurunan CD23 berdasarkan perhitungan xValue.
Hitung nilai RES Normalized nRes, yaitu CU23/(CU23 + CD23).
Bandingkan nRes dengan threshold atas dan bawah, menghasilkan sinyal polorangan.
Opsional untuk melakukan transaksi terbalik.
Perdagangan di udara berdasarkan sinyal.
Strategi ini secara efektif meluruskan kurva dengan memperbaiki cara menghitung indikator RSI, mengurangi sinyal misinformasi sampai batas tertentu. Pengaturan parameter optimasi dan menambahkan kondisi penyaringan lainnya dapat meningkatkan kinerja strategi lebih lanjut. Namun, sebagai sistem yang cenderung, tidak dapat sepenuhnya menghindari masalah lag. Secara keseluruhan, strategi ini adalah sistem terobosan yang sederhana dan andal yang layak untuk dioptimalkan.
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@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.
////////////////////////////////////////////////////////////
strategy(title="Smoothed RSI Backtest ver.2")
Length = input(10, minval=1)
TopBand = input(0.8, step=0.01)
LowBand = input(0.2, step=0.01)
reverse = input(false, 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))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="Smoothed RSI")