
Strategi goyah rawak berganda dengan sistem analisis dinamik adalah strategi perdagangan kuantitatif yang berdasarkan pada pelbagai petunjuk rawak dan analisis dinamik. Strategi ini menggunakan garis petunjuk goyah rawak yang ditetapkan dengan 8 parameter yang berbeza untuk menilai trend dan momentum pasaran dengan menganalisis kedudukan dan pergerakan relatif antara garis petunjuk ini.
Prinsip teras strategi ini adalah menggunakan pelbagai indikator goyah rawak untuk menganalisis pergerakan dan trend pasaran. Ia dilaksanakan seperti berikut:
Gabungan pelbagai indikator: Dengan menggunakan 8 indikator goyah rawak dengan parameter yang berbeza, strategi dapat menangkap perubahan dinamik pasaran secara menyeluruh dalam pelbagai bingkai masa, mengurangkan isyarat palsu yang mungkin dibawa oleh satu indikator.
Capture momentum: Reka bentuk strategi yang berkesan menangkap trend kuat di pasaran, terutamanya pada peringkat awal trend, membantu memasuki lebih awal.
Sokongan keputusan visual: Strategi memaparkan garis indikator yang berbeza dengan warna yang berbeza, mencerminkan keadaan pasaran secara intuitif, membantu peniaga menilai pergerakan pasaran dengan cepat.
Fleksibiliti: Parameter strategi boleh disesuaikan, pengguna boleh mengoptimumkannya mengikut keadaan pasaran dan jenis perdagangan yang berbeza.
Pengurusan risiko: Strategi ini menyediakan kaedah kawalan risiko tambahan dengan menetapkan garisan paras overbought dan oversold.
Risiko Overtrading: Dalam pasaran yang bergolak, strategi mungkin menghasilkan isyarat perdagangan yang kerap, yang menyebabkan overtrading dan meningkatkan kos perdagangan.
Lagging: Strategi mungkin bertindak balas lebih lambat dalam keadaan berbalik pantas kerana penggunaan pelbagai purata bergerak.
Risiko Pelarasan Palsu: Pada peringkat penyusunan horizontal, strategi mungkin salah mengira pergerakan kecil sebagai permulaan trend, menyebabkan perdagangan yang salah.
Sensitiviti parameter: Kesan strategi sangat bergantung kepada tetapan parameter, yang mungkin memerlukan penyesuaian parameter yang kerap dalam keadaan pasaran yang berbeza.
Kekurangan mekanisme hentikan kerugian: kod tidak menetapkan syarat hentikan kerugian secara jelas, yang boleh menyebabkan kerugian yang lebih besar jika salah pertimbangan.
Memperkenalkan parameter penyesuaian diri: parameter yang boleh dipertimbangkan untuk menyesuaikan penunjuk goyah rawak secara dinamik menggunakan algoritma penyesuaian diri untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Menambah syarat penapisan: digabungkan dengan penunjuk teknikal lain (seperti ATR, RSI dan lain-lain) sebagai syarat penapisan tambahan, mengurangkan isyarat palsu.
Pengurusan risiko yang lebih baik: penambahan mekanisme hentian dan hentian, seperti hentian dinamik berasaskan ATR, melindungi keuntungan yang telah diperoleh dan mengehadkan kerugian yang berpotensi.
Optimumkan masa kemasukan: Anda boleh mempertimbangkan kemasukan ketika garis metrik bersilang, dan bukannya menunggu semua garis metrik disusun sepenuhnya, untuk meningkatkan ketepatan masa kemasukan.
Pengenalan analisis kuantiti dagangan: menggabungkan indikator kuantiti dagangan, mengesahkan kesahihan trend, meningkatkan kebolehpercayaan isyarat perdagangan.
Menambah penapisan masa: Tambah sekatan pada tetingkap masa perdagangan untuk mengelakkan pergerakan yang lebih besar atau kekurangan kecairan.
Menerapkan pengurusan kedudukan separa: menyesuaikan saiz kedudukan mengikut kekuatan isyarat, meningkatkan kedudukan apabila isyarat yang lebih kuat muncul.
Strategi goyah rawak berbilang dan sistem analisis dinamik adalah kaedah perdagangan kuantitatif yang inovatif yang menangkap pergerakan dan trend pasaran dengan berkesan dengan menggabungkan pelbagai indikator goyah rawak. Strategi ini berprestasi baik di pasaran yang jelas dan mampu mengesan dan mengikuti trend besar lebih awal. Walau bagaimanapun, strategi ini juga mempunyai beberapa risiko yang berpotensi, seperti terlalu banyak perdagangan dan kepekaan parameter. Dengan memperkenalkan langkah-langkah pengoptimuman seperti parameter penyesuaian, meningkatkan syarat penapisan, dan menyempurnakan pengurusan risiko, kestabilan dan keuntungan strategi dapat ditingkatkan.
/*backtest
start: 2024-06-01 00:00:00
end: 2024-06-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Stochaholic Strategy", shorttitle="Stochaholic Strat", overlay=true)
// Indicator parameters
length = input.int(14, "Length")
// Source
src = hlc3
// Calculations for the Stochaholic indicator
k1 = ta.ema(ta.sma(ta.stoch(src, high, low, length), 3), 3)
k2 = ta.ema(ta.sma(ta.stoch(src, high, low, length), 4), 3)
k3 = ta.ema(ta.sma(ta.stoch(src, high, low, length), 5), 3)
k4 = ta.ema(ta.sma(ta.stoch(src, high, low, length), 6), 3)
k5 = ta.ema(ta.sma(ta.stoch(src, high, low, length), 7), 3)
k6 = ta.ema(ta.sma(ta.stoch(src, high, low, length), 8), 3)
k7 = ta.ema(ta.sma(ta.stoch(src, high, low, length), 9), 3)
k8 = ta.ema(ta.sma(ta.stoch(src, high, low, length), 10), 3)
// Plotting the Stochaholic lines
// plot(k1, linewidth=2, color=k1 >= k2 ? color.lime : color.red)
// plot(k2, linewidth=2, color=k2 >= k3 ? color.lime : color.red)
// plot(k3, linewidth=2, color=k3 >= k4 ? color.lime : color.red)
// plot(k4, linewidth=2, color=k4 >= k5 ? color.lime : color.red)
// plot(k5, linewidth=2, color=k5 >= k6 ? color.lime : color.red)
// plot(k6, linewidth=2, color=k6 >= k7 ? color.lime : color.red)
// plot(k7, linewidth=2, color=k7 >= k8 ? color.lime : color.red)
// plot(k8, linewidth=2, color=k8 >= k8[1] ? color.lime : color.red)
// Overbought and Oversold Levels
// hline(80, color=color.red, title="OB Level")
// hline(50, linewidth=1, title="Mid Level")
// hline(20, color=color.green, title="OS Level")
// Strategy logic
longCondition = (k1 >= k2 and k2 >= k3 and k3 >= k4 and k4 >= k5 and k5 >= k6 and k6 >= k7 and k7 >= k8 and k8 >= k8[1])
shortCondition = (k1 < k2 and k2 < k3 and k3 < k4 and k4 < k5 and k5 < k6 and k6 < k7 and k7 < k8 and k8 < k8[1])
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)