
RSI Moving Average Crossover Trend Strategy adalah strategi yang menggunakan sinyal crossover rata-rata dari indikator RSI untuk menilai tren dan mengirim sinyal perdagangan. Strategi ini menggabungkan harga EMA, dan hanya mengirim sinyal beli ketika harga lebih tinggi dari EMA.
Indikator inti dari strategi ini adalah RSI, dengan perhitungan RSI pada EMA dan SMA pada dua garis rata. Hanya sinyal beli akan dikirim ketika garis EMA RSI lebih tinggi dari garis SMA dan harga lebih tinggi dari EMA.
RSI dapat secara efektif mencerminkan fenomena overbought dan oversold di pasar. Di RSI, 70 dianggap sebagai overbought, dan 30 dianggap sebagai oversold. Strategi ini menggunakan dua rata-rata bergerak EMA dan SMA untuk menemukan tren dan titik balik di RSI.
Ketika RSI EMA mulai naik, menunjukkan bahwa pasar menunjukkan tanda-tanda stabilisasi, maka SMA digunakan untuk memverifikasi arahnya; Ketika SMA juga mulai naik, menunjukkan bahwa RSI jelas memasuki tren naik, maka strategi akan mengirim sinyal beli dengan asumsi harga lebih tinggi dari EMA, mengikuti tren.
Ini adalah strategi untuk melacak tren yang dapat secara efektif menangkap peluang arah di garis tengah dan panjang. Strategi ini menggunakan EMA dan SMA RSI untuk membentuk verifikasi silang dibandingkan dengan indikator tunggal, yang dapat mengurangi sinyal yang salah dan meningkatkan stabilitas.
Strategi ini juga menggabungkan harga EMA untuk memastikan bahwa hanya membeli dalam tren kenaikan harga dan menghindari risiko kondisi yang bergoyang, sehingga meningkatkan peluang keuntungan.
Strategi ini terutama didasarkan pada indikator RSI, ketika RSI menghasilkan sinyal yang salah, strategi ini juga akan mengikuti sinyal yang salah. Selain itu, indikator RSI lebih cocok untuk menilai fenomena overbought oversold, untuk menilai tren garis tengah panjang ada keterlambatan tertentu.
Strategi ini juga ada beberapa waktu lag, terutama ketika RSI EMA dan SMA rata-rata diimbangi, yang dapat menyebabkan penundaan sinyal. Ada juga risiko kerugian tertentu selama periode ini.
Anda dapat mempertimbangkan untuk mengoptimalkan RSI, memilih parameter yang lebih sesuai, dan meningkatkan penilaian.
Anda dapat mempertimbangkan untuk memasukkan logika stop loss, dan keluar dari posisi setelah kerugian mencapai tingkat tertentu, untuk mengontrol risiko secara efektif.
Anda dapat menguji pengaturan parameter untuk periode waktu yang berbeda, dan mengoptimalkan parameter sehingga strategi dapat berjalan stabil di lebih banyak varietas dan lebih banyak periode.
Strategi RSI adalah strategi sederhana yang menggunakan indikator RSI untuk menentukan arah tren dan cross-verifikasi. Strategi ini, dikombinasikan dengan harga EMA, dapat menangkap peluang arah dalam tren naik. Strategi ini memiliki stabilitas yang tinggi, cocok untuk memegang garis tengah panjang, tetapi juga perlu berhati-hati untuk mencegah risiko tertinggal tertentu.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Created by Sv3nla 5-Jan-2021
strategy(title="Sv3nla RSI EMA SMA Strat", shorttitle="Sv3nla RSI EMA SMA Strat", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === BACKTEST RANGE ===
FromMonth = input(defval = 5, title = "From Month", minval = 1)
FromDay = input(defval = 1, title = "From Day", minval = 1)
FromYear = input(defval = 2015, title = "From Year", minval = 2015)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 2022)
// syminfo.mintick = 0.01$ for BTCUSDT
testPeriod() => true
//INPUTS
rsilen = input(defval = 16, minval=1, title="RSILength")
RSIemaLen = input(defval = 12, minval=1, title="RSI EMA Length")
RSIsmaLen2 = input(defval = 29, minval=1, title="RSI SMA Length2")
length = input(defval = 8, minval=1, title="EMA price Length")
// RSI
RSIsrc = close
RSIup = rma(max(change(RSIsrc), 0), rsilen)
RSIdown = rma(-min(change(RSIsrc), 0), rsilen)
rsi = RSIdown == 0 ? 100 : RSIup == 0 ? 0 : 100 - 100 / (1 + RSIup / RSIdown)
emavalue=ema(rsi,RSIemaLen)
smavalue=sma(rsi,RSIsmaLen2)
//EMA
ema=ema(close,length)
//PLOT
plot(ema(rsi, RSIemaLen), color=color.yellow, linewidth=2, title="EMA", transp=0)
plot(sma(rsi, RSIsmaLen2), color=color.aqua, linewidth=2, title="SMA", transp=0)
//ORDERS
if (testPeriod())
strategy.entry("long",strategy.long, comment="RSIEMA", when=(emavalue > smavalue and close>ema))
strategy.close(id="long", when=(emavalue < smavalue))
// Colour background when in a trade and 50 horizontal line
backgroundColour = (strategy.position_size > 0) ? color.green : na
bgcolor(color=backgroundColour, transp=85)
hline(50, color=color.yellow)