RSI adalah salah satu jenis strategi trend-following. Strategi ini menggunakan indeks relatif kuat (RSI) sebagai indikator teknis utama untuk mencari peluang untuk menembus dan masuk ke dalam RSI. Strategi ini digunakan untuk mencari peluang untuk menembus dan masuk ke dalam RSI.
Strategi ini terutama bergantung pada indikator RSI untuk menilai kondisi overbought dan oversold di pasar. RSI dihitung dengan rumus RSI = ((Rising Average Value/Rising Average Value + Rising Average Value) × 100. Di antaranya, Rising Average Value adalah rata-rata bergerak sederhana dari kenaikan close-out dalam N hari terakhir, dan Rising Average Value adalah rata-rata bergerak sederhana dari penurunan close-out dalam N hari terakhir.
Ketika RSI lebih besar dari batas overbought yang ditetapkan (default 80), berarti pasar berada dalam keadaan overbought; ketika RSI lebih kecil dari batas oversold yang ditetapkan (default 35), berarti pasar berada dalam batas oversold. Strategi mencari peluang shorting ketika RSI menembus batas overbought ke bawah; mencari peluang melakukan overbought ketika RSI menembus batas oversold ke atas.
Secara khusus, strategi menilai tren indikator RSI melalui dua garis rata-rata SMA. Bila garis cepat dari bawah ke atas melewati garis lambat, sementara RSI melewati batas oversold, lakukan lebih banyak; Bila garis cepat dari atas ke bawah melewati garis lambat, sementara RSI melewati batas overbought, lakukan shorting.
RSI adalah strategi pelacakan tren yang khas. Strategi ini menggunakan indikator RSI untuk menentukan titik jual beli, sinyal penyaringan rata-rata SMA ganda, dan mengatur stop loss stop untuk mengendalikan risiko. Namun, indikator RSI memiliki masalah lag, selain itu parameter yang tidak tepat dapat mempengaruhi kinerja strategi.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy("Strategy RSI | Fadior", shorttitle="Strategy RSI", pyramiding=10, calc_on_order_fills=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100, overlay=false)
len = input(3, minval=1, title="RSI Length")
threshLow = input(title="Treshold Low", defval=35)
threshHigh = input(title="Treshold High", defval=80)
rsiLength1 = input(title="RSI Smoothing 1", defval=3)
rsiLength2 = input(title="RSI Smoothing 2", defval=5)
SL = input(title="Stop loss %", type=float, defval=.026, step=.001)
TP = input( defval=300)
// 3 40 70 2
// 14 40 70 2 16 0.05 50
src = close
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))
plot(sma(rsi,rsiLength2), color=orange)
plot(sma(rsi,rsiLength1), color=green)
band1 = hline(threshHigh)
band0 = hline(threshLow)
fill(band1, band0, color=purple, transp=90)
strategy = input(type=bool, title="Long only ?", defval=true)
strategy.risk.allow_entry_in(strategy ? strategy.direction.long : strategy.direction.all)
longCondition = sma(rsi,rsiLength1) < threshLow and sma(rsi,rsiLength2) > sma(rsi,rsiLength2)[1]
if (longCondition)
strategy.entry("Long", strategy.long) //, qty=10)
strategy.exit("Close Long", "Long", stop=src-close*SL, profit=TP)
shortCondition = sma(rsi,rsiLength1) > threshHigh and sma(rsi,rsiLength2) < sma(rsi,rsiLength2)[1]
if (shortCondition)
strategy.entry("Short", strategy.short) //, qty=10)
strategy.exit("Close Short", "Short") //, stop=src-close*SL, profit=TP)