Dual Moving Average HullMA Crossover Trend Strategi

Penulis:ChaoZhang, Tarikh: 2024-02-26 11:21:45
Tag:

img

Ringkasan

Strategi HullMA Crossover Trend adalah strategi trend-mengikuti berdasarkan persilangan purata bergerak berganda. Ia membina sistem purata bergerak berganda menggunakan garis purata bergerak bertimbang (WMA) dan menghasilkan isyarat perdagangan apabila mereka menyeberang. Strategi ini juga menggabungkan pengesahan harga untuk menapis isyarat lebih lanjut.

Logika Strategi

Strategi HullMA Crossover Trend menggunakan tiga garis WMA dengan tempoh yang berbeza, termasuk wma1, wma2, dan wma3. Wma2 dan wma3 membina sistem purata bergerak berganda. Perpindahan wma2 di atas wma3 memberikan isyarat kenaikan, sementara persimpangan wma2 di bawah wma3 memberikan isyarat penurunan. Wma1 berfungsi sebagai garis rujukan tambahan.

Di samping itu, strategi ini menggunakan Purata Bergerak Hull untuk menguatkan pengesahan isyarat. Khususnya, ia mengira perbezaan antara WMA dua kali ganda (n2ma) dan WMA n-periode (nma). Hanya apabila perbezaan meningkat isyarat bull akan disahkan sah. Hanya apabila perbezaan jatuh isyarat bear akan disahkan sah.

Strategi ini juga menggabungkan pengesahan harga. Hanya apabila harga lebih tinggi daripada hari sebelumnya isyarat bull akan disahkan sah untuk pesanan panjang. Hanya apabila harga lebih rendah daripada hari sebelumnya isyarat bear akan disahkan sah untuk pesanan pendek.

Analisis Kelebihan

Strategi Trend Crossover HullMA Dual Moving Average menggabungkan crossover dan pengesahan harga purata bergerak ganda, yang membolehkannya menapis isyarat palsu dengan berkesan. Ini adalah kekuatan terbesarnya. Juga, dengan tiga garis purata bergerak dari pelbagai tempoh, strategi ini dapat menangkap trend tahap yang berbeza pada peringkat awal. Mekanisme stop lossnya juga agak stabil dan boleh dipercayai.

Analisis Risiko

Sebagai strategi yang mengikuti trend, strategi Trend Crossover HullMA Dual Moving Average boleh menjana lebih banyak perdagangan dan kos slippage semasa pasaran terhad julat. Di samping itu, sistem crossover purata bergerak berganda cenderung terlalu sensitif dan mungkin mengeluarkan isyarat yang salah semasa trend sampingan. Adalah dinasihatkan untuk menyesuaikan parameter purata bergerak atau mengenakan penapis tambahan dengan sewajarnya.

Arahan pengoptimuman

Strategi Trend Crossover HullMA Dual Moving Average boleh ditingkatkan dalam aspek berikut:

  1. Mengoptimumkan parameter purata bergerak untuk mencari kombinasi parameter terbaik

  2. Tambah penapis seperti jumlah atau turun naik untuk menghapuskan pecah palsu

  3. Memasukkan penunjuk lain sebagai pengesahan tambahan untuk meningkatkan kualiti isyarat

  4. Mengoptimumkan parameter purata bergerak secara dinamik

Ringkasan

Ringkasnya, strategi Trend Crossover HullMA adalah strategi trend yang stabil dan boleh dipercayai. Ia menghasilkan isyarat berkualiti tinggi dengan menggabungkan crossover purata bergerak berganda dan pengesahan harga. Melalui penyesuaian parameter dan penambahan penapis, ia dapat mengurangkan isyarat yang salah dan mencapai prestasi yang lebih baik. Ia sesuai untuk menangkap trend jangka menengah hingga panjang dan pilihan yang kukuh untuk perdagangan kuantitatif.


/*backtest
start: 2023-02-25 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("ZendicatoR", overlay=true)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
che1=input(title="MA 1",defval=34,minval=1)
che2=input(title="MA 2",defval=144,minval=1)
che3=input(title="MA 3",defval=377,minval=1)
amnt=input(title="TP ($)",defval=4200,minval=1)
wma1=wma(close,che1)
wma2=wma(close,che2)
wma3=wma(close,che3)
tms=10000000000000
A=request.security(syminfo.tickerid, 'D', close)*tms
B=request.security(syminfo.tickerid, 'D', close[1])*tms
C=A>B?green:red
D=wma2>wma3?green:red
plot(wma1,style=line,color=C,linewidth=4)
p1=plot(wma2,style=line,color=D)
p2=plot(wma3,style=line,color=D)
fill(p1, p2, color=D, transp=75)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)*tms
n2=wma(diff1,sqn)*tms
closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt
if (closelong)
    strategy.close("Long")
closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt
if (closeshort)
    strategy.close("Short") 
longCondition = A*tms>B*tms and n1*tms>n2*tms
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = A*tms<B*tms and n1*tms<n2*tms
if (shortCondition)
    strategy.entry("Short",strategy.short)

Lebih lanjut