Strategi Three EMA trend following menilai arah trend harga dengan mengira garis EMA dari tempoh yang berbeza, dan mengikuti trend secara automatik.
Strategi ini mengira tiga garis EMA dengan tempoh yang berbeza, khususnya EMA 10-period, 20-period dan 30-period.
Logika teras adalah untuk menilai konsistensi arah tiga garis EMA. Jika ketiga-tiga garis EMA naik bersama, isyarat panjang dihasilkan. Jika ketiga-tiga garis jatuh bersama, isyarat pendek dihasilkan.
Secara khusus, jika ema1, ema2 dan ema3 semua naik di bar terakhir, enter_long menjadi benar dan isyarat panjang dihasilkan.
Berdasarkan isyarat panjang dan pendek, strategi akan membuka kedudukan panjang dan pendek yang sepadan. Logik keluar adalah bertentangan dengan isyarat masuk. Jika ema1, ema2 dan ema3 tidak naik bersama dalam bar semasa, exit_long menjadi benar dan kedudukan panjang akan ditutup. Jika ema1, ema2 dan ema3 tidak jatuh bersama dalam bar semasa, exit_short menjadi benar dan kedudukan pendek akan ditutup.
Dengan menilai konsistensi arah tiga garis EMA, trend keseluruhan boleh ditentukan dan diikuti.
Menggunakan tiga garis EMA boleh menilai arah trend dengan lebih boleh dipercayai berbanding dengan satu garis sahaja.
EMA lebih sensitif terhadap perubahan harga dan boleh mencerminkan pembalikan trend dari masa ke masa.
Gabungan EMA tempoh yang berlainan mengambil kira kedua-dua trend jangka pendek dan sederhana. EMA 10 tempoh untuk jangka pendek, EMA 20 dan 30 tempoh untuk trend jangka menengah dan panjang.
Logik strategi adalah mudah dan mudah difahami, sesuai untuk pemula. juga parameter mempunyai ruang pengoptimuman yang besar untuk instrumen yang berbeza.
Strategi ini hanya berasaskan garis EMA, memerlukan lebih sedikit sumber dan sesuai untuk sambungan yang tinggi.
Kesesuaian arah garis EMA adalah perlu tetapi tidak mencukupi untuk penilaian trend. Isyarat yang salah mungkin berlaku semasa pecah garis EMA yang salah.
Garis EMA lambat dalam pembalikan trend, tidak dapat mencerminkan titik perubahan dalam masa, yang boleh menyebabkan kerugian.
EMA sensitif terhadap perubahan harga, flip kedudukan pendek panjang yang kerap boleh meningkatkan kos transaksi.
Strategi ini tidak berkesan dalam pasaran yang berubah-ubah dan tidak menentu di mana garis EMA sering turun naik.
Boleh mengoptimumkan perbezaan tempoh EMA untuk mengurangkan isyarat palsu.
Tambah penunjuk momentum untuk mengesahkan trend sebenar dan mengenal pasti titik perubahan, mengurangkan kerugian.
Meningkatkan tempoh EMA untuk mengurangkan frekuensi flip kedudukan atau menggunakan penunjuk MA lain.
Hentikan strategi apabila pasaran berkisar dikenal pasti, mengelakkan perdagangan yang tidak perlu.
Penyesuaian tempoh: Sesuaikan tempoh EMA untuk menyesuaikan diri dengan instrumen yang berbeza.
Tambah penapis: Tambah MA, BOLL dan lain-lain untuk mengelakkan kemerosotan EMA palsu.
Hentikan kerugian: Hentikan pengangkutan untuk mengunci keuntungan.
Pengurusan risiko: Mengoptimumkan saiz kedudukan untuk mengehadkan kesan kerugian tunggal.
Rejim pasaran: Gunakan turun naik untuk mengukur turun naik dan kawalan strategi penglibatan.
Parameter penyesuaian: Mengoptimumkan tempoh EMA secara automatik berdasarkan perubahan pasaran untuk meningkatkan ketahanan.
Tiga EMA trend mengikuti strategi perdagangan dengan mengenal pasti arah trend melalui garis EMA. Ia mudah dan praktikal dengan ruang pengoptimuman yang besar. Risiko seperti pecah palsu dan osilasi harus diperhatikan. Dengan pengoptimuman berterusan, strategi ini boleh menjadi penyelesaian trend yang kukuh.
/*backtest start: 2023-10-10 00:00:00 end: 2023-11-09 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/ // © QuantCT //@version=4 strategy("PMA Strategy Idea", shorttitle="PMA", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, commission_type=strategy.commission.percent, commission_value=0.075) // ____ Inputs ema1_period = input(title="EMA1 Period", defval=10) ema2_period = input(title="EMA2 Period", defval=20) ema3_period = input(title="EMA3 Period", defval=30) long_only = input(title="Long Only", defval=false) slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0) use_sl = input(title="Use Stop-Loss", defval=false) // ____ Logic ema1 = ema(hlc3, ema1_period) ema2 = ema(hlc3, ema2_period) ema3 = ema(hlc3, ema3_period) enter_long = (rising(ema1, 1) and rising(ema2, 1) and rising(ema3, 1)) exit_long = not enter_long enter_short = (falling(ema1, 1) and falling(ema2, 1) and falling(ema3, 1)) exit_short = not enter_short strategy.entry("Long", strategy.long, when=enter_long) strategy.close("Long", when=exit_long) if (not long_only) strategy.entry("Short", strategy.short, when=enter_short) strategy.close("Short", when=exit_short) // ____ SL sl_long = strategy.position_avg_price * (1- (slp/100)) sl_short = strategy.position_avg_price * (1 + (slp/100)) if (use_sl) strategy.exit(id="SL", from_entry="Long", stop=sl_long) strategy.exit(id="SL", from_entry="Short", stop=sl_short) // ____ Plots colors = enter_long ? #27D600 : enter_short ? #E30202 : color.orange ema1_plot = plot(ema1, color=colors) ema2_plot = plot(ema2, color=colors) ema3_plot = plot(ema3, color=colors) fill(ema1_plot, ema3_plot, color=colors, transp=50)