Strategi ini menggunakan prinsip penyeberangan garis purata bergerak pelbagai peringkat untuk menangkap trend jangka menengah dan mencapai keuntungan yang stabil. Ia menggunakan tiga set purata bergerak cepat, sederhana, dan perlahan dengan parameter yang berbeza dan membuat keputusan perdagangan berdasarkan persilangan mereka. Berbanding dengan strategi tradisional dengan hanya dua set purata bergerak, strategi penyeberangan purata bergerak pelbagai peringkat ini dapat menapis lebih banyak isyarat palsu dan meningkatkan kadar kemenangan strategi.
Strategi ini menggunakan tiga set purata bergerak: purata bergerak pantas MAshort, purata bergerak kelajuan sederhana MAmid, dan purata bergerak perlahan MAlong. MAshort mempunyai parameter 9, bertindak balas paling cepat, dan digunakan untuk menangkap isyarat jangka pendek; MAmid mempunyai parameter 50, mempunyai kelajuan sederhana dan digunakan untuk mengesahkan trend; MAlong mempunyai parameter 100, bertindak balas paling perlahan dan digunakan untuk menentukan arah trend jangka panjang.
Logik dagangan khusus strategi ini ialah: apabila garis purata bergerak kelajuan sederhana MAmid melintasi di atas garis purata bergerak perlahan MAlong, ia menunjukkan bahawa momentum kenaikan harga saham terbentuk. Pada masa ini, strategi berjalan panjang; apabila purata bergerak pantas MAshort melintasi di bawah purata bergerak kelajuan sederhana MAmid, ia menunjukkan bahawa pembalikan trend jangka pendek telah berlaku, dan strategi keluar dari posisinya pada masa ini.
Kelebihan terbesar strategi ini adalah bahawa dengan menggabungkan pelbagai purata bergerak, ia dapat menapis isyarat palsu dengan berkesan dan hanya memilih pecah yang agak kuat semasa trend menaik jangka sederhana untuk membuka kedudukan panjang.
Kelebihan strategi ini ialah:
Strategi ini juga mempunyai risiko berikut:
Untuk menangani risiko ini, kami akan memperluaskan lagi penerapan strategi sambil mengawal pengeluaran maksimum dengan teknik stop loss.
Strategi ini juga boleh dioptimumkan dengan cara berikut:
Strategi ini termasuk dalam strategi kuantitatif jangka menengah dan panjang yang tipikal yang, dengan premis mengawal risiko perdagangan, terus mendapat keuntungan dengan mencocokkan purata bergerak pelbagai peringkat dengan trend jangka menengah dan panjang. Berbanding dengan satu penunjuk, strategi ini menggabungkan beberapa parameter dan dapat mengenal pasti isyarat trend jangka menengah dan panjang yang kuat. Melalui pengoptimuman lanjut, strategi ini boleh digunakan untuk lebih banyak jenis dan memainkan peranan penting dalam perdagangan kuantitatif.
/*backtest start: 2023-12-12 00:00:00 end: 2024-01-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Coinrule //@version=4 strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations inlong=input(100, title='MAlong') inmid=input(50, title='MAmid') inshort=input(9, title='MAfast') MAlong = sma(close, inlong) MAshort= sma(close, inshort) MAmid= sma(close, inmid) //Entry bullish = crossover(MAmid, MAlong) strategy.entry(id="long", long = true, when = bullish and window()) //Exit bearish = crossunder(MAshort, MAmid) strategy.close("long", when = bearish and window()) plot(MAshort, color=color.orange, linewidth=2) plot(MAmid, color=color.red, linewidth=2) plot(MAlong, color=color.blue, linewidth=2)