Strategi Indeks Volatilitas DEMA

Penulis:ChaoZhang, Tanggal: 2023-10-24 16:04:37
Tag:

img

Gambaran umum

Strategi ini menggunakan Double Exponential Moving Average (DEMA) untuk menghitung volatilitas harga, dan lebih lanjut meratakan volatilitas untuk mendeteksi tren fluktuasi harga, pergi panjang ketika volatilitas meningkat dan pendek ketika volatilitas turun.

Logika Strategi

  1. Menghitung Double Exponential Moving Average (DEMA) dari harga, rumus: DEMA = 2*EMA ((harga, N) - EMA ((EMA ((harga, N), N)

  2. Menghitung volatilitas harga relatif terhadap DEMA: Volatilitas = (harga - DEMA) / harga * 100%

  3. Menerapkan DEMA smoothing pada volatilitas lagi untuk mendapatkan sinyal tren volatilitas

  4. Ketika volatilitas rata melintasi di atas tingkat, pergi panjang.

  5. Dapat diatur untuk perdagangan hanya selama periode waktu tertentu.

Keuntungan

  1. DEMA menangkap perubahan tren lebih cepat dari rata-rata bergerak sederhana.

  2. Volatilitas mencerminkan sentimen pasar, kenaikan volatilitas mewakili dominasi banteng, jatuh mewakili beruang.

  3. Menghapuskan volatilitas menyaring kebisingan jangka pendek dan menangkap tren utama.

  4. Perdagangan dalam periode waktu tertentu menghindari biaya slippage yang tidak perlu.

  5. Strategi stop loss dan exit mengendalikan risiko.

Risiko

  1. DEMA mungkin tertinggal selama tren yang kuat, kehilangan titik masuk terbaik.

  2. Indeks volatilitas dapat memberikan sinyal palsu, harus dikombinasikan dengan indikator lain.

  3. Harus mengatur stop loss untuk mencegah kerugian diperbesar.

  4. Kesempatan yang hilang di luar periode waktu perdagangan.

  5. Periode waktu perdagangan membutuhkan pengujian pada data historis, waktu yang tidak tepat dapat mengurangi keuntungan.

Manajemen Risiko

  1. Optimalkan parameter DEMA, gunakan nilai N yang lebih kecil.

  2. Gabungkan indikator lain seperti RSI, MACD untuk konfirmasi.

  3. Atur stop loss berdasarkan data historis dan kerugian maksimum yang dapat ditoleransi.

  4. Mengoptimalkan pilihan periode perdagangan.

  5. Uji waktu perdagangan optimal secara terpisah untuk produk yang berbeda.

Peluang Peningkatan

  1. Uji kombinasi parameter DEMA yang berbeda untuk kelancaran terbaik.

  2. Coba rata-rata bergerak lainnya seperti EMA, SMA.

  3. Penghapusan volatilitas tambahan dengan parameter yang berbeda.

  4. Tambahkan indikator lain untuk verifikasi multi-faktor.

  5. Gunakan pembelajaran mesin untuk mengoptimalkan parameter masuk dan keluar.

  6. Uji parameter optimal secara terpisah untuk produk yang berbeda.

  7. Tambahkan strategi stop loss dan exit untuk mengendalikan risiko.

Ringkasan

Strategi ini menangkap perubahan tren dalam sentimen pasar dengan menghitung volatilitas DEMA yang halus, pergi panjang ketika volatilitas naik dan pendek ketika turun. Tapi keterlambatan DEMA dan sinyal palsu adalah risiko. Parameter harus dioptimalkan, stop loss yang ketat diterapkan, dan indikator lain dikombinasikan untuk konfirmasi. Jika digunakan dengan benar, strategi ini dapat menangkap pembalikan tren dan memberikan laba investasi yang baik.


/*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")
    
    
    

Lebih banyak