Strategi DEMA double exponential moving average adalah strategi perdagangan jangka pendek yang didasarkan pada DEMA (Double Exponential Moving Average). Strategi ini menggabungkan kelancaran rata-rata bergerak dan respon cepat EMA, yang bertujuan untuk menangkap tren harga jangka pendek dan menghasilkan keuntungan dengan berdagang di crossover DEMA.
Strategi ini terutama mengandalkan golden cross dan death cross antara DEMA fast line dan DEMA slow line untuk menentukan sinyal beli dan jual.
Secara khusus, jalur cepat dihitung sebagai:
demaFast = 2 * ema(close, fastPeriod) - ema(ema(close, fastPeriod), fastPeriod)
Dan garis lambatnya adalah:
demaSlow = 2 * ema(close, slowPeriod) - ema(ema(close, slowPeriod), slowPeriod)
Di mana fastPeriod dan slowPeriod mewakili periode garis cepat dan lambat masing-masing.
Ketika garis cepat melintasi di atas garis lambat, sinyal beli dihasilkan.
buy = crossover(demaSlow, demaFast)
sell = crossunder(demaSlow, demaFast)
Strategi menentukan arah perdagangan berdasarkan penyeberangan garis DEMA.
Dibandingkan dengan rata-rata bergerak tradisional, garis DEMA lebih sensitif dan dapat bereaksi terhadap perubahan harga lebih cepat.
Juga, garis DEMA menggabungkan kelancaran rata-rata bergerak, yang membantu menyaring beberapa kebisingan pasar dan menghindari sinyal palsu.
Selain itu, kombinasi jalur cepat dan lambat menghindari persilangan palsu sampai batas tertentu.
Singkatnya, strategi rata-rata bergerak eksponensial ganda DEMA memiliki keuntungan respon cepat, penyaringan kebisingan, dan sinyal yang stabil dan dapat diandalkan.
Meskipun lebih stabil daripada EMA, jalur DEMA masih dapat menderita persilangan palsu, menghasilkan sinyal yang tidak benar. Hal ini dapat ditangani dengan menyempurnakan parameter periode jalur cepat dan lambat untuk memastikan kepekaan dan stabilitas yang cukup.
Selain itu, sebagai strategi jangka pendek, itu sensitif terhadap biaya perdagangan. Frekuensi perdagangan yang tinggi atau ukuran perdagangan kecil dapat mengikis keuntungan. Parameter perdagangan yang wajar harus ditetapkan untuk mengendalikan biaya.
Akhirnya, tidak ada strategi indikator teknis yang dapat sepenuhnya menghindari stop loss.
Masih ada ruang untuk optimasi:
Uji kombinasi periode yang berbeda untuk menemukan parameter yang optimal.
Sertakan indikator lain seperti RSI untuk mengkonfirmasi sinyal dan menghindari sinyal palsu.
Mengoptimalkan mekanisme stop loss, seperti trailing stop loss untuk mengunci keuntungan.
Mengoptimalkan manajemen modal, seperti ukuran posisi berdasarkan ukuran akun, atau ukuran yang disesuaikan dengan volatilitas.
Strategi DEMA adalah strategi perdagangan jangka pendek yang stabil. Strategi ini memiliki kemampuan respon dan perataan yang cepat. Dibandingkan dengan SMA, strategi ini dapat menangkap lebih banyak peluang jangka pendek. Dengan penyesuaian parameter dan mekanisme yang tepat, strategi ini dapat meningkatkan profitabilitas dan stabilitasnya.
/*backtest start: 2022-09-19 00:00:00 end: 2023-09-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ strategy(title = "DEMA Strategy", shorttitle = "DEMA Strategy",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity) //@Moneros 2017 //Based on The DEMA is a fast-acting moving average that is more responsive to market changes than a traditional moving average // !!!! IN ORDER TO AVOID REPAITING ISSUES !!!! // !!!! DO NOT VIEW IN LOWER RESOLUTIONS THAN res/2 PARAMETER !!!! // for example res = 120 view >= 60m res = 60 view >= 30m // the length of the DEMA sampling shouldn't be longer than a candle // Best profits tested on BTCUSD //res = 105 slowPeriod = 2 fastPeriod = 32 //res = 125 slowPeriod = 3 fastPeriod = 21 //res = 120 slowPeriod = 2 fastPeriod = 32 //res = 130 slowPeriod = 1 fastPeriod = 24 //res = 40 slowPeriod = 4 fastPeriod = 93 //res = 60 slowPeriod = 1 fastPeriod = 67 fastPeriod = input(defval = 32, title = "DEMA FAST Period", minval = 2) slowPeriod = input(defval = 2, title = "DEMA SLOW Period", minval = 1) res = input(title="Resolution - not lower than chart", defval="120") demaFast = request.security(syminfo.tickerid, res, 2 * ta.ema(close, fastPeriod) - ta.ema(ta.ema(close, fastPeriod), fastPeriod) ) demaSlow = request.security(syminfo.tickerid,res, 2 * ta.ema(close, slowPeriod) - ta.ema(ta.ema(close, slowPeriod), slowPeriod) ) plot(demaFast,color=color.red) plot(demaSlow,color=color.lime) buy = ta.crossover(demaSlow, demaFast) sell = ta.crossunder(demaSlow, demaFast) // value [1] for avoid repaiting bottom bars bgcolor( buy[1] ? color.lime : na, transp=0) bgcolor( sell[1] ? color.red : na, transp=0) strategy.entry("BUY", strategy.long, 1, when = buy) strategy.entry("SELL", strategy.short, 1, when = sell )