Strategi RSI range breakout adalah strategi trend following yang khas. RSI menggunakan Relative Strength Index (RSI) sebagai indikator teknis utama untuk mencari peluang breakout ketika RSI berada di tingkat overbought atau oversold, dengan tujuan mengikuti tren.
Strategi ini terutama bergantung pada indikator RSI untuk menentukan tingkat overbought dan oversold di pasar. RSI rumus perhitungan adalah: RSI = (Rata Up Value / (Rata Up Value + Rata-rata Down Value)) x 100. Rata-rata Up Value adalah rata-rata bergerak sederhana dari amplitudo close-up selama N hari terakhir. Rata-rata Down Value adalah rata-rata bergerak sederhana dari amplitudo close-down selama N hari terakhir.
Ketika RSI lebih tinggi dari garis overbought (default 80), itu menunjukkan pasar berada dalam keadaan overbought. Ketika RSI lebih rendah dari zona oversold (default 35), itu menunjukkan pasar berada dalam keadaan oversold. Strategi mencari peluang pendek ketika RSI memecahkan garis overbought, dan peluang panjang ketika RSI memecahkan zona oversold.
Secara khusus, strategi ini menggunakan dua garis SMA untuk menentukan tren indikator RSI. Ketika garis SMA yang lebih cepat memecah garis SMA yang lebih lambat, sementara RSI menerobos zona oversold, pergi panjang. Ketika garis SMA yang lebih cepat memecah garis SMA yang lebih lambat, sementara RSI menerobos garis overbought, pergi pendek. Strategi ini juga menetapkan stop loss dan take profit line untuk mengendalikan risiko.
RSI range breakout strategy adalah strategi trend following secara keseluruhan. RSI menentukan sinyal trading melalui indikator RSI, menyaring sinyal dengan garis SMA ganda, dan menetapkan stop loss dan take profit untuk mengendalikan risiko.
/*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)