Dual Moving Average HullMA Strategi Tren Crossover

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

img

Gambaran umum

Strategi HullMA Crossover Trend adalah strategi yang mengikuti tren berdasarkan crossover dari dua moving average. Strategi ini membangun sistem dua moving average menggunakan garis Weighted Moving Average (WMA) dan menghasilkan sinyal perdagangan ketika mereka menyeberang. Strategi ini juga menggabungkan validasi price breakout untuk lebih menyaring sinyal.

Logika Strategi

Strategi HullMA Crossover Trend menggunakan tiga garis WMA dengan periode yang berbeda, termasuk wma1, wma2, dan wma3. Wma2 dan wma3 membangun sistem rata-rata bergerak ganda. Wma2 yang melintasi di atas wma3 memberikan sinyal bullish, sementara wma2 yang melintasi di bawah wma3 memberikan sinyal bearish. Wma1 berfungsi sebagai garis referensi tambahan.

Selain itu, strategi ini menggunakan Hull Moving Average untuk memperkuat validasi sinyal. Secara khusus, strategi ini menghitung perbedaan antara WMA dua periode (n2ma) dan WMA n-periode (nma).

Strategi ini juga menggabungkan validasi harga. Hanya ketika harga lebih tinggi dari hari sebelumnya sinyal bull akan dikonfirmasi valid untuk pesanan panjang. Hanya ketika harga lebih rendah dari hari sebelumnya sinyal bear akan dikonfirmasi valid untuk pesanan pendek.

Analisis Keuntungan

Strategi HullMA Crossover Trend menggabungkan dua crossover moving average dan validasi harga, yang memungkinkan untuk secara efektif menyaring sinyal palsu. Ini adalah kekuatan terbesarnya. Juga, dengan tiga garis rata-rata bergerak dari berbagai periode, strategi dapat menangkap tren tingkat yang berbeda sejak dini. Mekanisme stop lossnya juga cukup stabil dan dapat diandalkan.

Analisis Risiko

Sebagai strategi yang mengikuti tren, strategi HullMA Dual Moving Average Crossover Trend dapat menghasilkan lebih banyak perdagangan dan biaya slip selama pasar yang terbatas pada kisaran. Selain itu, sistem crossover rata-rata bergerak ganda cenderung terlalu sensitif dan dapat mengeluarkan sinyal yang salah selama tren sisi. Adalah disarankan untuk menyesuaikan parameter rata-rata bergerak atau memberlakukan filter tambahan sesuai.

Arahan Optimasi

Strategi Trend Crossover HullMA Dual Moving Average dapat ditingkatkan dalam hal berikut:

  1. Mengoptimalkan parameter rata-rata bergerak untuk menemukan kombinasi parameter terbaik

  2. Tambahkan filter seperti volume atau volatilitas untuk menghilangkan breakout palsu

  3. Masukkan indikator lain sebagai validasi tambahan untuk meningkatkan kualitas sinyal

  4. Optimalkan parameter periode rata-rata bergerak secara dinamis

Ringkasan

Singkatnya, strategi Dual Moving Average HullMA Crossover Trend adalah strategi trend-following yang stabil dan dapat diandalkan. Strategi ini menghasilkan sinyal berkualitas tinggi dengan menggabungkan crossover dan validasi harga rata-rata bergerak ganda. Melalui penyesuaian parameter dan penambahan filter, strategi ini dapat mengurangi sinyal yang salah dan mencapai kinerja yang lebih baik. Strategi ini cocok untuk menangkap tren jangka menengah hingga panjang dan pilihan yang solid 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 banyak