RSI Moving Average Crossover Trend Strategi

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

img

Ringkasan

RSI Moving Average Crossover Trend Strategy adalah strategi yang menggunakan isyarat crossover rata-rata bergerak dari penunjuk RSI untuk menentukan trend dan mengeluarkan isyarat perdagangan.

Logika Strategi

Indikator teras strategi ini adalah RSI. Ia mengira kedua-dua EMA dan SMA RSI. Isyarat beli hanya dikeluarkan apabila RSI EMA berada di atas SMA sementara harga berada di atas EMA. Isyarat jual dikeluarkan apabila RSI EMA jatuh di bawah SMA untuk mengikuti trend.

Indikator RSI dapat mencerminkan keadaan overbought dan oversold di pasaran. Menembusi di atas 70 pada RSI dianggap terlalu banyak dibeli manakala menembusi di bawah 30 adalah terlalu banyak dijual. Strategi ini menggunakan EMA dan SMA untuk menemui trend dan titik perubahan indikator RSI. EMA bertindak balas lebih cepat terhadap perubahan harga baru-baru ini sementara SMA lebih bergantung pada data yang lebih lama. Kedua-dua garis bekerja bersama.

Apabila RSI EMA mula meningkat, ia menandakan penstabilan di pasaran. SMA kemudian mengesahkan arahnya. Apabila SMA juga mula meningkat, ia mengesahkan RSI berada dalam trend menaik. Strategi kini akan mengeluarkan isyarat beli memandangkan harga di atas EMA untuk mengikuti trend.

Analisis Kelebihan

Ini adalah strategi trend berikut, yang mampu menangkap peluang arah secara berkesan dalam jangka sederhana hingga panjang. Berbanding dengan penunjuk tunggal, strategi ini menggunakan persilangan RSI EMA dan SMA untuk pengesahan, mengurangkan isyarat palsu dan meningkatkan kestabilan.

Strategi ini juga menggabungkan EMA harga untuk memastikan pembelian hanya dalam trend kenaikan harga, mengelakkan risiko pasaran yang terikat julat dan meningkatkan keuntungan.

Analisis Risiko

Strategi ini bergantung terutamanya pada penunjuk RSI. Isyarat RSI yang salah akan membawa kepada isyarat strategi yang salah. Juga, RSI lebih sesuai untuk mengenal pasti tahap overbought / oversold dengan beberapa kelewatan dalam menangkap trend jangka menengah dan panjang.

Terdapat juga beberapa kelewatan masa, terutamanya apabila RSI EMA dan SMA lebih terikat julat.

Arahan pengoptimuman

  1. RSI boleh dioptimumkan dengan memilih parameter yang lebih sesuai untuk meningkatkan keberkesanan.

  2. Logik Stop Loss boleh ditambahkan ke kedudukan keluar selepas kerugian mencapai tahap tertentu untuk menguruskan risiko dengan berkesan.

  3. Parameter boleh diuji dan dioptimumkan dalam jangka masa yang berbeza supaya strategi dapat berjalan stabil pada lebih banyak produk dan tempoh.

Ringkasan

RSI Moving Average Crossover Trend Strategy adalah strategi trend berikut yang mudah menggunakan RSI untuk menentukan arah trend dan crossover untuk pengesahan. Ia menggabungkan harga EMA untuk membeli pada trend menaik. Strategi ini mempunyai kestabilan yang tinggi untuk memegang jangka menengah dan panjang tetapi risiko lag perlu diurus. Pengoptimuman lanjut boleh meningkatkan prestasi 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 lanjut