
Strategi ini menggunakan DEMA untuk menghitung volatilitas harga dan melakukan pengolahan volatilitas untuk menemukan tren volatilitas harga, melakukan over jika volatilitas naik, dan melakukan short jika volatilitas turun.
Hitung harga rata-rata bergerak indeks ganda ((DEMA), dengan rumus: DEMA = 2*EMA(price, N) - EMA(EMA(price, N), N)
Hitung volatilitas harga terhadap DEMA: volatilitas = (price - DEMA) / price * 100%
DEMA smoothing lagi pada volatilitas untuk mendapatkan sinyal tren volatilitas
Ketika fluktuasi setelah perataan lagi melewati suatu level, lakukan lebih banyak; ketika fluktuasi setelah perataan lagi melewati suatu level, lakukan kosong
Bisa diatur hanya untuk transaksi dalam jangka waktu tertentu
Menggunakan Moving Average Dua Indeks untuk Mencari Tren Perubahan Harga Lebih Cepat
Tingkat fluktuasi dapat mencerminkan perasaan kosong di pasar, naiknya tingkat fluktuasi mewakili dominasi multihead, turunnya mewakili dominasi kosong
Secondary smoothing pada volatilitas yang dapat menyaring kebisingan jangka pendek dan menangkap tren utama
Anda dapat mengatur perdagangan hanya dalam jangka waktu tertentu untuk menghindari kehilangan slip point yang tidak perlu.
Menggunakan Stop Loss, Strategi Keluar, dan Mengontrol Risiko
DEMA mungkin mengalami keterlambatan pada saat cuaca buruk, sehingga kehilangan tempat terbaik untuk masuk.
Indikator volatilitas mungkin terjadi false breakout, harus digabungkan dengan indikator lain untuk verifikasi
Anda harus menetapkan titik stop loss untuk mencegah kerugian berkembang.
Di luar jam trading, Anda akan kehilangan peluang trading.
Pilihan periode perdagangan perlu diuji berdasarkan data historis, periode yang tidak tepat dapat mengurangi keuntungan
Optimalkan parameter DEMA dengan nilai N yang lebih kecil
Pertimbangan komprehensif dalam kombinasi dengan indikator lain seperti RSI, MACD, dll.
Stop loss ditentukan berdasarkan data historis dan kerugian maksimum yang dapat ditanggung
Optimalkan pilihan periode transaksi
Periode perdagangan terbaik untuk tes varietas berbeda
Uji kombinasi parameter DEMA yang berbeda untuk menemukan parameter yang optimal untuk efek smoothing
Cobalah berbagai jenis moving average lainnya, seperti EMA, SMA, dan lain-lain.
Gelaskan indikator volatilitas beberapa kali untuk menemukan parameter yang optimal
Menambahkan metrik tambahan untuk melakukan verifikasi multi faktor
Mengoptimalkan parameter masuk dan keluar secara otomatis menggunakan metode seperti pembelajaran mesin
Kombinasi parameter yang optimal untuk diuji pada varietas yang berbeda
Meningkatkan strategi stop-loss dan exit, mengendalikan risiko secara ketat
Strategi ini dengan menghitung harga DEMA volatilitas dan melakukan smoothing kembali, dapat dengan cepat menemukan perubahan tren di pasar perasaan kosong, melakukan lebih banyak ketika volatilitas meningkat, kosong ketika volatilitas menurun, untuk mencapai perdagangan yang sedang berlangsung. Namun, strategi mungkin ada DEMA lag, palsu terobosan, dll.
/*backtest
start: 2022-10-17 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version= 2
strategy("DEMA of DPD Strategy ",shorttitle="DPD% DEMA " ,overlay=false)
buyper =input(-2)
sellper=input(2)
demalen = input(50,title="Dema Length")
e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice = 2 * e1 - e2
price=close
demadifper = ((price-demaprice)/price)*100
OverDemaPer = input(1, title="Band for OverBought")
UnderDemaPer= input(-1,title="Band for OverSold")
band1 = hline(OverDemaPer)
band0 = hline(UnderDemaPer)
zeroline=0
fill(band1, band0, color=green, transp=90)
demalen2 = input(21,title="DEMA to Calculate dema of DPD")
demaofdpd =ema(demadifper,demalen2)
demaofdpd2 =ema(demaofdpd,demalen2)
resultstrategy = 2*demaofdpd - demaofdpd2
plot(resultstrategy,color=blue)
yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( crossover(resultstrategy,buyper) )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( crossunder(resultstrategy,sellper) )
strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL")
else
strategy.cancel(id="SELL")