Strategi Kuantitatif DPD-RSI-BB

Penulis:ChaoZhang, Tarikh: 2023-11-22 16:17:52
Tag:

img

Ringkasan

Strategi kuantitatif DPD-RSI-BB menggabungkan tiga penunjuk - DPD, RSI dan Bollinger Bands untuk perdagangan saham. Ia menggunakan DPD untuk menentukan trend, RSI untuk menilai tahap overbought dan oversold, dan Bollinger Bands untuk mengenal pasti tahap sokongan dan rintangan untuk memasuki pasaran.

Logika Strategi

Strategi ini terdiri daripada komponen utama berikut:

  1. Penunjuk DPD untuk menentukan trend

    Ia membina garis DEMA menggunakan purata EMA berganda dan mengira peratusan perbezaan harga terhadap DEMA sebagai penunjuk penentuan trend. Peratusan perbezaan yang rendah digunakan sebagai isyarat kenaikan.

  2. Indikator RSI untuk menilai keadaan overbought dan oversold

    Ia mengira nilai RSI dalam tempoh tertentu. RSI di atas had atas dinilai sebagai zon overbought dan RSI di bawah had bawah dinilai sebagai zon oversold.

  3. Bollinger Band untuk mengenal pasti sokongan dan rintangan

    Ia mengira band tengah, band atas dan band bawah dalam tempoh tertentu. Harga mendekati band atas menandakan prospek penurunan, sementara harga mendekati band bawah menandakan prospek kenaikan.

  4. Penghakiman menyeluruh

    Apabila peratusan perbezaan harga DPD lebih rendah daripada ambang, RSI lebih rendah daripada had bawah zon oversold, dan harga lebih rendah daripada jalur atas Bollinger, isyarat menaik dihasilkan.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Penghakiman komprehensif menggunakan pelbagai penunjuk mengelakkan isyarat palsu dari satu penunjuk.

  2. Menggunakan penunjuk RSI untuk menilai keadaan overbought dan oversold membolehkan menetapkan stop loss dan mengambil mata keuntungan terlebih dahulu.

  3. Penunjuk DPD dapat menentukan trend harga dengan lebih baik, sementara Bollinger Bands dapat mengenal pasti tahap sokongan dan rintangan.

  4. Tetapan parameter yang fleksibel membolehkan pengoptimuman untuk stok yang berbeza.

Risiko dan Pengoptimuman

Strategi ini juga mempunyai beberapa risiko:

  1. Gabungan pelbagai penunjuk menjadikan strategi agak rumit dengan kesukaran dalam penyesuaian parameter.

  2. Penunjuk seperti DPD dan RSI mempunyai kelewatan tertentu, yang mungkin terlepas masa kemasukan yang terbaik.

  3. Parameter perlu dioptimumkan agar sesuai dengan kitaran dan ciri stok yang berbeza.

Aspek berikut boleh dioptimumkan:

  1. Sesuaikan parameter penunjuk untuk mengoptimumkan titik masuk dan keluar.

  2. Tambahkan mekanisme stop loss untuk mengawal kerugian perdagangan secara ketat.

  3. Ujian pada stok dan parameter kitaran yang berbeza untuk menilai prestasi strategi.

Kesimpulan

Strategi DPD-RSI-BB menggabungkan beberapa penunjuk untuk penghakiman untuk mengelakkan isyarat palsu dari satu penunjuk. Melalui pengoptimuman parameter, ia boleh menjadi strategi perdagangan saham yang agak kuat. Tetapi kerana kerumitan, ia mungkin masih gagal untuk melindungi sepenuhnya terhadap risiko pasaran dan harus digunakan dengan berhati-hati.


/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version= 2
strategy("DPD+RSI+BB ",overlay=true)
price=close




//############### DPD  #################


buyper =input(-1,step=0.1)
sellper=input(0,step=0.1)
demalen = input(50,title="Dema Length")
e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice  =   2 * e1 - e2
demadifper =  ((price-demaprice)/price)*100


//############## DPD #####################

//############# RSI ####################


lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 60 )

vrsi = rsi(price, lengthrsi)

//########## RSI #######################

//############### BB #################

lengthbb = input(50, minval=1)
multlow = input(1.5, minval=0.001, maxval=50,step=0.1)
multup = input(1.5,minval=0.001,maxval=50,step=0.1)

basisup = sma(close, lengthbb)
basislow = sma(close, lengthbb)

devup = multup * stdev(close, lengthbb)

devlow = multlow*stdev(close,lengthbb)

upperbb = basisup + devup
lowerbb = basislow - devlow

p1 = plot(upperbb, color=blue)
p2 = plot(lowerbb, color=blue)
fill(p1, p2)



//########### BB ###################




yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  (demadifper<buyper) and crossover(vrsi,overSold) and  (price < upperbb) and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if (   price>upperbb and vrsi>overBought and demadifper>sellper   and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")
    
    
    

Lebih lanjut