Strategi perdagangan RSI sinyal masuk komposit

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

Strategi perdagangan ini menggabungkan RSI, ROC tingkat perubahan, dan MA rata-rata bergerak untuk membentuk mekanisme terpadu untuk mengidentifikasi sinyal masuk.

Secara khusus, ini menghitung RSI 3 periode, tingkat perubahan RSI 2 periode, dan tingkat perubahan harga 100 periode, mengambil rata-rata dari 3 ini sebagai indikator RSI komposit.

Keuntungan dari strategi ini adalah sinergi kekuatan dari beberapa indikator - RSI untuk overbought / oversold, tingkat perubahan RSI untuk momentum, dan ROC untuk tingkat perubahan harga. Namun, setiap indikator memiliki lag, dan menggabungkan mereka tidak dapat sepenuhnya menghindari risiko sinyal palsu.

Singkatnya, strategi RSI sinyal masuk komposit ini menggabungkan kekuatan dari beberapa indikator untuk meningkatkan akurasi penilaian. Tetapi untuk aplikasi praktis, perhatian masih diperlukan pada pengendalian risiko seperti optimasi parameter dan pengaturan stop loss, untuk mencapai stabilitas 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 banyak