Strategi rata-rata bergerak CRSI

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

img

Gambaran umum

Strategi ini membangun indikator komposit khusus CRSI dengan mengambil rata-rata RSI, kekuatan bull/bear dan tingkat harga dari peringkat persentase perubahan, dan perdagangan berdasarkan rata-rata bergerak CRSI melintasi level tetap.

Logika Strategi

Strategi ini pertama-tama menghitung RSI harga 3 hari untuk mengukur apakah harga terlalu banyak dibeli atau terlalu banyak dijual. Sementara itu, menghitung kekuatan bull/bear harga untuk menilai momentum. Ini juga menghitung peringkat persentase dari tingkat perubahan harga (ROC) untuk memeriksa kecepatan relatif perubahan harga. Kemudian mengambil rata-rata dari tiga indikator ini untuk membangun indikator komposit kustom CRSI, yang mencerminkan kondisi keseluruhan harga. Akhirnya menghitung rata-rata bergerak sederhana 2 hari (MA) CRSI. Ketika MA melintasi di atas level 40, itu pergi panjang. Ketika MA melintasi di bawah level 70, itu keluar posisi panjang.

Analisis Keuntungan

Strategi ini menggabungkan beberapa indikator untuk membangun indikator CRSI kustom, membuat sinyal perdagangan lebih dapat diandalkan. RSI dapat mengetahui apakah harga terlalu panas atau oversold. Bull / bear power dapat menilai momentum. ROC memeriksa seberapa cepat harga berubah. Menggabungkannya bersama menjadi CRSI membuat sinyal perdagangan lebih komprehensif dan dapat diandalkan. Selain itu, penggunaan MA juga membantu menyaring sinyal palsu.

Analisis Risiko

Meskipun strategi ini menggunakan beberapa indikator untuk combo, namun masih berisiko menghasilkan sinyal palsu dalam kondisi pasar tertentu. Misalnya, di pasar yang terikat kisaran, RSI, ROC dan indikator lainnya dapat menghasilkan sinyal beli dan jual yang sering sementara sebenarnya harga tidak memiliki tren yang jelas. Atau beberapa indikator mungkin tertinggal dan menunda menghasilkan sinyal perdagangan setelah peristiwa mendadak terjadi. Situasi ini dapat menyebabkan kerugian. Risiko dapat dikurangi dengan mengoptimalkan parameter atau menambahkan kondisi penyaring lainnya.

Arahan Optimasi

Berikut adalah beberapa aspek yang dapat mengoptimalkan strategi ini: 1) Mengoptimalkan parameter RSI, kekuatan bull / bear dan ROC untuk membuat CRSI lebih stabil dan dapat diandalkan; 2) Menambahkan indikator tambahan lainnya seperti KDJ, MACD ke dalam combo untuk sinyal yang lebih komprehensif; 3) Mengoptimalkan parameter MA untuk mengurangi risiko keterlambatan; 4) Menambahkan kondisi stop loss untuk mengendalikan kerugian tunggal; 5) Mengintegrasikan indikator jangka panjang untuk menilai status tren, menghindari overtrading pasar inbound range.

Kesimpulan

Strategi ini membangun indikator khusus CRSI berdasarkan rata-rata RSI, kekuatan bull/bear dan ROC, dan berdagang pada MA CRSI melintasi level tetap. Kombinasi multi-indikator semacam itu dapat membuat sinyal perdagangan lebih stabil dan dapat diandalkan.


/*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 banyak