Strategi Pelacakan Tren Rata-rata Bergerak Ganda adalah strategi perdagangan kuantitatif yang menggunakan dua rata-rata bergerak dengan periode yang berbeda untuk menentukan arah tren pasar.
Strategi ini menggunakan dua rata-rata bergerak, termasuk rata-rata bergerak cepat (misalnya 10 periode) dan rata-rata bergerak lambat (misalnya 30 periode).
Secara khusus, strategi pertama menghitung rata-rata bergerak cepat dan lambat. Kemudian membandingkan rata-rata bergerak cepat saat ini dengan periode sebelumnya untuk melihat apakah yang saat ini lebih besar dari yang sebelumnya. Jika ya, atasi nilai 1 yang menunjukkan tren naik. Jika tidak, atasi -1 untuk tren turun. Lakukan hal yang sama untuk rata-rata bergerak lambat.
Akhirnya, tentukan tren dengan nilai dari dua rata-rata bergerak. Jika kedua nilai adalah 1, keputusan akhir adalah 1, yang menunjukkan tren naik. Jika keduanya adalah -1, keputusan akhir adalah -1, yang menunjukkan tren turun. Jika nilai berbeda, pertahankan keputusan tren sebelumnya.
Setelah mengidentifikasi arah tren, strategi akan panjang pada tren naik dan pendek pada tren turun.
Strategi ini memiliki keunggulan berikut:
Ada juga beberapa risiko dari strategi:
Untuk mengurangi risiko, parameter rata-rata bergerak dapat ditetapkan lebih wajar, indikator lain dapat diperkenalkan, stop loss dan take profit dapat ditetapkan, dan ukuran posisi dapat disesuaikan.
Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:
Strategi Pelacakan Tren Rata-rata Bergerak Ganda memiliki logika yang jelas untuk menggunakan rata-rata bergerak ganda untuk menyaring kebisingan dan mengidentifikasi tren, dan berdagang di sepanjang arah tren. Ini adalah strategi trend berikut yang khas. Pedagang dapat memilih hanya panjang atau pendek hanya berdasarkan preferensi. Masih ada beberapa risiko strategi. Indikator tambahan, stop loss / take profit harus ditambahkan untuk mengendalikan risiko. Dengan demikian, keuntungan 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()