Artikel ini terutamanya menganalisis strategi perdagangan kuantitatif yang dipanggil
Logik teras strategi ini ialah:
Secara khusus, strategi pertama menentukan parameter p sebagai parameter kitaran untuk mengira penunjuk RSI, dan r sebagai julat masa untuk meramalkan perubahan harga masa depan. Kemudian dalam kitaran p, kira jumlah kali harga penutupan meningkat untuk mengira sebaran kebarangkalian A. Pada masa yang sama, dalam kitaran p, kira jumlah kali RSI terus meningkat dalam kitaran r selepas kitaran ini berakhir, dan kira sebaran kebarangkalian B.
Selepas itu, gunakan formula Bayesian untuk mengira kebarangkalian bahawa kedua-dua syarat
Dengan cara ini, strategi secara komprehensif mempertimbangkan maklumat harga dan penunjuk teknikal, menggunakan statistik kebarangkalian dan peraturan Bayesian untuk menilai trend masa depan dan menghasilkan isyarat perdagangan.
Kelebihan utama strategi ini ialah:
Menggabungkan pelbagai maklumat: Strategi ini tidak hanya mengambil kira maklumat harga, tetapi juga maklumat penunjuk teknikal seperti RSI untuk menilai kecenderungan masa depan secara komprehensif dan meningkatkan ketepatan penilaian.
Ramalan kebarangkalian: Membuat ramalan kebarangkalian mengenai arah perubahan harga dan RSI melalui pengedaran kebarangkalian statistik, dan bukannya perbandingan berangka sederhana, menjadikan penilaian lebih saintifik.
Pengoptimuman Bayesian: Gunakan peraturan Bayesian untuk mengira kebarangkalian yang relevan dan mengoptimumkan kebarangkalian statistik asal untuk membuat penghakiman lebih tepat.
Parameter fleksibel: Menyediakan pelbagai parameter untuk penyesuaian dan pengoptimuman untuk sesuai dengan pasaran dan aset yang berbeza dan meningkatkan kesesuaian strategi.
Mudah dan berkesan: Idea strategi adalah jelas dan operasi statistik dan kebarangkalian yang mudah digunakan untuk menjana penilaian isyarat perdagangan, yang mudah difahami dan dioptimumkan, dan kesannya adalah signifikan.
Risiko utama strategi ini juga termasuk:
Kebergantungan parameter: Prestasi sangat bergantung kepada tetapan parameter. pasaran yang berbeza perlu menyesuaikan banyak parameter untuk mencapai hasil yang optimum, meningkatkan kerumitan operasi strategi.
Kesilapan kebarangkalian: Oleh kerana masa statistik dan sampel yang terhad, kebarangkalian yang dikira mungkin tidak sesuai dengan trend sebenar, yang membawa kepada penyimpangan penilaian.
Acara Khas: Kecemasan besar boleh mempengaruhi korelasi antara harga pasaran dan penunjuk RSI, menyebabkan kegagalan strategi.
Kegagalan penunjuk teknikal: Dalam beberapa situasi pasaran, penunjuk teknikal seperti RSI boleh menghasilkan isyarat yang tidak sah, yang membawa kepada kegagalan penilaian strategi.
Penyelesaian termasuk: mengoptimumkan proses penetapan parameter, menyesuaikan masa statistik dan saiz sampel, menggabungkan lebih banyak maklumat tambahan, campur tangan manual dalam situasi yang tidak normal, dll.
Arah pengoptimuman utama strategi ini termasuk:
Pelbagai jangka masa: Melakukan strategi dalam pelbagai jangka masa (tiap hari, mingguan, dll) untuk penilaian bersepadu untuk meningkatkan kestabilan.
Lebih banyak penunjuk: Menambah lebih banyak isyarat penunjuk teknikal seperti corak candlestick, purata bergerak dan lain-lain untuk memperkaya asas penilaian.
Pengoptimuman model: Menggunakan pembelajaran mesin dll untuk mengoptimumkan model Bayesian untuk pengiraan yang lebih tepat.
Parameter dinamik: Menambah modul pengoptimuman dinamik untuk parameter untuk menyesuaikan dalam masa nyata dengan perubahan pasaran.
Mekanisme kawalan risiko: Menetapkan metrik risiko seperti pengeluaran maksimum dan kekerapan perdagangan untuk mengelakkan kerugian besar di pasaran yang melampau.
Menggabungkan penambahbaikan: Bersama-sama dengan jenis atau model strategi lain untuk membentuk mekanisme pengundian dan meningkatkan kestabilan.
Strategi ini mula-mula mengira pengedaran kebarangkalian harga dan RSI secara statistik, kemudian menggunakan peraturan Bayesian untuk mengira kebarangkalian gabungan, menghasilkan isyarat perdagangan apabila kebarangkalian melebihi ambang yang ditetapkan, dengan itu mendapat keuntungan. Strategi ini menggabungkan maklumat pelbagai sumber, memanfaatkan ramalan kebarangkalian dan pengoptimuman Bayesian untuk prestasi penilaian yang baik. Arah pengoptimuman utama termasuk pengembangan jangka masa, lebih banyak penunjuk, parameter dinamik dan lain-lain.
/*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)