
Strategi Crossover Rata-rata Bergerak Eksponensial Berganda adalah strategi pengesanan trend tipikal. Ia menggunakan garpu emas dan garpu mati rata-rata bergerak berganda dengan parameter yang berbeza untuk menilai trend pasaran, dan melakukan lebih banyak shorting.
Strategi ini menggunakan purata bergerak dua kali ganda dengan 3 parameter yang berbeza: DEMA ((8), DEMA ((20) dan DEMA ((63)). Di antaranya:
Apabila garis pantas DEMA(8) di atas melintasi garis tengah DEMA(20) dan garis perlahan DEMA(63 di atas, menunjukkan pergerakan dari bawah ke atas, lakukan lebih banyak; apabila garis pantas DEMA(8) di bawah melintasi garis tengah DEMA(20) dan garis perlahan DEMA(63 di bawah, menunjukkan pergerakan dari atas ke bawah, lakukan kosong.
Berbanding purata bergerak tunggal, purata bergerak indeks ganda lebih sensitif terhadap perubahan harga dan dapat menemui titik perubahan trend lebih awal. Strategi ini menggabungkan garis indeks ganda untuk beberapa tempoh masa dan dapat mengesan arah trend pasaran dengan berkesan.
Kombinasi garisan DEM dalam jangka masa yang panjang meningkatkan kualiti isyarat perdagangan dan mengelakkan penembusan palsu. Pada masa yang sama, strategi hanya menghasilkan isyarat apabila tiga garisan bersilang dan mengelakkan perdagangan yang terlalu kerap.
Strategi ini mempunyai risiko utama:
Risiko boleh diperbaiki dan dikawal dengan mengoptimumkan parameter purata bergerak, menambah syarat penapis dan sebagainya.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Strategi silang garis purata bergerak dua indeks mempunyai pemikiran keseluruhan yang jelas, dengan penggunaan gabungan DEM dalam beberapa tempoh masa, untuk menilai arah trend pasaran dengan berkesan, merupakan strategi penjejakan trend yang tipikal. Strategi ini dapat diperbaiki mengikut keperluan sebenar, dengan cara mengoptimumkan parameter, menambah syarat penapisan, dan pengurusan hentikan kerugian, untuk mendapatkan kesan strategi yang lebih baik.
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 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/
// © Noldo
//@version=4
//Quoted by Author HighProfit
//Lead-In
strategy("Double Exponential Moving Average 8-20-63 Strategy",
shorttitle="DEMA-8-20-63",
overlay=true,
max_bars_back = 5000,
initial_capital=100000,
max_bars_back = 5000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
commission_type=strategy.commission.percent,
commission_value=0.1,
pyramiding = 0)
short = input(8, minval=1)
srcShort = input(ohlc4, title="Source Dema 1")
long = input(20, minval=1)
srcLong = input(low, title="Source Dema 2")
long2 = input(63, minval=1)
srcLong2 = input(close, title="Source Dema 3")
e1 = ema(srcShort, short)
e2 = ema(e1, short)
dema1 = 2 * e1 - e2
plot(dema1, color=color.green, linewidth=2)
e3 = ema(srcLong, long)
e4 = ema(e3, long)
dema2 = 2 * e3 - e4
plot(dema2, color=color.blue, linewidth=2)
e5 = ema(srcLong2, long2)
e6 = ema(e5, long2)
dema3 = 2 * e5 - e6
plot(dema3, color=color.black, linewidth=2)
longC = dema1 > dema2 and dema1 > dema3
shortC = dema1 < dema2 and dema1 < dema3
alertlong = longC and not longC[1]
alertshort = shortC and not shortC[1]
strategy.entry("Long" , strategy.long , when = longC ,comment="Long")
strategy.entry("Short", strategy.short, when = shortC,comment="Short")
// Alerts
alertcondition(longC , title='Long' , message=' Buy Signal ')
alertcondition(shortC , title='Short', message=' Sell Signal ')