Strategi ini mengidentifikasi trend breakout dengan menghitung moving average selama jangka waktu yang berbeda.
Pergi panjang ketika EMA 10 hari melintasi di atas EMA 200 hari dan EMA 20 hari melintasi di atas EMA 50 hari. Pergi pendek ketika EMA 10 hari melintasi di bawah EMA 200 hari dan EMA 20 hari melintasi di bawah EMA 50 hari. Desain rata-rata bergerak ganda menyaring kegagalan palsu secara efektif.
Strategi ini pertama-tama menghitung empat rata-rata bergerak eksponensial (EMA) selama periode 10 hari, 20 hari, 50 hari dan 200 hari. EMA 10 hari mewakili tren jangka pendek, 20 hari menengah, 50 hari jangka menengah dan 200 hari jangka panjang. Ketika EMA yang lebih pendek melintasi EMA yang lebih panjang, itu menandakan potensi pembalikan tren. Namun, hanya menggunakan satu silang EMA menghasilkan sinyal palsu dengan mudah.
Untuk meningkatkan keandalan, strategi ini menerapkan dua lapisan penyaringan: EMA 10/200 cross gauges perubahan tren jangka panjang/pendek sementara EMA 20/50 cross gauges perubahan jangka menengah/pertengahan.
Penyaringan EMA ganda secara signifikan mengurangi sinyal palsu, menghasilkan entri perdagangan yang lebih dapat diandalkan.
Peningkatan termasuk meringankan ambang batas, menambahkan konfirmasi volume dan mengoptimalkan parameter.
Singkatnya, inti rata-rata bergerak ganda dilengkapi dengan optimasi, volume dan lebih banyak indikator dapat membangun sistem pelacakan tren yang stabil.
EMA dual core menyaring breakout palsu secara andal untuk sinyal kualitas. Parameterisasi yang mudah juga memfasilitasi adopsi. Perbaikan lebih lanjut dalam manajemen risiko dan optimasi dapat meningkatkan kinerja. Secara keseluruhan strategi kuantitas pengenalan yang dapat diakses yang didukung oleh kesederhanaan.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-13 02:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Advancing Our Basic Strategy", overlay=true) ema10 = ema(close, 10) ema20 = ema(close, 20) ema50 = ema(close, 50) ema200 = ema(close, 200) long = ema10 > ema200 and ema20 > ema50 short = ema10 < ema200 and ema20 < ema50 longcondition = long and long[10] and not long[11] shortcondition = short and short[10] and not short[11] closelong = ema10 < ema200 or ema20 < ema50 and not long[11] closeshort = ema10 > ema200 or ema20 > ema50 and not short[11] plot(ema10, title="10", color=green, linewidth=2) plot(ema20, title="20", color=red, linewidth=3) plot(ema50, title="50", color=purple, linewidth=2) plot(ema200, title="200", color=blue, linewidth=3) testPeriodStart = timestamp(2018,8,1,0,0) testPeriodStop = timestamp(2038,8,30,0,0) if time >= testPeriodStart and time <= testPeriodStop strategy.entry("Long", strategy.long, 1, when=longcondition) strategy.entry("Short", strategy.short, 1, when=shortcondition) strategy.close("Long", when = closelong) strategy.close("Short", when = closeshort)