
Strategi pengesanan trend purata bergerak berganda (bahasa Inggeris: dual moving average trend tracking strategy) adalah strategi perdagangan kuantitatif yang berdasarkan pada purata bergerak dari dua tempoh yang berbeza untuk menentukan arah trend pasaran. Strategi ini menggunakan purata bergerak cepat dan purata bergerak perlahan untuk menentukan arah trend dan berdagang di arah trend.
Strategi ini menggunakan dua purata bergerak, termasuk purata bergerak cepat ((contohnya 10 kitaran) dan purata bergerak perlahan ((contohnya 30 kitaran). Jika kedua-dua purata bergerak naik, ia dianggap sebagai tren multi-kepala; jika kedua-dua purata bergerak turun, ia dianggap sebagai tren kepala kosong.
Khususnya, strategi pertama mengira purata bergerak cepat dan purata bergerak perlahan. Kemudian membandingkan purata bergerak cepat semasa dengan hubungan saiz kitaran sebelumnya, jika besar semasa dengan kitaran sebelumnya, ia diberi nilai 1, yang bermaksud ke atas; jika tidak, ia diberi nilai -1, yang bermaksud ke bawah.
Akhirnya, menilai laju dua purata bergerak. Jika kedua-dua nilai penilaian adalah 1, maka keputusan akhir adalah 1, yang menunjukkan trend multi-kepala; jika kedua-dua nilai penilaian adalah -1, maka keputusan akhir adalah -1, yang menunjukkan trend kosong.
Setelah menentukan arah trend, strategi ini membuka lebih banyak kedudukan di bawah trend multihead dan membuka posisi kosong di bawah trend kosong.
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai risiko:
Untuk mengurangkan risiko di atas, parameter kitaran purata bergerak boleh ditetapkan dengan lebih munasabah, memperkenalkan petunjuk teknikal lain sebagai penilaian tambahan, menetapkan peraturan hentian hentian, atau menyesuaikan kedudukan dengan sewajarnya.
Strategi ini juga boleh dioptimumkan dalam beberapa aspek:
Strategi pengesanan trend mengikut strategi pergerakan purata dua kali jelas dan mudah difahami, dengan penapis pergerakan pergerakan dua kali, menilai arah trend, dan berdagang mengikut keputusan penilaian, merupakan strategi pengesanan trend yang tipikal. Strategi ini boleh dipilih hanya lebih banyak atau hanya kosong mengikut keutamaan peribadi, fleksibel, mudah, dan mudah dikendalikan.
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
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/
// © noro
// 2020
//@version=4
strategy(title = "Noro's TrendMA Strategy", shorttitle = "TrendMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)
//Settings
needlong = input(true, title = "Long")
needshort = input(true, title = "Short")
fast = input(10, minval = 1, title = "MA Fast (red)")
slow = input(30, minval = 2, title = "MA Slow (blue)")
type = input(defval = "SMA", options = ["SMA", "EMA"], title = "MA Type")
src = input(ohlc4, title = "MA Source")
showma = input(true, title = "Show MAs")
showbg = input(false, title = "Show Background")
//MAs
fastma = type == "EMA" ? ema(src, fast) : sma(src, fast)
slowma = type == "EMA" ? ema(src, slow) : sma(src, slow)
//Lines
colorfast = showma ? color.red : na
colorslow = showma ? color.blue : na
plot(fastma, color = colorfast, title = "MA Fast")
plot(slowma, color = colorslow, title = "MA Slow")
//Trend
trend1 = fastma > fastma[1] ? 1 : -1
trend2 = slowma > slowma[1] ? 1 : -1
trend = 0
trend := trend1 == 1 and trend2 == 1 ? 1 : trend1 == -1 and trend2 == -1 ? -1 : trend[1]
//Backgrouns
colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(colbg, transp = 80)
//Trading
if trend == 1
if needlong
strategy.entry("Long", strategy.long)
if needlong == false
strategy.close_all()
if trend == -1
if needshort
strategy.entry("Short", strategy.short)
if needshort == false
strategy.close_all()