Trend RSI Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2023-11-07 16:33:43
Tag:

img

Gambaran umum

Strategi ini dirancang berdasarkan indikator Relative Strength Index (RSI) untuk mengidentifikasi situasi overbought dan oversold dan mengikuti tren.

Logika Strategi

Strategi ini menggunakan indikator RSI untuk mengidentifikasi kondisi overbought dan oversold di pasar. RSI dihitung berdasarkan perubahan harga selama periode waktu tertentu. RSI di bawah 30 dianggap oversold sementara RSI di atas 70 dianggap overbought.

Secara khusus, strategi ini pertama-tama mendefinisikan parameter RSI panjang=14, overbought=70, oversold=30. Kemudian menghitung nilai RSI vrsi berdasarkan harga penutupan. Ketika vrsi melintasi di atas garis overbought atau di bawah garis oversold, itu memicu perdagangan panjang atau pendek sesuai. Setelah memasuki perdagangan, stop loss dari tik etoroStopTicks ditetapkan. Posisi akan ditutup ketika stop loss dipicu dalam jendela perdagangan.

Dengan cara ini, strategi dapat mengikuti tren utama pasar - pergi panjang pada situasi oversold dan pergi pendek pada situasi overbought.

Keuntungan

  • Menggunakan RSI untuk mengidentifikasi kondisi pasar overbought/oversold untuk menangkap tren
  • Jendela backtesting yang fleksibel untuk pengujian periode waktu yang berbeda
  • Pengaturan stop loss yang wajar untuk mengendalikan kerugian perdagangan tunggal

Risiko

  • Perbedaan RSI dapat menghasilkan sinyal palsu
  • Stop loss statis gagal beradaptasi dengan fluktuasi pasar
  • Sulit untuk mengidentifikasi pembalikan tren, dapat menyebabkan perdagangan terbalik

Solusi:

  • Tambahkan indikator filter untuk menghindari entri yang salah berdasarkan sinyal RSI palsu
  • Stop loss dinamis untuk melacak pergerakan pasar secara real time
  • Tambahkan alat penilaian tren untuk mencegah perdagangan terbalik

Peningkatan

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter RSI untuk kinerja terbaik

Uji periode RSI yang berbeda dan tingkat overbought / oversold untuk menemukan parameter optimal dan mengurangi sinyal palsu.

  1. Menambahkan alat penilaian tren untuk menghindari perdagangan kontra-tren

Tambahkan MA, MACD untuk menilai arah tren dan menghindari sinyal yang salah pada titik balik.

  1. Stop Loss Dinamis

Gunakan ATR untuk mengatur stop loss adaptif untuk melacak fluktuasi pasar dengan lebih baik.

  1. Meningkatkan aturan masuk

Tambahkan kondisi lain seperti breakout, peningkatan volume ke sinyal RSI untuk meningkatkan akurasi entri.

Kesimpulan

Strategi ini menangkap tren dengan mengidentifikasi situasi overbought dan oversold dengan menggunakan RSI. Dibandingkan dengan strategi stop tracking tradisional, strategi ini memiliki keuntungan dari waktu pasar dengan indikator. Namun, masalah seperti divergensi RSI dan ketidakmampuan untuk mendeteksi pembalikan tren perlu ditangani. Perbaikan lebih lanjut pada optimasi parameter, penilaian tren, stop loss dinamis dapat meningkatkan stabilitas dan profitabilitas.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("RSI Etoro Strategy", overlay=true, max_bars_back=2000)
// To use:
// Capital = capital * leverage
// Slippage Ticks: 3, 5 ? (Mainly for spread)
// etoroStopTicks: Set it accordingly to the stock (to corresponds to etoro default of 50 % for exemple...)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 12, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 1995)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 1995)


// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
etoroStopTicks = input( 120 )
// 120 because it is approximatively the number of ticks for default SL of 50% at x5 leverage for copper (no fee)...
price = close

vrsi = rsi(price, length)

if (not na(vrsi))
    if (crossover(vrsi, overSold))
        strategy.entry("RsiLE", strategy.long, comment="RsiLE", when = window())
    if (crossunder(vrsi, overBought))
        strategy.entry("RsiSE", strategy.short, comment="RsiSE", when = window())
strategy.exit("exit SE", "RsiSE", loss=etoroStopTicks, when = window())
strategy.exit("exit LE", "RsiLE", loss=etoroStopTicks, when = window())

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Lebih banyak