Strategi Perdagangan Otomatis Long-Short RSI


Tanggal Pembuatan: 2023-10-30 17:13:24 Akhirnya memodifikasi: 2023-10-30 17:13:24
menyalin: 2 Jumlah klik: 768
1
fokus pada
1617
Pengikut

Strategi Perdagangan Otomatis Long-Short RSI

Ringkasan

Strategi ini mendesain sistem perdagangan otomatis over-the-counter (OTC) berdasarkan indikator RSI yang relatif kuat dan lemah. Sistem ini dapat secara otomatis mengirim sinyal over-the-counter (OTC) untuk melakukan perdagangan otomatis ketika RSI mencapai zona overbought dan oversold.

Prinsip Strategi

Strategi ini menghasilkan nilai RSI dalam kisaran 0-100 dengan menghitung kenaikan dan penurunan saham dalam periode tertentu. Jika RSI berada di bawah 30, itu adalah oversold, dan jika RSI berada di atas 70, itu adalah overbought. Menurut aturan ini, strategi ini secara otomatis melakukan overbought jika RSI mencapai zona oversold dan otomatis melakukan shorting jika mencapai zona overbought.

Secara khusus, strategi pertama menghitung nilai RSI selama 15 siklus. Ketika RSI turun ke bawah 20, dianggap sebagai oversold, saat ini di atas 200 hari Moving Average, masuk lebih banyak. Ketika RSI naik lebih dari 80, dianggap sebagai overbought, saat ini masuk kosong.

Selain itu, strategi juga menggambar garis dan label yang relevan ketika sinyal terjadi, sehingga sinyal perdagangan lebih intuitif.

Keunggulan Strategis

  • Strategi yang jelas, sederhana, dan mudah dipahami
  • Indikator RSI yang akurat untuk menilai overbought dan oversold
  • Transaksi otomatis tanpa intervensi manusia
  • Pengaturan Stop Loss, Kontrol Resiko yang Efektif
  • Sinyal perdagangan intuitif dan mudah dipantau

Risiko Strategis

  • Indeks RSI memiliki keterbelakangan yang dapat menyebabkan kesalahan penilaian
  • Batas overbought dan oversold tidak berlaku untuk semua varietas
  • Stop loss yang tidak tepat dapat menyebabkan kerugian yang lebih besar
  • Di pasar tren, melakukan lebih banyak shorting dapat menyebabkan kerugian.

Langkah-langkah pengendalian risiko meliputi: mengoptimalkan parameter RSI, menyesuaikan overbought dan oversold thresholds untuk berbagai varietas, mengatur stop loss yang masuk akal, dan menghindari perdagangan berlawanan dengan indikator tren.

Arah optimasi strategi

  • Optimalkan parameter RSI untuk meningkatkan akurasi penilaian overbought dan oversold
  • Sinyal konfirmasi transaksi dalam kombinasi dengan indikator lain, seperti KDJ, MACD, dll.
  • Pengaturan Stop Loss Optimasi Berdasarkan Kondisi Pasar
  • Meningkatkan penilaian tren, menghindari operasi kontra
  • Setting the equity curve tracking stop loss
  • Mengembangkan modul pengendalian angin untuk mengontrol risiko tunggal dan keseluruhan

Meringkaskan

Strategi overall adalah strategi perdagangan otomatis yang menggunakan indikator RSI untuk menilai overbought oversold. Ini mengirimkan sinyal perdagangan ketika RSI mencapai zona ekstrim overbought oversold, dan dapat melakukan operasi jual beli secara otomatis. Ide strategi sederhana dan jelas, mudah diimplementasikan, cocok sebagai strategi dasar perdagangan otomatis. Namun, indikator RSI memiliki keterlambatan tertentu, sehingga disarankan untuk dioptimalkan dalam kombinasi dengan indikator lain untuk meningkatkan akurasi sinyal. Selain itu, perlu memperhatikan pengendalian risiko, mengoptimalkan mekanisme stop loss, mengembangkan modul kontrol risiko untuk mengurangi risiko perdagangan.

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

//@version=5
strategy("RSI Improved strategy", overlay=true)
higherTF1 = input.timeframe('15' , "Resolution", options = ['5', '15', '1H', 'D', 'W', 'M'])
dailyopen = request.security(syminfo.tickerid, higherTF1, close)

Reward = input(1600)
Risk = input(1600)

length = input( 5 )
overSold = input( 30 )
overBought = input( 70 )
EMA = input(200)
price = close

vrsi = ta.rsi(price, length)

RSIlowest =  vrsi[1] > vrsi ? true : false
RSIhighest = vrsi[1] < vrsi ? true : false

//ro = ta.crossunder(vrsi, 20)
//ru = ta.crossover(vrsi, 80)

co = ta.crossunder(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)

plot(ta.ema(close, EMA))
plot(ta.ema(close, 50), color = color.orange)

UponEMA = close > ta.ema(close, EMA) ? true : false
belowEMA = close < ta.ema(close, EMA) ? true : false
//transfer 'float' to 'int' to 'string'
r = int(vrsi)
value = str.tostring(r)

m = int(strategy.openprofit)
money = str.tostring(m)
if (not na(vrsi))
	//when price stand up on 200ema and rsi is at oversold area, open long position 
//	if (co and UponEMA)
  //      strategy.order("Rsi long", strategy.long, 1 , comment = "Rsi long")
        
    if(vrsi < 20 and RSIlowest)
        // line1 = line.new(x1=bar_index, y1=dailyopen, x2=bar_index+1, y2=dailyopen, xloc=xloc.bar_index, style=line.style_solid,extend=extend.right, color=color.aqua, width = 2)
        // line.delete(line1[1])  // remove the previous line when new bar appears
        // label1 = label.new(x=bar_index, y=dailyopen,yloc=yloc.belowbar, text = value,textcolor = color.white, color = color.green, style = label.style_label_up)
        // label.delete(label1[1])
        strategy.order("Rsi long", strategy.long, 1 , comment = "Rsi long")
        strategy.exit("exit", "Rsi long", profit = Reward, loss = Risk, comment = "Rsi long exit")
//strategy.close("Rsi short", comment = "Rsi close")

	
	

	if(vrsi > 80 and RSIhighest)
        // line2 = line.new(x1=bar_index, y1=dailyopen, x2=bar_index+1, y2=dailyopen, xloc=xloc.bar_index, style=line.style_solid,extend=extend.right, color = #e65100, width = 2)
        // line.delete(line2[1])  // remove the previous line when new bar appears
        // label2 = label.new(x=bar_index, y=dailyopen,yloc=yloc.abovebar, text = value, textcolor = color.white, color = color.red)            
        // label.delete(label2[1])
        strategy.order("Rsi short",strategy.short, 1,  comment = "Rsi short ")
        strategy.exit("exit", "Rsi short", profit = Reward,loss = Risk, comment = "Rsi short exit")
//	if(UponEMA)
//        strategy.close("Rsi short", comment = "Rsi short close")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_cross)
//plotshape(confirmPH, title="Label",offset = 1,text="Bull",style=shape.labeldown,location=location.abovebar,color=color.green,textcolor=color.green)




//when Rsi reaches overbought, draw a Horizontal Ray to close prices, similarly when it comes to oversold.(accomplished)
//detects when there is more lower/higher RSI values, adjust horizontal Ray and label to new posistion.(accomplished)