Strategi Perdagangan RSI Isyarat Masuk Komposit

Penulis:ChaoZhang, Tarikh: 2023-09-11 14:49:59
Tag:

Strategi perdagangan ini menggabungkan RSI, kadar perubahan ROC, dan MA purata bergerak untuk membentuk mekanisme bersepadu untuk mengenal pasti isyarat kemasukan.

Secara khusus, ia mengira RSI 3 tempoh, kadar perubahan RSI 2 tempoh, dan kadar perubahan harga 100 tempoh, mengambil purata 3 ini sebagai penunjuk RSI komposit. Isyarat beli dihasilkan apabila RSI komposit melintasi di atas 40, dan isyarat jual apabila melintasi di atas 70.

Kelebihan strategi ini adalah ia menyinkronkan kekuatan beberapa penunjuk - RSI untuk overbought / oversold, kadar perubahan RSI untuk momentum, dan ROC untuk kadar perubahan harga.

Ringkasnya, strategi RSI isyarat kemasukan komposit ini menggabungkan kekuatan pelbagai penunjuk untuk meningkatkan ketepatan penilaian. Tetapi untuk aplikasi praktikal, perhatian masih diperlukan pada kawalan risiko seperti pengoptimuman parameter dan tetapan stop loss, untuk mencapai kestabilan jangka panjang.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1, vlow = 20
updown(s) => 
    isEqual = s == s[1]
    isGrowing = s > s[1]
    ud = 0.0
    ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1)
    ud
rsi = rsi(src, lenrsi)
updownrsi = rsi(updown(src), lenupdown)
percentrank = percentrank(roc(src, 1), lenroc)
crsi = avg(rsi, updownrsi, percentrank)
MA = sma(crsi, malengt)

band1 = 70
band0 = 40
band2 = 20

ColorMA = MA>=band0 ? lime : red

p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA)

p2 = plot(low, title="idk", style=line, linewidth=2, color=blue)
p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange)
p4 = plot(vlow, title="idk3", style=line, linewidth=1, color=red)

//@version=2
strategy("CMARSI")


if crossover(MA, band0)
    strategy.entry("buy", strategy.long, when=strategy.position_size <= 0)
    
if crossunder(MA, band1)
    strategy.exit("close", "buy")
    



plot(strategy.equity)

    





Lebih lanjut