Strategi Crossover Kuantitatif Purata Bergerak adalah strategi perdagangan kuantitatif yang menghasilkan isyarat beli dan jual berdasarkan isyarat silang dua purata bergerak dengan tempoh yang berbeza. Strategi ini menggunakan purata bergerak mudah (SMA) 9 hari dan 20 hari. Isyarat beli dihasilkan apabila purata bergerak jangka pendek (9 hari) melintasi di atas purata bergerak jangka panjang (20 hari), dan isyarat jual dihasilkan apabila purata bergerak jangka pendek melintasi di bawah purata bergerak jangka panjang. Logik strategi adalah mudah, jelas, dan mudah dilaksanakan dan dioptimumkan.
Inti strategi ini adalah untuk menggunakan isyarat silang purata bergerak dengan tempoh yang berbeza untuk menangkap titik perubahan trend pasaran.
Melalui langkah-langkah di atas, strategi ini boleh membeli pada lilin menaik pertama selepas purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang, dan menjual pada lilin menurun pertama selepas purata bergerak jangka pendek melintasi di bawah purata bergerak jangka panjang, dengan itu merealisasikan pembukaan dan penutupan kedudukan tepat pada masanya pada titik perubahan trend.
Strategi kuantitatif crossover purata bergerak mempunyai kelebihan berikut:
Walaupun strategi kuantitatif crossover purata bergerak mempunyai kelebihan tertentu, ia masih mempunyai risiko berikut:
Untuk menangani risiko di atas, langkah-langkah berikut boleh diambil untuk meningkatkan:
Pengoptimuman parameter: Mengoptimumkan parameter tempoh purata bergerak untuk mencari kombinasi parameter yang lebih sesuai untuk pasaran semasa dan meningkatkan prestasi strategi.
Penapisan isyarat: Berdasarkan persilangan purata bergerak, memperkenalkan penunjuk atau keadaan teknikal lain, seperti MACD dan RSI, untuk melakukan pengesahan sekunder isyarat perdagangan dan meningkatkan kebolehpercayaan isyarat.
Pengurusan kedudukan: Sesuaikan saiz kedudukan secara dinamik berdasarkan faktor-faktor seperti kekuatan trend pasaran dan turun naik. Tingkatkan saiz kedudukan apabila trendnya kuat, dan kurangkan saiz kedudukan apabila trendnya tidak jelas atau turun naik meningkat untuk meningkatkan nisbah risiko - pulangan.
Stop-loss dan mengambil keuntungan: Memperkenalkan mekanisme stop-loss dan mengambil keuntungan yang munasabah untuk mengawal pendedahan risiko perdagangan tunggal sambil membiarkan keuntungan berjalan untuk meningkatkan pulangan strategi.
Lindung nilai jangka pendek: Pertimbangkan untuk menambah isyarat kontra-trend kepada strategi untuk memegang kedua-dua kedudukan panjang dan pendek secara serentak, lindung nilai risiko pasaran dan meningkatkan kestabilan strategi.
Arah pengoptimuman di atas boleh membantu meningkatkan prestasi strategi, tetapi pelaksanaan khusus masih perlu disesuaikan dan diuji mengikut keadaan sebenar.
Strategi kuantitatif crossover purata bergerak adalah strategi trend berikut yang mudah dan berkesan yang menangkap perubahan trend pasaran melalui isyarat crossover purata bergerak dengan tempoh yang berbeza. Logik strategi jelas dan dapat disesuaikan, tetapi juga mempunyai masalah seperti lag dan risiko pasaran yang berbelit-belit. Dengan memperkenalkan penunjuk teknikal lain, mengoptimumkan parameter, meningkatkan pengurusan kedudukan dan langkah-langkah kawalan risiko, prestasi strategi ini dapat ditingkatkan lagi, menjadikannya strategi perdagangan kuantitatif yang lebih mantap dan berkesan.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ZeroHeroTrading //@version=5 strategy("Simple 9/20 Crossover", overlay=true) // Define moving averages ma9 = ta.sma(close, 9) ma20 = ta.sma(close, 20) // Set persistent variable to keep track of crossover condition var bool crossoverCondition = false // 9 MA crosses above 20 MA // Set crossover condition to true if ta.crossover(ma9, ma20) crossoverCondition := true // 9 MA crosses under 20 MA // Reset crossover condition to false if ta.crossunder(ma9, ma20) crossoverCondition := false // Set buy and sell signals buySignal = crossoverCondition and close > open and close > ma9 sellSignal = close < ma9 // Execute trades based on signals if (buySignal) strategy.entry("Long", strategy.long) // Avoid repeat entries by resetting crossover condition to false crossoverCondition := false if (sellSignal) strategy.close("Long") // Plot moving averages on the chart plot(ma9, color=color.blue) plot(ma20, color=color.red)