Strategi perdagangan ETF untuk melacak tren pembalikan RSI

Penulis:ChaoZhang, Tanggal: 2024-01-22 17:15:18
Tag:

img

Gambaran umum

Strategi ini adalah strategi perdagangan ETF yang melacak tren pembalikan berdasarkan Indeks Kekuatan Relatif (RSI). Strategi ini menilai kondisi overbought dan oversold jangka pendek melalui indikator RSI untuk membuat entri dan keluar pembalikan. Sementara itu, strategi ini menggunakan rata-rata pergerakan 200 hari untuk menentukan arah tren keseluruhan.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada prinsip pembalikan dari indikator RSI. Indikator RSI menghitung amplitudo rata-rata kenaikan dan penurunan selama periode waktu untuk menilai apakah varietas perdagangan berada dalam keadaan overbought atau oversold. RSI di atas 70 mewakili kondisi overbought, sedangkan RSI di bawah 30 mewakili kondisi oversold. Pada titik ini, tren pembalikan dapat terjadi.

Strategi ini memanfaatkan prinsip ini dengan mengatur pemicu beli ketika hari ini RSI di bawah parameter yang dapat disesuaikanTodaysMinRSI, dan RSI 3 hari yang lalu berada di bawah parameter disesuaikanDay3RSIMaxIni menunjukkan harga mungkin berada di wilayah oversold jangka pendek dan kemungkinan bouncing. Ini juga membutuhkan tren RSI menurun dalam 3 hari terakhir, yaitu penurunan RSI terus menerus sebelum membeli untuk menghindari pecah palsu.

Mekanisme keluar dari strategi adalah ketika indikator RSI sekali lagi melebihi nilai ambang parameter yang dapat disesuaikanExit RSI, dianggap bahwa rebound telah berakhir dan posisi harus ditutup di sana.

Strategi ini juga memperkenalkan rata-rata bergerak 200 hari untuk menilai arah tren keseluruhan. Hanya ketika harga berada di atas garis 200 hari, pesanan masuk panjang dapat dibuat. Ini membantu memastikan hanya membeli dalam fase uptrend dan menghindari risiko perdagangan countertrend.

Analisis Keuntungan

  • Gunakan indikator RSI untuk menentukan zona overbought dan oversold di mana rebound mungkin terjadi.
  • Masukkan garis 200 hari untuk menentukan arah tren utama, yang membantu menghindari perdagangan kontra-tren.
  • Prinsip perdagangan pembalikan RSI adalah klasik dan dapat diandalkan dengan tingkat keberhasilan yang tinggi.
  • Parameter yang dapat disesuaikan memberikan fleksibilitas yang dapat dioptimalkan untuk varietas yang berbeda.

Risiko dan Solusi

  • Indikator RSI memiliki kemungkinan pecah palsu, tidak dapat sepenuhnya menghindari kehilangan perdagangan. Stop loss dapat diatur untuk mengendalikan kerugian perdagangan tunggal.
  • Periode pemegang dapat dipersingkat dengan stop loss yang tepat waktu.
  • Pengaturan parameter yang tidak tepat dapat menyebabkan terlalu agresif atau terlalu konservatif, kehilangan peluang perdagangan.

Arahan Optimasi

  • Menggabungkan indikator lain seperti KDJ, Bollinger Bands dll untuk membentuk kombinasi indikator, meningkatkan akurasi sinyal.
  • Tambahkan strategi stop loss bergerak untuk membuat tingkat stop loss dinamis, mengurangi kerugian.
  • Tambahkan ukuran posisi atau modul pengelolaan uang untuk mengontrol eksposur risiko per perdagangan.
  • Mengoptimalkan parameter dan backtest untuk varietas yang berbeda untuk menghasilkan set parameter yang sesuai dengan setiap varietas.

Ringkasan

Strategi ini memanfaatkan titik masuk dan keluar RSI klasik dengan menilai zona overbought dan oversold untuk perdagangan pembalikan. Sementara itu, mengingat tren utama dan optimasi parameter, ini adalah strategi ETF pembalikan jangka pendek yang sangat andal. Dengan optimasi lebih lanjut, ini dapat menjadi strategi kuantitatif dengan efek praktis.


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @version = 5
// Author = TradeAutomation


strategy(title="R3 ETF Strategy", shorttitle="R3 ETF Strategy", overlay=true)


// Backtest Date Range Inputs // 
StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time')
EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time')
InDateRange = true

// Calculations and Inputs //
RSILen = input.int(2, "RSI Length")
RSI = ta.rsi(close, RSILen)
TodaysMinRSI = input.int(10, "Today's Min RSI for Entry", tooltip = "The RSI must be below this number today to qualify for trade entry")
Day3RSIMax = input.int(60, "Max RSI 3 Days Ago for Entry", tooltip = "The RSI must be below this number 3 days ago to qualify for trade entry")
EMA = ta.ema(close, 200)

// Strategy Rules //
Rule1 = close>ta.ema(close, 200)
Rule2 = RSI[3]<Day3RSIMax and RSI<TodaysMinRSI
Rule3 = RSI<RSI[1] and RSI[1]<RSI[2] and RSI[2]<RSI[3] 
Exit = ta.crossover(RSI, input.int(70, "Exit RSI", tooltip = "The strategy will sell when the RSI crosses over this number"))

// Plot //
plot(EMA, "200 Day EMA")

// Entry & Exit Functions //
if (InDateRange)
    strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3)
//    strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop))
    strategy.close("Long", when = Exit)
if (not InDateRange)
    strategy.close_all()
    

Lebih banyak