Strategi breakout rata-rata bergerak ganda adalah tren khas yang mengikuti strategi perdagangan kuantitatif. Ini menghasilkan sinyal perdagangan dengan menghitung rata-rata bergerak sederhana dari periode yang berbeda dan memeriksa apakah harga menerobosnya untuk menentukan posisi. Strategi ini menggunakan rata-rata bergerak 20 hari dan 60 hari sebagai sinyal perdagangan.
Logika inti dari strategi MA ganda adalah untukmenggunakan rata-rata bergerak dari periode yang berbeda untuk menangkap tren harga dan menghasilkan sinyal perdagangan ketika harga menembus rata-rata bergerak.
Secara khusus, strategi ini menggunakan rata-rata bergerak sederhana 20 hari dan 60 hari. Dua rata-rata bergerak ini dapat dilihat sebagai alat untuk menangkap tren jangka pendek dan jangka menengah dan jangka panjang masing-masing. Ketika harga jangka pendek menembus harga jangka menengah dan jangka panjang, itu menandakan bahwa pasar berada dalam tren kenaikan dan dengan demikian harus pergi panjang. Ketika harga jangka pendek turun di bawah harga jangka menengah dan jangka panjang, itu menandakan bahwa pasar berada dalam tren penurunan dan dengan demikian posisi harus dikurangi.
Kode ini menggunakanta.crossover
danta.crossunder
untuk menentukan apakah harga telah menembus atau turun di bawah rata-rata bergerak. sinyal perdagangan untuk pergi panjang atau mengurangi posisi yang dikeluarkan sesuai ketika terjadi breakout.
Strategi penyebaran rata-rata bergerak ganda memiliki keuntungan berikut:
Ada juga beberapa risiko dengan strategi:
Strategi dapat ditingkatkan dari dimensi berikut:
Strategi breakout rata-rata bergerak ganda adalah strategi yang sederhana dan praktis mengikuti tren. Ini dapat secara efektif menangkap tren jangka menengah dan panjang sambil menghindari kebisingan pasar jangka pendek. Juga, logika yang mudah dipahami dan parameter terbatas membuatnya sangat cocok untuk perdagangan kuantitatif. Tentu saja ada ruang untuk perbaikan, seperti penyesuaian parameter, penyaringan sinyal dan stop loss untuk membuatnya lebih stabil dan menguntungkan.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 4h 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/ // © Astorhsu //@version=5 strategy("Astor SMA20/60", overlay=true) backtest_year = input(2018, title='backtest_year') //回測開始年分 backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份 backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31) //回測開始日期 start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00) //回測開始的時間函數 //Indicators sma10 = ta.sma(close,10) sma20 = ta.sma(close,20) sma60 = ta.sma(close,60) plot(sma20, color=color.green, title="sma(20)") plot(sma60, color=color.red, title="sma(60)") //進場條件 // trend1 = sma60 > sma20 //假設目前趨勢為60>20 longCondition = ta.crossover(close, ta.sma(close, 20)) if (longCondition) strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多") shortCondition = ta.crossunder(close, ta.sma(close, 20)) if (shortCondition) strategy.close("open long20",comment="跌破m20平倉", qty=1) longCondition1 = ta.crossover(close, ta.sma(close, 60)) if (longCondition1) strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多") shortCondition1 = ta.crossunder(close, ta.sma(close, 60)) if (shortCondition1) strategy.close("open long60",comment="跌破m60平倉", qty=1) // longCondition2 = ta.crossover(close, ta.sma(close, 10)) // if (longCondition2) // strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多") // shortCondition2 = ta.crossunder(close, ta.sma(close, 10)) // if (shortCondition2) // strategy.close("open long10",comment="跌破m10平倉", qty=1)