RSI V-bentuk corak Swing Strategi Dagangan

Penulis:ChaoZhang, Tarikh: 2024-01-12 13:52:55
Tag:

img

Ringkasan

Strategi ini adalah berdasarkan corak berbentuk V yang dibentuk oleh penunjuk RSI, digabungkan dengan penapis EMA, untuk membangunkan strategi perdagangan yang menguntungkan jangka pendek yang boleh dipercayai.

Logika Strategi

  1. Menggunakan EMA 20 hari di atas EMA 50 hari sebagai penilaian aliran menaik jangka panjang
  2. RSI membentuk corak berbentuk V, yang menunjukkan peluang rebound oversold
    • Bar terendah sebelumnya lebih rendah daripada 2 bar terendah sebelumnya
    • RSI bar semasa lebih tinggi daripada 2 bar RSI sebelumnya
  3. RSI melintasi di atas 30 sebagai isyarat penyelesaian corak berbentuk V untuk pergi lama
  4. Tetapkan stop loss pada 8% di bawah harga masuk
  5. Apabila RSI melintasi 70, mulakan menutup kedudukan dan bergerak stop loss ke harga kemasukan
  6. Apabila RSI melintasi 90, tutup 3/4 kedudukan
  7. Apabila RSI turun di bawah 10 / stop loss dicetuskan, tutup semua kedudukan

Analisis Kelebihan

  1. Menggunakan EMA untuk menilai arah pasaran secara keseluruhan, mengelakkan perdagangan terhadap trend
  2. RSI corak berbentuk V menangkap peluang-paling rata-rata apabila oversold
  3. Mekanisme Stop Loss berbilang untuk mengawal risiko

Analisis Risiko

  1. Trend penurunan yang kuat boleh menyebabkan kerugian yang tidak dapat dihentikan
  2. RSI V-bentuk isyarat boleh memberikan isyarat palsu, yang membawa kepada kerugian yang tidak perlu

Arahan pengoptimuman

  1. Mengoptimumkan parameter RSI untuk mencari corak berbentuk V yang lebih boleh dipercayai
  2. Menggabungkan penunjuk lain untuk meningkatkan kebolehpercayaan isyarat pembalikan
  3. Memperbaiki strategi stop loss, keseimbangan antara mencegah terlalu agresif dan stop loss tepat pada masanya

Ringkasan

Strategi ini mengintegrasikan penapis EMA dan penilaian corak berbentuk RSI V untuk membentuk strategi perdagangan jangka pendek yang boleh dipercayai. Ia dapat dengan berkesan merebut peluang pemulihan apabila oversold. Dengan pengoptimuman berterusan pada parameter dan model, meningkatkan mekanisme stop loss, strategi ini boleh ditingkatkan lagi dalam kestabilan dan keuntungan. Ia membuka pintu perdagangan ayunan yang menguntungkan untuk peniaga kuant.


/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
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/
// © mohanee

//@version=4
//strategy("RSI V Pattern", overlay=true)
strategy(title="RSI V Pattern", overlay=false )

//Strategy Rules
//ema20 is above ema50  --- candles are colored  green on the chart
//RSI value sharply coming up which makes a V shape ,  colored in yellow on the chart
//RSI V pattern should occur from below 30    

len = input(title="RSI Period", minval=1, defval=5)
stopLoss = input(title="Stop Loss %", minval=1, defval=8)

myRsi = rsi(close,len)

longEmaVal=ema(close,50)
shortEmaVal=ema(close,20)

//plot emas 
//plot(longEmaVal, title="Long EMA" ,linewidth=2, color=color.orange, trackprice=true)
//plot(shortEmaVal, title="Short EMA" ,linewidth=2, color=color.green, trackprice=true)


longCondition =  ema(close,20)>ema(close,50)   and (low[1]<low[2] and  low[1]<low[3]) and (myRsi>myRsi[1] and myRsi>myRsi[2] ) and crossover(myRsi,30) //  (   and myRsi<60)  

//(myRsi<60 and myRsi>30)  and myRsi>myRsi[1] and (myRsi[1]<myRsi[2]  or  myRsi[1]<myRsi[3]) and (myRsi[2]<30)  and (myRsi[3]<30 and myRsi[4]>=30)



barcolor(shortEmaVal>longEmaVal?color.green:color.red)
//longCondition = crossover(sma(close, 14), sma(close, 28))
barcolor(longCondition?color.yellow:na)
strategy.entry("RSI_V_LE", strategy.long, when=longCondition )
//stoploss value at 10%
stopLossValue=strategy.position_avg_price -  (strategy.position_avg_price*stopLoss/100) 
//stopLossValue=valuewhen(longCondition,low,3)


//takeprofit at RSI highest  reading
//at RSI75 move the stopLoss to entry price
moveStopLossUp=strategy.position_size>0 and crossunder(myRsi,70)
barcolor(moveStopLossUp?color.blue:na)
stopLossValue:=crossover(myRsi,70) ? strategy.position_avg_price:stopLossValue

//stopLossValue:=moveStopLossUp?strategy.position_avg_price:stopLossValue
rsiPlotColor=longCondition ?color.yellow:color.purple
rsiPlotColor:= moveStopLossUp ?color.blue:rsiPlotColor
plot(myRsi, title="RSI", linewidth=2, color=rsiPlotColor)
//longCondition?color.yellow:#8D1699)
hline(50, title="Middle Line", linestyle=hline.style_dotted)
obLevel = hline(75, title="Overbought", linestyle=hline.style_dotted)
osLevel = hline(25, title="Oversold", linestyle=hline.style_dotted)
fill(obLevel, osLevel, title="Background", color=#9915FF, transp=90)


    
//when RSI crossing down 70 , close 1/2 position and move stop loss to average entry price
strategy.close("RSI_V_LE",  qty=strategy.position_size*1/2, when=strategy.position_size>0 and crossunder(myRsi,70))

//when RSI reaches high reading 90 and crossing down close 3/4 position
strategy.close("RSI_V_LE",  qty=strategy.position_size*3/4, when=strategy.position_size>0 and crossunder(myRsi,90))



//close everything when Rsi goes down below to 10 or stoploss hit  
//just keeping RSI cross below 10 , can work as stop loss , which also keeps you long in the trade ... however sharp declines could  make large loss
//so I combine RSI goes below 10 OR stoploss hit  , whichever comes first - whole posiition closed
longCloseCondition=crossunder(myRsi,10)  or close<stopLossValue
strategy.close("RSI_V_LE", qty=strategy.position_size,when=longCloseCondition )



Lebih lanjut