
Strategi ini menggunakan purata bergerak dua indeks ((DEMA) untuk mengira kadar turun naik harga, dan menghaluskan semula kadar turun naik untuk mencari trend turun naik harga, melakukan lebih banyak apabila kadar turun naik, dan melakukan penarikan apabila kadar turun naik.
Hitung purata bergerak indeks dua harga ((DEMA), dengan formula: DEMA = 2*EMA(price, N) - EMA(EMA(price, N), N)
Hitung kadar turun naik harga berbanding DEMA: kadar turun naik = (price - DEMA) / price * 100%
DEMA smoothed semula kadar turun naik untuk mendapatkan isyarat trend kadar turun naik
Apabila kadar turun naik selepas meluruskan semula melewati satu tahap, lakukan lebih banyak; apabila kadar turun naik selepas meluruskan semula melewati satu tahap, buat kosong
Boleh ditetapkan untuk berdagang hanya dalam tempoh masa tertentu
Menggunakan purata bergerak dua indeks untuk menangkap perubahan harga lebih cepat
Kadar turun naik boleh mencerminkan sentimen kosong di pasaran, kenaikan kadar turun naik menunjukkan kelebihan banyak, penurunan menunjukkan kelebihan kosong
Pelusuran kedua untuk kadar turun naik, menapis bunyi jangka pendek dan menangkap trend utama
Anda boleh menetapkan untuk berdagang hanya dalam tempoh masa tertentu untuk mengelakkan kehilangan slip yang tidak perlu
Mengambil risiko yang terkawal dengan strategi berhenti dan keluar
Dalam keadaan yang teruk, DEMA mungkin terlewat dan terlepas tempat masuk yang terbaik
Indeks kadar turun naik mungkin berlaku pecah palsu, yang harus disahkan bersama-sama dengan indikator lain
Anda harus menetapkan titik hentian untuk mengelakkan kerugian daripada berkembang
Mereka akan terlepas peluang untuk berdagang di luar waktu perdagangan.
Pilihan tempoh masa perdagangan perlu diuji berdasarkan data sejarah, tempoh masa yang tidak sesuai boleh mengurangkan keuntungan
Optimumkan parameter DEMA dengan nilai N yang lebih kecil
Mengambil keputusan bersepadu dengan penunjuk lain seperti RSI, MACD dan sebagainya
Menentukan titik henti berdasarkan data sejarah dan kerugian maksimum yang boleh diterima
Pilihan untuk mengoptimumkan tempoh transaksi
Tempoh perdagangan terbaik untuk pelbagai varieti diuji
Uji kombinasi parameter DEMA yang berbeza untuk mencari parameter yang paling berkesan
Cuba jenis purata bergerak lain seperti EMA, SMA dan lain-lain.
Peluruskan indeks kadar turun naik beberapa kali untuk mencari parameter pelusuran yang optimum
Menambah metrik tambahan untuk membuat pengesahan pelbagai faktor
Mengoptimumkan parameter masuk dan keluar secara automatik menggunakan kaedah seperti pembelajaran mesin
Kombinasi parameter terbaik untuk diuji untuk pelbagai jenis
Meningkatkan strategi hentian dan penyingkiran, mengawal risiko dengan ketat
Strategi ini dengan mengira kadar turun naik DEMA harga dan meluruskan semula, dapat dengan cepat melihat perubahan trend sentimen pasaran yang kosong, melakukan lebih banyak apabila kadar turun naik meningkat, kosong apabila kadar turun naik, mencapai perdagangan yang maju. Tetapi strategi ini mungkin mempunyai masalah seperti keterlambatan DEMA, perobosan palsu.
/*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")