Strategi ini memanfaatkan prinsip penyeberangan garis rata-rata bergerak multi-tingkat untuk menangkap tren jangka menengah dan panjang dan mencapai keuntungan yang stabil. Ini menggunakan tiga set rata-rata bergerak cepat, menengah, dan lambat dengan parameter yang berbeda dan membuat keputusan perdagangan berdasarkan persilangan mereka. Dibandingkan dengan strategi tradisional dengan hanya dua set rata-rata bergerak, strategi penyeberangan rata-rata bergerak multi-tingkat ini dapat menyaring lebih banyak sinyal palsu dan meningkatkan tingkat kemenangan strategi.
Strategi ini menggunakan tiga set rata-rata bergerak: rata-rata bergerak cepat MAshort, rata-rata bergerak kecepatan menengah MAmid, dan rata-rata bergerak lambat MAlong. MAshort memiliki parameter 9, merespon tercepat, dan digunakan untuk menangkap sinyal jangka pendek; MAmid memiliki parameter 50, memiliki kecepatan menengah dan digunakan untuk mengkonfirmasi tren; MAlong memiliki parameter 100, merespon paling lambat dan digunakan untuk menentukan arah tren jangka panjang.
Logika perdagangan spesifik dari strategi ini adalah: ketika garis rata-rata bergerak kecepatan menengah MAmid melintasi di atas garis rata-rata bergerak lambat MAlong, ini menunjukkan bahwa momentum kenaikan harga saham sedang terbentuk. Pada saat ini, strategi berjalan panjang; ketika rata-rata bergerak cepat MAshort melintasi di bawah rata-rata bergerak kecepatan menengah MAmid, ini menunjukkan bahwa pembalikan tren jangka pendek telah terjadi, dan strategi keluar dari posisinya pada saat ini.
Keuntungan terbesar dari strategi ini adalah bahwa dengan menggabungkan beberapa rata-rata bergerak, dapat secara efektif menyaring sinyal palsu dan hanya memilih breakout yang relatif kuat selama tren naik jangka menengah untuk membuka posisi panjang.
Keuntungan dari strategi ini adalah:
Strategi ini juga memiliki risiko berikut:
Untuk mengatasi risiko-risiko ini, kami akan memperluas penerapan strategi sambil mengendalikan penarikan maksimum dengan teknik stop loss.
Strategi ini juga dapat dioptimalkan dengan cara berikut:
Strategi ini termasuk dalam strategi kuantitatif jangka menengah dan panjang yang khas yang, dengan premis mengendalikan risiko perdagangan, terus-menerus menghasilkan keuntungan dengan mencocokkan rata-rata bergerak multi-level dengan tren jangka menengah dan panjang. Dibandingkan dengan satu indikator, strategi ini menggabungkan beberapa parameter dan dapat secara efektif mengidentifikasi sinyal tren jangka menengah dan panjang yang kuat. Melalui optimalisasi lebih lanjut, strategi ini dapat diterapkan pada lebih banyak varietas dan memainkan peran 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)