Strategi purata bergerak CRSI

Penulis:ChaoZhang, Tarikh: 2024-02-02 18:12:17
Tag:

img

Ringkasan

Strategi ini membina penunjuk komposit khusus CRSI dengan mengambil purata RSI, kekuatan bull/bear dan kadar harga perubahan peratusan, dan perdagangan berdasarkan purata bergerak CRSI melintasi tahap tetap.

Logika Strategi

Strategi ini mula-mula mengira RSI harga 3 hari untuk mengukur sama ada harga terlalu banyak dibeli atau terlalu banyak dijual. Sementara itu, ia mengira kuasa harga bull / bear untuk menilai momentum. Ia juga mengira pangkat peratusan kadar perubahan harga (ROC) untuk memeriksa kelajuan perubahan harga yang relatif. Kemudian ia mengambil purata tiga penunjuk ini untuk membina penunjuk komposit tersuai CRSI, yang mencerminkan keadaan keseluruhan harga. Akhirnya ia mengira purata bergerak mudah 2 hari (MA) CRSI. Apabila MA melintasi tahap 40, ia pergi panjang. Apabila MA melintasi tahap di bawah 70, ia keluar dari kedudukan panjang.

Analisis Kelebihan

Strategi ini menggabungkan beberapa penunjuk untuk membina penunjuk CRSI tersuai, menjadikan isyarat perdagangan lebih boleh dipercayai. RSI boleh mengetahui sama ada harga terlalu panas atau terlalu dijual. Kuasa bull / bear dapat menilai momentum. ROC memeriksa seberapa cepat harga berubah. Menggabungkan mereka bersama ke dalam CRSI menjadikan isyarat perdagangan lebih komprehensif dan boleh dipercayai. Di samping itu, penggunaan MA juga membantu menapis isyarat palsu.

Analisis Risiko

Walaupun strategi ini menggunakan beberapa penunjuk untuk combo, ia masih berisiko menghasilkan isyarat palsu dalam keadaan pasaran tertentu. Sebagai contoh, di pasaran yang terikat julat, RSI, ROC dan penunjuk lain mungkin menghasilkan isyarat beli dan jual yang kerap sementara sebenarnya harga tidak mempunyai trend yang jelas. Atau beberapa penunjuk mungkin tertinggal dan menunda menghasilkan isyarat perdagangan selepas peristiwa tiba-tiba berlaku. Situasi ini boleh menyebabkan kerugian. Risiko dapat dikurangkan dengan mengoptimumkan parameter atau menambah keadaan penapisan lain.

Arahan pengoptimuman

Berikut adalah beberapa aspek yang dapat mengoptimumkan strategi ini: 1) Mengoptimumkan parameter RSI, kekuatan bull / bear dan ROC untuk menjadikan CRSI lebih stabil dan boleh dipercayai; 2) Tambah penunjuk tambahan lain seperti KDJ, MACD ke dalam combo untuk isyarat yang lebih komprehensif; 3) Mengoptimumkan parameter MA untuk mengurangkan risiko kelewatan; 4) Tambah syarat stop loss untuk mengawal kerugian tunggal; 5) Menggabungkan penunjuk jangka panjang untuk menilai status trend, mengelakkan overtrading dalam pasaran julat masuk.

Kesimpulan

Strategi ini membina penunjuk tersuai CRSI berdasarkan purata RSI, kuasa lembu / beruang dan ROC, dan berdagang pada MA CRSI melintasi tahap tetap. Kombinasi pelbagai penunjuk sedemikian dapat menjadikan isyarat perdagangan lebih stabil dan boleh dipercayai. Tetapi strategi ini masih memerlukan pengoptimuman lebih lanjut pada parameter, penunjuk tambahan dan keadaan penapisan untuk mengurangkan isyarat palsu dan kesan rejim pasaran, untuk meningkatkan keuntungan yang stabil.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
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, 1, when=strategy.position_size <= 0)
    
if crossunder(MA, band1)
    strategy.exit("close", "buy",  1, profit=1, stop=1)
    



plot(strategy.equity)


Lebih lanjut