Strategi Perdagangan Kuantitatif Double RSI Breakout


Tanggal Pembuatan: 2024-01-18 15:25:11 Akhirnya memodifikasi: 2024-01-18 15:25:11
menyalin: 0 Jumlah klik: 740
1
fokus pada
1617
Pengikut

Strategi Perdagangan Kuantitatif Double RSI Breakout

Ringkasan

Strategi RSI ganda adalah strategi perdagangan kuantitatif yang menggunakan RSI cepat dan RSI lambat untuk menghasilkan sinyal perdagangan secara bersamaan. Strategi ini menghasilkan sinyal perdagangan dengan membuat terobosan antara dua indikator RSI yang cepat dan lambat, untuk mencapai efek melacak tren pasar.

Prinsip Strategi

Strategi ini menggunakan dua indikator RSI pada saat yang sama, dengan RSI cepat berperiode 2, dan RSI lambat berperiode 14.

Ketika RSI lambat lebih besar dari 50, RSI cepat lebih kecil dari 50, menghasilkan sinyal do-plus; ketika RSI lambat lebih kecil dari 50, RSI cepat lebih besar dari 50, menghasilkan sinyal do-short. Setelah melakukan do-short lebih banyak, jika muncul sinyal stop loss (posisi stop loss) jika muncul kolom K garis merah ketika ada kerugian tunggal, kolom K garis hijau ketika ada kerugian tunggal).

Analisis Keunggulan

  • Menggunakan indikator RSI untuk membentuk sinyal perdagangan dengan cara overbought dan oversold untuk menghindari posisi bullish dan bearish.
  • Dengan menggunakan RSI yang lambat dan cepat, Anda dapat melacak perubahan tren pasar dan membuat entri dan keluar tepat waktu.
  • Mengikuti tren jangka panjang dan menengah untuk menghindari gangguan dari kebisingan pasar jangka pendek;
  • Ada pengendalian risiko dan mekanisme stop loss.

Risiko dan Solusi

  • Risiko terobosan palsu. Solusinya adalah dengan menetapkan parameter RSI yang masuk akal untuk memastikan terobosan yang sebenarnya.
  • Risiko dari pengaturan stop loss yang tidak tepat. Solusinya adalah dengan menetapkan jarak stop loss yang masuk akal berdasarkan fluktuasi pasar.
  • Risiko kerugian spiral. Solusi adalah tidak mengejar kekalahan, dan mengikuti aturan strategi untuk masuk dan keluar.

Arah optimasi

Strategi ini juga dapat dioptimalkan dalam beberapa hal:

  1. Parameter RSI dapat dioptimalkan untuk menemukan kombinasi optimal.
  2. Indikator lain dapat dimasukkan dalam kombinasi untuk membentuk sinyal perdagangan yang lebih andal.
  3. Anda dapat mengatur stop loss dinamis dan menyesuaikan stop loss secara real-time dengan pergerakan pasar.

Meringkaskan

Strategi penembusan RSI ganda menggunakan indikator RSI yang cepat dan lambat untuk melacak perubahan tren pasar, membentuk sinyal perdagangan di daerah overbought dan oversold, dapat secara efektif menghindari mengejar kenaikan dan penurunan. Pada saat yang sama, mekanisme stop loss telah diatur untuk mengendalikan risiko. Strategi ini sederhana dan mudah diterapkan, cocok untuk perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Double RSI Strategy 1.0", shorttitle = "2RSI str 1.0", overlay=true )

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
leverage = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage")
fast = input(2, defval = 2, minval = 2, maxval = 100, title = "Fast RSI Period")
slow = input(14, defval = 14, minval = 2, maxval = 100, title = "Slow RSI Period")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Fast RSI
fastup = rma(max(change(close), 0), fast)
fastdown = rma(-min(change(close), 0), fast)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Slow RSI
slowup = rma(max(change(close), 0), slow)
slowdown = rma(-min(change(close), 0), slow)
slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown))

//Signals
up = slowrsi > 50 and fastrsi < 50
dn = slowrsi < 50 and fastrsi > 50
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
lot = strategy.position_size == 0 ? strategy.equity / close * leverage : lot[1]

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot )

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot )
    
if exit
    strategy.close_all()