
Artikel ini terutama menganalisis sebuah strategi perdagangan kuantitatif yang disebut “RSI Trading Strategy” yang berjudul “Apply Bayesian Conditional Judgment”. Strategi ini bekerja dengan menghitung probabilitas distribusi dari RSI, dan menggunakan Bayesian Law untuk menduga kemungkinan RSI akan terus naik atau turun, untuk menentukan tren harga di masa depan, dan menghasilkan keuntungan.
Logika inti dari strategi ini adalah:
Secara khusus, strategi pertama-tama mendefinisikan parameter p sebagai parameter siklus untuk menghitung indikator RSI, dan r sebagai rentang waktu untuk memprediksi perubahan harga di masa depan. Kemudian, dalam siklus p, menghitung berapa kali harga tutup statistik naik, dan menghitung distribusi probabilitas A. Sementara itu, dalam siklus p, menghitung berapa kali RSI terus naik setelah siklus r berakhir, dan menghitung distribusi probabilitas B.
Setelah itu, menggunakan rumus hukum Bayes, menghitung probabilitas dari kedua kondisi, yaitu kenaikan harga close-out dan terus meningkatnya RSI, sebagai indikator penilaian probabilitas akhir. Ketika probabilitas tersebut lebih tinggi dari titik terendah yang diberikan, penilaian tren akan terus meningkat, dan mengambil lebih banyak perdagangan; Ketika probabilitas lebih rendah dari titik terendah, penilaian tren akan berbalik, dan mengambil posisi kosong.
Dengan demikian, analisis strategi mempertimbangkan informasi harga dan informasi indikator teknis, statistik probabilitas dan hukum Bayes, untuk menilai tren masa depan, dan menghasilkan sinyal perdagangan.
Strategi ini memiliki beberapa keuntungan utama:
Menggabungkan berbagai informasiStrategi ini tidak hanya mempertimbangkan informasi harga, tetapi juga menggabungkan informasi indikator teknis seperti RSI, untuk menilai secara menyeluruh tren masa depan, meningkatkan akurasi penilaian.
Prediksi Probabilitas: Menggunakan distribusi probabilitas statistik, membuat prediksi probabilitas tentang arah perubahan harga dan RSI, bukan perbandingan numerik sederhana, membuat penilaian lebih ilmiah.
Optimasi Bayesian: Menggunakan Hukum Bayes untuk menghitung probabilitas terkait, mengoptimalkan probabilitas statistik asli, membuat penilaian lebih akurat.
Parameter Fleksibel: menyediakan berbagai parameter untuk penyesuaian optimasi, dapat menyesuaikan parameter untuk pasar dan aset yang berbeda, meningkatkan fleksibilitas strategi.
Sederhana dan efektifStrategi yang jelas, melalui statistik sederhana dan operasi probabilitas untuk menilai sinyal perdagangan, mudah dipahami dan dioptimalkan, dan hasilnya jelas.
Strategi ini juga memiliki risiko utama sebagai berikut:
Ketergantungan ParameterEfek strategi tergantung pada pengaturan parameter, yang memerlukan banyak penyesuaian parameter untuk mencapai efek optimal di pasar yang berbeda, meningkatkan kesulitan dalam pengoperasian strategi.
Kesalahan ProbabilitasKarena waktu dan sampel yang terbatas, kemungkinan yang dihitung mungkin tidak sesuai dengan tren yang sebenarnya, yang menyebabkan penilaian yang menyimpang.
Acara KhususPeristiwa besar dapat memengaruhi hubungan harga pasar dengan RSI, sehingga strategi tidak akan berhasil.
Indikator teknis tidak berlakuDalam beberapa situasi pasar, indikator teknis seperti RSI dapat menghasilkan sinyal kegagalan, yang menyebabkan kegagalan penilaian strategi.
Solusi untuk mengatasi risiko meliputi: optimalisasi proses pengaturan parameter, penyesuaian waktu statistik dan jumlah sampel, kombinasi informasi tambahan, intervensi manual yang tidak biasa, dll.
Strategi ini bertujuan untuk mengoptimalkan:
Kerangka waktu multiStrategi dapat dijalankan pada berbagai periode waktu (hari, bulan, dan lain-lain), penilaian komprehensif, dan stabilitas yang lebih baik.
Indikator lainnya: Tambahkan lebih banyak sinyal indikator teknis, seperti bentuk K-line, rata-rata gerak, dan lain-lain, untuk membuat penilaian yang lebih baik.
Optimisasi model: Menggunakan metode pembelajaran mesin untuk mengoptimalkan model Bayesian, membuat perhitungan lebih akurat.
Parameter dinamis: Modul optimasi dinamis yang ditambahkan parameter, sehingga parameter dapat disesuaikan dengan perubahan pasar secara real-time.
Sistem pengendalian anginUntuk menghindari kerugian besar di pasar ekstrim, Anda harus mengatur indikator pengendalian angin, seperti penarikan maksimum, dan pengurangan frekuensi.
Peningkatan IntegrasiDi antara mereka adalah: Integrasi dengan jenis strategi atau model lainnya, membentuk mekanisme voting, meningkatkan stabilitas penilaian.
Strategi ini pertama-tama menghitung distribusi probabilitas harga dan indikator RSI, kemudian menggunakan aturan Bayes untuk menghitung probabilitas gabungan, menghasilkan sinyal perdagangan ketika probabilitas lebih tinggi dari batas yang diberikan, dan menghasilkan keuntungan. Strategi ini mengintegrasikan informasi multi-sumber, prediksi probabilitas aplikasi, dan optimasi Bayes, untuk menilai efektivitas yang lebih baik.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-03-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// Stealthy7 trading scripts are radikal. You have entered the mystical realm of demonic profit.
// If you like this script, check out my bots at cryptotrader.org/?r=51
// Let me know if you find any improvements to this script. It is beta.
// Please subscribe.
strategy("Stealthy7 Bayes Conditional RSI Trader Strategy", overlay=true)
p = input(title="Period", defval=30, minval=5, maxval=500)
t = input(title="Movement Thresh", type=float, defval=1.003, minval=1.001, maxval=1.5, step=0.001)
r = input(title="Look Range", defval=7, minval=1,maxval=500, step=1)
RSIT = input(title="Jump", defval=8, minval=1,maxval=99, step=1)
BAYEST = input(title="SM", defval=3, minval=1,maxval=99, step=1)
RSIP = input(title="RSIP", defval=14, minval=2,maxval=100, step=1)
countup = 1
countdn = 1
countupS = 1
countdnS = 1
for i = p to 1
if close[i]/close[i + r] > t
countup := countup + 1
else
countdn := countdn + 1
if close[i]/close[i + r] < 2 - t
countupS := countupS + 1
else
countdnS := countdnS + 1
rsi = rsi(open,RSIP)
countup2 = 1
countup3 = 1
countup2S = 1
countup3S = 1
for i = p to 1
if close[i]/close[i + r] > t and rsi[i + r + 1] > rsi[i + r + 2] + RSIT
countup2 := countup2 + 1
else
countup3 := countup3 + 1
if close[i]/close[i + r] < 2 - t and rsi[i + r + 1] < rsi[i + r + 2] - RSIT
countup2S := countup2S + 1
else
countup3S := countup3S + 1
countup2b = countup2 / p
countup3b = countup3 / p
countupb = countup / p
countdnb = countdn / p
countup2bS = countup2S / p
countup3bS = countup3S / p
countupbS = countupS / p
countdnbS = countdnS / p
bayes = 0
bayes := ((countupb * countup2b) / ((countupb * countup2b) + (countdnb * countup3b))) * 100
bayesS = 0
bayesS := ((countupbS * countup2bS) / ((countupbS * countup2bS) + (countdnbS * countup3bS))) * 100
SN1 = sma(bayes,BAYEST)
SN2 = sma(bayesS,BAYEST)
shortCondition = crossunder(bayesS, SN2) //and rsi < 49
longCondition = crossover(bayes, SN1) //and rsi > 59
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)