Strategi Indeks Volatiliti DEMA

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

img

Ringkasan

Strategi ini menggunakan Purata Bergerak Eksponensial Berganda (DEMA) untuk mengira turun naik harga, dan lebih lanjut meratakan turun naik untuk mengesan trend dalam turun naik harga, pergi lama apabila turun naik meningkat dan pendek apabila turun turun.

Logika Strategi

  1. Mengira purata bergerak eksponensial berganda (DEMA) harga, formula: DEMA = 2*EMA (harga, N) - EMA (harga, N), N)

  2. Mengira turun naik harga berbanding DEMA: turun naik = (harga - DEMA) / harga * 100%

  3. Mempakai DEMA penghalusan pada turun naik sekali lagi untuk mendapatkan isyarat trend turun naik

  4. Apabila turun naik melintasi di atas tahap, pergi panjang. Apabila ia melintasi di bawah, pergi pendek.

  5. Boleh menetapkan untuk berdagang hanya dalam tempoh masa tertentu.

Kelebihan

  1. DEMA menangkap perubahan trend lebih cepat daripada purata bergerak mudah.

  2. Volatiliti mencerminkan sentimen pasaran, peningkatan dalam volatiliti mewakili dominasi lembu, jatuh mewakili beruang.

  3. Penghapusan turun naik menyaring kebisingan jangka pendek dan menangkap trend utama.

  4. Perdagangan dalam tempoh masa tertentu mengelakkan kos slippage yang tidak perlu.

  5. Stop loss dan strategi keluar mengawal risiko.

Risiko

  1. DEMA mungkin tertinggal semasa trend yang kuat, kehilangan titik masuk terbaik.

  2. Indeks turun naik boleh memberikan isyarat palsu, harus digabungkan dengan penunjuk lain.

  3. Harus menetapkan stop loss untuk mengelakkan kerugian yang diperbesar.

  4. Peluang yang hilang di luar tempoh perdagangan.

  5. Tempoh perdagangan memerlukan ujian pada data sejarah, masa yang tidak tepat boleh mengurangkan keuntungan.

Pengurusan Risiko

  1. Mengoptimumkan parameter DEMA, menggunakan nilai N yang lebih kecil.

  2. Gabungkan penunjuk lain seperti RSI, MACD untuk pengesahan.

  3. Tetapkan stop loss berdasarkan data sejarah dan kerugian maksimum yang boleh diterima.

  4. Mengoptimumkan pilihan tempoh perdagangan.

  5. Uji masa perdagangan optimum secara berasingan untuk produk yang berbeza.

Peluang Peningkatan

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

  2. Cuba purata bergerak lain seperti EMA, SMA.

  3. Penghapusan tambahan turun naik dengan parameter yang berbeza.

  4. Tambah penunjuk lain untuk pengesahan pelbagai faktor.

  5. Gunakan pembelajaran mesin untuk mengoptimumkan parameter masuk dan keluar secara automatik.

  6. Uji parameter optimum secara berasingan untuk produk yang berbeza.

  7. Tambah strategi stop loss dan keluar untuk mengawal risiko.

Ringkasan

Strategi ini menangkap perubahan trend dalam sentimen pasaran dengan mengira turun naik DEMA yang halus, pergi lama apabila turun naik dan pendek apabila turun. Tetapi kelewatan DEMA dan isyarat palsu adalah risiko. Parameter harus dioptimumkan, stop loss yang ketat dilaksanakan, dan penunjuk lain digabungkan untuk pengesahan. Jika digunakan dengan betul, strategi ini dapat menangkap pembalikan trend dan memberikan pulangan pelaburan 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 lanjut