Ini adalah strategi perdagangan berdasarkan isyarat crossover purata bergerak. Ia menggunakan garis purata bergerak 45 hari sebagai penunjuk teknikal utama dan menghasilkan isyarat beli dan jual apabila harga memecahkan garis purata bergerak.
Apabila harga meningkat dan memecahkan di atas garis purata bergerak 45 hari, isyarat beli dihasilkan. Selepas memegang kedudukan selama 8 hari, isyarat jual dihasilkan. Selepas itu, jika harga meningkat dan memecahkan di atas garis purata bergerak 45 hari lagi, isyarat beli baru akan dicetuskan, dan sebagainya.
Prinsip-prinsip logik khusus adalah:
Perkara di atas merupakan logik perdagangan teras strategi ini.
Strategi ini mempunyai kelebihan berikut:
Terdapat beberapa risiko dengan strategi ini:
Penyelesaian:
Kawasan utama peningkatan adalah:
Mengoptimumkan parameter MA untuk mencari kombinasi terbaik, contohnya MA 15 hari, 30 hari, 60 hari.
Mengoptimumkan tempoh penyimpanan untuk menentukan tempoh optimum, contohnya 5 hari, 10 hari, 15 hari.
Tambah hentian untuk mengesan trend dan mengawal risiko, contohnya hentian percubaan atau hentian ATR.
Tambah penapis menggunakan penunjuk lain seperti MACD, KDJ untuk mengurangkan isyarat palsu.
Memperbetulkan peraturan kemasukan semula untuk mengelakkan perdagangan berlebihan, contohnya menerapkan tempoh pendinginan.
Uji keberkesanan di pasaran dan instrumen yang berbeza. Parameter perlu disesuaikan untuk pasaran yang berbeza.
Ringkasnya, strategi persilangan MA ini adalah sistem trend berikut yang mudah dan praktikal. Ia mengambil kesempatan daripada keupayaan penjejakan trend MA dan menggabungkan penembusan harga untuk menghasilkan isyarat perdagangan. Kelebihannya adalah mudah dilaksanakan manakala keburukan adalah whipsaws sesekali. Strategi ini boleh ditingkatkan lagi melalui pengoptimuman parameter dan menambah penunjuk lain sebagai penapis.
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Moving Average Crossover Strategy", overlay=true) // Calculate the 45-day moving average ma_length = 45 ma = ta.sma(close, ma_length) // Track position entry and entry bar var bool in_long_position = na var int entry_bar = na var int exit_bar = na // Entry condition: Close price crosses above the 45-day moving average to enter the position if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] < ma[1]) in_long_position := true entry_bar := bar_index // Exit condition: Close the position after holding for 8 trading days if (in_long_position and bar_index - entry_bar >= 8) in_long_position := false exit_bar := bar_index // Re-entry condition: Wait for price to cross over the 45-day moving average again if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] > ma[1] and (na(exit_bar) or bar_index - exit_bar >= 8)) in_long_position := true entry_bar := bar_index // Execute long entry and exit if (in_long_position) strategy.entry("Long", strategy.long) if (not in_long_position) strategy.close("Long")