Dual Moving Average Trend Tracking Strategy adalah strategi perdagangan kuantitatif yang menggunakan dua purata bergerak dengan tempoh yang berbeza untuk menentukan arah trend pasaran. Ia menggunakan status panjang / pendek purata bergerak cepat dan perlahan untuk mengenal pasti trend dan membuat perdagangan di sepanjang arah trend.
Strategi ini menggunakan dua purata bergerak, termasuk purata bergerak pantas (contohnya 10 tempoh) dan purata bergerak perlahan (contohnya 30 tempoh).
Secara khusus, strategi pertama mengira purata bergerak pantas dan perlahan. Kemudian ia membandingkan purata bergerak pantas semasa dengan tempoh sebelumnya untuk melihat sama ada yang semasa lebih besar daripada yang sebelumnya. Jika ya, berikan nilai 1 yang menunjukkan trend naik. Jika tidak, berikan -1 untuk trend turun. Lakukan perkara yang sama untuk purata bergerak perlahan.
Akhirnya, tentukan trend dengan nilai kedua-dua purata bergerak. Jika kedua-dua nilai adalah 1, keputusan akhir adalah 1, menunjukkan trend menaik. Jika kedua-dua adalah -1, keputusan akhir adalah -1, menunjukkan trend menurun. Jika nilai berbeza, mengekalkan keputusan trend sebelumnya.
Setelah mengenal pasti arah trend, strategi akan panjang pada trend menaik dan pendek pada trend menurun.
Strategi ini mempunyai kelebihan berikut:
Terdapat juga beberapa risiko strategi:
Untuk mengurangkan risiko, parameter purata bergerak boleh ditetapkan dengan lebih munasabah, penunjuk lain boleh diperkenalkan, stop loss dan mengambil keuntungan boleh ditetapkan, dan saiz kedudukan boleh diselaraskan.
Strategi ini boleh dioptimumkan lagi dalam aspek berikut:
Strategi Pengesanan Trend Purata Bergerak Berganda mempunyai logik yang jelas menggunakan purata bergerak berganda untuk menapis bunyi bising dan mengenal pasti trend, dan berdagang mengikut arah trend. Ini adalah strategi trend yang biasa. Pedagang boleh memilih panjang sahaja atau pendek hanya berdasarkan pilihan. Masih ada beberapa risiko strategi. Penunjuk tambahan, henti rugi / ambil keuntungan harus ditambah untuk mengawal risiko. Dengan berbuat demikian, keuntungan yang stabil jangka panjang dapat dicapai.
/*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()