RSI Moving Average Crossover Trend Strategi

Penulis:ChaoZhang, Tanggal: 2023-11-28 17:03:56
Tag:

img

Gambaran umum

RSI Moving Average Crossover Trend Strategy adalah strategi yang menggunakan sinyal crossover rata-rata bergerak dari indikator RSI untuk menentukan tren dan mengeluarkan sinyal perdagangan.

Logika Strategi

Indikator inti dari strategi ini adalah RSI. Ini menghitung EMA dan SMA dari RSI. Sinyal beli hanya dikeluarkan ketika RSI EMA berada di atas SMA sementara harga berada di atas EMA. Sinyal jual dikeluarkan ketika RSI EMA jatuh di bawah SMA untuk mengikuti tren.

Indikator RSI dapat secara efektif mencerminkan kondisi overbought dan oversold di pasar. Menembus di atas 70 pada RSI dianggap overbought sementara melanggar di bawah 30 adalah oversold. Strategi ini menggunakan EMA dan SMA untuk menemukan tren dan titik balik dari indikator RSI. EMA bereaksi lebih cepat terhadap perubahan harga baru-baru ini sementara SMA lebih bergantung pada data yang lebih lama.

Ketika RSI EMA mulai naik, itu menandakan stabilisasi di pasar. SMA kemudian memverifikasi arahnya. Ketika SMA juga mulai naik, itu mengkonfirmasi RSI berada dalam tren naik. Strategi sekarang akan mengeluarkan sinyal beli mengingat harga di atas EMA untuk mengikuti tren.

Analisis Keuntungan

Ini adalah strategi mengikuti tren, mampu menangkap peluang arah secara efektif dalam jangka menengah hingga panjang. Dibandingkan dengan indikator tunggal, strategi ini menggunakan RSI EMA dan SMA crossover untuk verifikasi, mengurangi sinyal palsu dan meningkatkan stabilitas.

Strategi ini juga menggabungkan EMA harga untuk memastikan pembelian hanya dalam tren kenaikan harga, menghindari risiko pasar yang terikat rentang dan meningkatkan profitabilitas.

Analisis Risiko

Strategi ini terutama bergantung pada indikator RSI. Sinyal RSI yang salah akan menyebabkan sinyal strategi yang salah. Juga, RSI lebih cocok untuk mengidentifikasi tingkat overbought/oversold dengan beberapa keterlambatan dalam menangkap tren jangka menengah dan panjang.

Ada juga beberapa keterlambatan waktu, terutama ketika RSI EMA dan SMA lebih terikat kisaran. Periode ini membawa beberapa risiko kerugian sebelum sinyal dipicu.

Arahan Optimasi

  1. RSI dapat dioptimalkan dengan memilih parameter yang lebih tepat untuk meningkatkan efektivitas.

  2. Logika stop loss dapat ditambahkan ke posisi keluar setelah kerugian mencapai tingkat tertentu untuk mengelola risiko secara efektif.

  3. Parameter dapat diuji dan dioptimalkan dalam jangka waktu yang berbeda sehingga strategi dapat berjalan stabil pada lebih banyak produk dan periode.

Ringkasan

RSI Moving Average Crossover Trend Strategy adalah strategi sederhana mengikuti tren menggunakan RSI untuk menentukan arah tren dan crossover untuk verifikasi. Strategi ini menggabungkan harga EMA untuk membeli pada tren naik. Strategi ini memiliki stabilitas tinggi untuk kepemilikan jangka menengah dan panjang tetapi risiko lag perlu dikelola. Optimasi lebih lanjut dapat meningkatkan kinerja strategi.


/*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)

Lebih banyak