Strategi perdagangan pembalikan RSI

Penulis:ChaoZhang, Tanggal: 2023-11-14 16:49:02
Tag:

img

Gambaran umum

Strategi trading reversal RSI adalah strategi trading kuantitatif yang mengidentifikasi kondisi overbought dan oversold menggunakan indikator Relative Strength Index (RSI) dan melakukan trading long atau short pada titik reversal.

Logika Strategi

Strategi ini didasarkan pada logika inti berikut:

  1. RSI dapat mencerminkan apakah pasar saat ini terlalu banyak dibeli atau terlalu banyak dijual. RSI mengukur momentum relatif kenaikan vs penurunan dengan menghitung rasio perubahan rata-rata naik ke perubahan rata-rata turun selama periode waktu.

  2. Ketika RSI memasuki zona overbought (biasanya dianggap sebagai RSI di atas 70), ini menunjukkan momentum kenaikan yang kuat. Akan ada lebih banyak pedagang yang memegang posisi bullish dan ruang untuk melanjutkan kenaikan terbatas. Harga dapat berbalik ke bawah untuk memperbaiki kondisi overbought.

  3. Ketika RSI memasuki zona oversold (biasanya di bawah 30), itu menunjukkan momentum penurunan yang kuat. Akan ada lebih banyak pedagang yang memegang posisi bearish dan ruang untuk melanjutkan penurunan terbatas. Harga dapat berbalik ke atas untuk memperbaiki kondisi oversold.

  4. Oleh karena itu, kita dapat menetapkan ambang overbought RSI pada 90 dan ambang oversold pada 10. pergi pendek ketika RSI memasuki zona overbought dan pergi panjang ketika RSI memasuki zona oversold untuk menangkap pembalikan.

Secara khusus, logika strategi adalah:

  1. Menghitung nilai indikator RSI, menggunakan harga dekat sebagai sumber RSI, dengan durasi 2 periode.

  2. Ketika RSI melintasi di atas 90, itu menunjukkan memasuki zona overbought, pergi pendek.

  3. Setel stop loss untuk setiap perdagangan. stop panjang pada harga terendah terendah, stop pendek pada harga tertinggi tinggi.

  4. Jika RSI terus ke tingkat overbought / oversold yang lebih ekstrim, sesuaikan trailing stop untuk memberikan lebih banyak ruang.

  5. Pertimbangkan untuk mengambil keuntungan ketika RSI kembali ke zona netral sekitar 50.

  6. Jika tidak ada pembalikan setelah 3 bar, tutup perdagangan untuk menghindari kerugian tak terbatas.

Keuntungan

Strategi pembalikan RSI memiliki keuntungan berikut:

  1. Menggunakan RSI untuk mengidentifikasi kondisi overbought / oversold dapat secara efektif menangkap titik pembalikan pasar. RSI akurat dalam menilai ekstrem dan memiliki tingkat keberhasilan pembalikan yang tinggi.

  2. Strategi pembalikan memiliki keunggulan sistematis untuk terus mengikuti tren.

  3. Mekanisme stop loss secara efektif mengontrol kerugian pada perdagangan individu. Bahkan jika pembalikan gagal, kerugian terkandung dalam kisaran tertentu.

  4. Trailing stop dapat menyesuaikan jarak stop secara fleksibel berdasarkan pergerakan harga yang berkelanjutan, menyeimbangkan antara menjaga stop yang dipicu dan menangkap lebih banyak perbedaan harga.

  5. Keluar paksa setelah batang tetap memastikan perdagangan tanpa pembalikan tepat waktu tidak akan menyebabkan kerugian tak terbatas.

  6. Parameter RSI yang dapat disesuaikan dapat menyesuaikan strategi dengan pasar yang berbeda.

Risiko

Strategi ini juga memiliki risiko berikut:

  1. Sebagai strategi indikator teknis, kinerja pembalikan RSI mungkin memiliki bias penyesuaian kurva. Tingkat keberhasilan pembalikan perdagangan nyata mungkin lebih rendah daripada hasil backtest.

  2. Meskipun RSI dapat mengidentifikasi kondisi overbought / oversold, ia tidak dapat memprediksi waktu pembalikan yang tepat.

  3. RSI overbought/oversold level mungkin tidak ditetapkan secara wajar.

  4. Probabilitas harga membuat pembalikan lain sebelum mencapai mengambil keuntungan. mengambil keuntungan mungkin tidak dipenuhi.

  5. Jarak stop loss yang diatur terlalu ketat atau terlalu longgar dapat membuat stop tidak efektif.

  6. Komisi perdagangan juga dapat mempengaruhi profitabilitas strategi.

Peningkatan

Strategi dapat ditingkatkan dengan cara berikut:

  1. Uji parameter RSI yang berbeda untuk menemukan kombinasi optimal, seperti panjang RSI, tingkat ambang overbought/oversold.

  2. Tambahkan lebih banyak filter untuk menghindari sinyal pembalikan palsu, seperti menggabungkan dengan MACD dll untuk meningkatkan probabilitas.

  3. Mengoptimalkan strategi stop loss, misalnya stop berbasis ATR, jarak yang disesuaikan dengan volatilitas.

  4. Mengoptimalkan mengambil keuntungan strategi, seperti bergerak mengambil keuntungan, menyusul lebih banyak perbedaan harga.

  5. Tambahkan model pembelajaran mesin untuk membantu menilai pembalikan dan meningkatkan tingkat keberhasilan.

  6. Uji strategi di pasar dan instrumen yang berbeda untuk menemukan parameter terbaik untuk perdagangan nyata.

  7. Menggabungkan dengan volume perdagangan, hanya mempertimbangkan sinyal pembalikan ketika volume melonjak.

Kesimpulan

Sebagai kesimpulan, strategi pembalikan RSI memanfaatkan kekuatan RSI dalam mengidentifikasi kondisi pasar yang terlalu banyak dibeli dan terlalu banyak dijual dan perdagangan pada titik pembalikan, memberikan pengembalian sistematis yang layak.


/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Copyright (c) 2021-present, RicMos
//study("RSI2 Sell Strategy, overlay=true)

//------------------------------------------USER VARIABLE DEFINITIONS --------------------------------------
var float lots = 0.1
//var float fixed_commission = 0.6 // forex pairs commission  value USD per position size two sides
var float fixed_commission = 10 // BTC commission value USD per position size two sides
//var float money = 10000 //forex pairs position size
var float money = 0.3333 //BTC position size



strategy(title="RSI2 Sell Strategy", commission_type=strategy.commission.cash_per_order, calc_on_every_tick =true, commission_value = fixed_commission/2, overlay=true, default_qty_value= lots*100000, initial_capital=1000, currency = "USD", calc_on_order_fills = false)
len = input(2, minval=1, title="RSI Length")
src = input(close, "RSI Source", type = input.source)
upRsi = rma(max(change(src), 0), len)
downRsi = rma(-min(change(src), 0), len)
rsi = downRsi == 0 ? 100 : upRsi == 0 ? 0 : 100 - (100 / (1 + upRsi / downRsi))
var color buyColor = color.blue
var color sellColor = color.red


plotshape(rsi <= 10 ? low : na, title="Arrow Up", style=shape.triangleup, location=location.belowbar, size=size.tiny, color=buyColor)
plotshape(rsi >= 90 ? high : na, title="Arrow Down", style=shape.triangledown, location=location.abovebar, size=size.tiny, color=sellColor)


// long = rsi <= 10 
// var float longsl = 0
// var int long_ts_points = 0

// if long
//     longsl:= low
//     long_ts_points := 200
    
// if rsi >= 70
//     long_ts_points := 100
// else if rsi >= 80
//     long_ts_points := 80


// plot (longsl)
// var int barsPassed = 0
// barsPassed := barssince(long)
// if long
//     strategy.entry("long", long = strategy.long, qty = 10000, stop = high)
// strategy.exit("slLo", from_entry="long", stop = longsl-0.0002, trail_points = long_ts_points )
// //strategy.close("long", when = rsi[1]>=50 and rsi < 50 , comment = "rsi under 50" )
// strategy.cancel_all(barsPassed > 3  and not long)


short = rsi >= 90 
var float shortsl = 0
var int short_ts_points = 0
//var bool stClose = 0

if short
    shortsl:= high
    short_ts_points := 200
    
if rsi <= 30
    short_ts_points := 100
    //stClose :=1
else if rsi <= 20
    short_ts_points := 80 
//else
    //stClose := 0

plot (shortsl)
var int barsPassedSh = 0
barsPassedSh := barssince(short)
if short
    strategy.entry("short", long = strategy.short, qty = money, stop = low)
strategy.exit("slSh", from_entry="short", stop = shortsl, trail_points = short_ts_points, trail_offset =20 )
//strategy.close("short", comment="rsi<30", when = stClose)


//strategy.close("long", when = rsi[1]>=50 and rsi < 50 , comment = "rsi under 50" )
strategy.cancel_all(barsPassedSh > 3  and not short)










Lebih banyak