
Strategi ini dinamakan sebagai Strategi Crossover Rata-rata Bergerak Dua Eksponen dan Rata-rata Bergerak Tiga Eksponen. Strategi ini menggabungkan isyarat persilangan rata-rata bergerak dua ekponen dan rata-rata bergerak tiga ekponen untuk menentukan kemasukan melalui DEMA dan TEMA.
Strategi ini menghasilkan isyarat dagangan berdasarkan silang purata bergerak dua indeks (DEMA) dan purata bergerak tiga indeks (TEMA).
Rumus pengiraan purata bergerak dua indeks (DEMA) adalah:
DEMA = 2*EMA1 - EMA2
Di antaranya, EMA1 dan EMA2 adalah Purata Bergerak Eksponen dengan tempoh masa N. DEMA menggabungkan kehalusan dan kepantasan tindak balas EMA.
Formula pengiraan purata bergerak tiga indeks (TEMA) adalah:
TEMA = 3*(EMA1 - EMA2) + EMA3
Di antaranya, EMA1, EMA2 dan EMA3 adalah Purata Bergerak Eksponen dengan tempoh panjang N. TEMA meluruskan tiga kali indeks, mampu menyaring pecah palsu.
Apabila DEMA di atas menembusi TEMA, ia menghasilkan isyarat beli; apabila DEMA di bawah menembusi TEMA, ia menghasilkan isyarat jual. Berdasarkan prinsip persilangan dua kurva, ia dapat menangkap peralihan kitaran, masuk dan keluar tepat pada masanya.
Strategi ini dapat meningkatkan ketepatan perdagangan dengan membentuk isyarat dagangan silang dengan purata bergerak dua indeks dan purata bergerak tiga indeks, digabungkan dengan kelajuan tindak balas DEMA dan pengaruh gelombang TEMA. Namun, gabungan indikator tunggal mudah terkesan oleh ilusi, masih memerlukan bantuan pelbagai alat pengesahan untuk membentuk sistem perdagangan yang sistematik, dan dengan itu memperoleh keuntungan yang stabil dalam jangka panjang.
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("DEMA-TEMA Cross Strategy", shorttitle="DEMA-TEMA Cross", overlay=true)
// Input options for Double EMA (DEMA)
dema_length = input.int(10, title="DEMA Length", minval=1)
dema_src = input(close, title="DEMA Source")
// Calculate Double EMA (DEMA)
dema_e1 = ta.ema(dema_src, dema_length)
dema_e2 = ta.ema(dema_e1, dema_length)
dema = 2 * dema_e1 - dema_e2
// Input options for Triple EMA (TEMA)
tema_length = input.int(8, title="TEMA Length", minval=1)
tema_src = input(close, title="TEMA Source")
// Calculate Triple EMA (TEMA)
tema_ema1 = ta.ema(tema_src, tema_length)
tema_ema2 = ta.ema(tema_ema1, tema_length)
tema_ema3 = ta.ema(tema_ema2, tema_length)
tema = 3 * (tema_ema1 - tema_ema2) + tema_ema3
// Crossover signals for long (small green arrow below candle)
crossover_long = ta.crossover(dema, tema)
// Crossunder signals for short (small red arrow above candle)
crossunder_short = ta.crossunder(dema, tema)
plotshape(crossunder_short ? 1 : na, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(crossover_long ? -1 : na, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plot(dema, "DEMA", color=color.green)
plot(tema, "TEMA", color=color.blue)
if (crossover_long)
strategy.entry("Long", strategy.long)
if (crossunder_short)
strategy.entry("Short", strategy.short)