Strategi ini mengenal pasti trend breakout dengan mengira purata bergerak dalam jangka masa yang berbeza.
Pergi panjang apabila EMA 10 hari melintasi di atas EMA 200 hari dan EMA 20 hari melintasi di atas EMA 50 hari. Pergi pendek apabila EMA 10 hari melintasi di bawah EMA 200 hari dan EMA 20 hari melintasi di bawah EMA 50 hari. Reka bentuk purata bergerak berganda menapis pecah palsu dengan berkesan.
Strategi ini mula-mula mengira empat purata bergerak eksponensial (EMA) dalam tempoh 10 hari, 20 hari, 50 hari dan 200 hari. EMA 10 hari mewakili trend jangka pendek, pertengahan 20 hari, jangka sederhana 50 hari dan 200 hari trend jangka panjang. Apabila EMA yang lebih pendek melintasi EMA yang lebih panjang, ia menandakan pembalikan trend yang berpotensi. Walau bagaimanapun, hanya menggunakan satu silang EMA menghasilkan isyarat palsu dengan mudah.
Untuk meningkatkan kebolehpercayaan, strategi ini menggunakan dua lapisan penapisan: 10/200 EMA cross gauges perubahan trend jangka panjang/pendek manakala 20/50 EMA cross gauges perubahan jangka sederhana/antara.
Penapisan EMA berganda mengurangkan isyarat palsu dengan ketara, menghasilkan entri perdagangan yang lebih boleh dipercayai.
Penambahbaikan termasuk meredakan ambang pecah, menambah pengesahan jumlah dan mengoptimumkan parameter.
Ringkasnya, teras purata bergerak berganda ditambah dengan pengoptimuman, jumlah dan lebih banyak penunjuk boleh membina sistem penjejakan trend yang stabil.
Strategi trend berikut yang mudah tetapi praktikal. Inti EMA berganda menapis pecah palsu dengan boleh dipercayai untuk isyarat kualiti. Parameterisasi mudah juga memudahkan penerapan. Penambahbaikan lanjut dalam pengurusan risiko dan pengoptimuman dapat meningkatkan prestasi. Secara keseluruhan strategi kuantiti pengenalan yang mudah diakses yang disokong 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)