Strategi crossover purata bergerak yang dipertingkatkan dengan panduan trend pasaran menggunakan tiga purata bergerak dari tempoh yang berbeza untuk menentukan trend pasaran dan isyarat perdagangan. Ia mula-mula mengira garis pantas, garis perlahan dan garis trend. Isyarat membeli dan menjual dihasilkan berdasarkan salib emas dan salib kematian garis pantas dan perlahan. Di samping itu, garis trend diperkenalkan untuk menilai arah trend keseluruhan pasaran. Dagangan diambil hanya ke arah trend untuk mengelakkan perdagangan kontra-trend.
Logik teras menggunakan tiga purata bergerak - garisan pantas, garisan perlahan dan garisan trend untuk penjanaan isyarat. Tempoh untuk tiga purata bergerak ditakrifkan sebagai parameter input. Salib emas (garisan pantas melintasi di atas garis perlahan) dan salib kematian (garisan pantas melintasi di bawah garis perlahan) antara garisan pantas dan perlahan menghasilkan isyarat beli dan jual masing-masing. Ini berdasarkan sistem crossover purata bergerak ganda klasik.
Penambahbaikan ini datang daripada pengenalan garis trend purata bergerak ketiga untuk menentukan arah trend pasaran. Isyarat beli hanya diambil pada salib emas dan isyarat jual pada salib kematian apabila arah trend memihak kepada isyarat. Sebagai contoh, isyarat beli hanya diambil pada salib emas apabila trend naik dan isyarat jual hanya pada salib kematian apabila trend turun. Ini membantu mengelakkan perdagangan kontra-trend dan mengurangkan risiko.
Berbanding dengan strategi purata bergerak berganda yang mudah, strategi yang lebih baik ini mempunyai kelebihan berikut:
Panduan trend pasaran mengelakkan perdagangan yang bertentangan dengan trend, menapis perdagangan yang berpotensi kehilangan dan mengurangkan risiko.
Gabungan pelbagai purata bergerak meningkatkan kebolehpercayaan isyarat dan kadar kemenangan.
Penyesuaian parameter yang fleksibel menyesuaikan diri dengan rejimen pasaran yang berbeza.
Peraturan yang mudah dan jelas menjadikan pelaksanaan mudah. Lebih mudah untuk dilaksanakan daripada model pembelajaran mesin yang kompleks.
Penunjuk dan logik yang disahkan dengan asas teori yang kukuh dan boleh dipercayai.
Walaupun terdapat penambahbaikan berbanding dengan strategi MA berganda, beberapa risiko perlu dipertimbangkan:
Kerumitan tambahan dari tiga purata bergerak menimbulkan kesukaran pengoptimuman dan risiko penyesuaian parameter yang buruk.
Sifat ketinggalan purata bergerak boleh membosankan isyarat atau menyebabkan kelewatan.
Penentuan trend subjektif membawa risiko kesilapan dalam menilai trend.
Tiada saiz kedudukan atau ciri pengurusan risiko.
Sistem berasaskan peraturan tidak dapat menyesuaikan diri seperti model pembelajaran mesin.
Risiko ini berpotensi dapat dikurangkan melalui pengujian belakang yang ketat, pengoptimuman dan pengenalan penambahbaikan seperti kerugian berhenti, ukuran kedudukan, penyesuaian pembelajaran mesin dll. Tetapi risiko tidak dapat dihapuskan sepenuhnya.
Beberapa cara strategi ini boleh ditingkatkan lagi:
Menggabungkan mekanisme stop loss seperti harga berasaskan atau turun naik berasaskan untuk mengawal kerugian setiap perdagangan.
Tambah modul saiz kedudukan untuk menyesuaikan kedudukan secara dinamik berdasarkan pengeluaran, penggunaan modal dan lain-lain.
Uji dalam pelbagai jangka masa (setiap hari, 60 minit dan lain-lain) untuk ketahanan.
Pengoptimuman parameter melalui carian grid, algoritma genetik dan lain-lain Model Ensemble juga boleh menggabungkan isyarat dari beberapa model.
Teknik pembelajaran mesin seperti pembelajaran penguat untuk meningkatkan parameter dan kebolehsesuaian secara automatik.
Tambah penapis berdasarkan jumlah, perbezaan harga, turun naik dan lain-lain untuk mengurangkan isyarat yang mengelirukan.
Kesimpulannya, strategi crossover purata bergerak yang dipertingkatkan ini membimbing perdagangan dalam arah trend pasaran keseluruhan untuk mengelakkan perdagangan yang bertentangan dengan trend. Ini menunjukkan janji untuk meningkatkan pulangan yang disesuaikan dengan risiko berbanding strategi crossover purata bergerak berganda yang mudah. Tetapi peningkatan lanjut melalui pengukuran kedudukan, penyesuaian pembelajaran mesin dan lain-lain dapat membantu mengoptimumkannya lebih lanjut. Prinsip teras mengikuti trend menggunakan purata bergerak nampaknya baik.
/*backtest start: 2023-11-28 00:00:00 end: 2023-12-01 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Improved Moving Average Crossover Strategy", overlay=true) // Define input variables fast_length = input(9, title="Fast MA Length") slow_length = input(21, title="Slow MA Length") trend_length = input(50, title="Trend MA Length") src = close // Calculate moving averages fast_ma = ta.sma(src, fast_length) slow_ma = ta.sma(src, slow_length) trend_ma = ta.sma(src, trend_length) // Plot moving averages on the chart plot(fast_ma, color=color.blue, title="Fast MA") plot(slow_ma, color=color.red, title="Slow MA") plot(trend_ma, color=color.green, title="Trend MA") // Define trend direction is_uptrend = ta.crossover(slow_ma, trend_ma) is_downtrend = ta.crossunder(slow_ma, trend_ma) // Define buy and sell conditions buy_condition = ta.crossover(fast_ma, slow_ma) and is_uptrend sell_condition = ta.crossunder(fast_ma, slow_ma) and is_downtrend // Execute trades based on conditions if (buy_condition) strategy.entry("Buy", strategy.long) if (sell_condition) strategy.close("Buy") if (sell_condition) strategy.entry("Sell", strategy.short) if (buy_condition) strategy.close("Sell")