Strategi Tren Crossover HullMA Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2024-02-26 11:21:45 Akhirnya memodifikasi: 2024-02-26 11:21:45
menyalin: 0 Jumlah klik: 588
1
fokus pada
1617
Pengikut

Strategi Tren Crossover HullMA Rata-rata Pergerakan Ganda

Ringkasan

HullMA adalah strategi pelacakan tren yang didasarkan pada persilangan dua rata-rata bergerak. Strategi ini menggunakan WMA yang berbobot untuk membangun sistem rata-rata bergerak ganda dan menghasilkan sinyal perdagangan saat mereka bersilang.

Prinsip Strategi

HullMA cross-trend strategi menggunakan tiga garis WMA dengan periode yang berbeda, termasuk wma1, wma2 dan wma3. Wma2 dan wma3 membangun sistem rata-rata bergerak ganda, dengan sinyal bullish ketika wma2 melewati wma3 dan sinyal bearish ketika wma2 melewati wma3.

Strategi ini menggunakan Hull Moving Average untuk memperkuat penilaian sinyal secara tambahan. Secara khusus, ia menghitung diferensial dua kali n2ma dan nma dari rata-rata bergerak bertimbangan 2 hari, dan mengukur perubahan dalam nilai diferensial. Sinyal bullish dikonfirmasi hanya jika diferensial naik, dan sinyal bearish dikonfirmasi hanya jika diferensial turun.

Strategi ini menggabungkan penilaian harga. Hanya jika harga lebih tinggi dari harga hari sebelumnya, sinyal bullish akan dikonfirmasi untuk menghasilkan lebih banyak pesanan. Hanya jika harga lebih rendah dari harga hari sebelumnya, sinyal bearish akan dikonfirmasi untuk menghasilkan pesanan.

Analisis Keunggulan

Strategi tren crossover HullMA dengan crossover dua rata-rata bergerak dan penilaian harga dapat secara efektif menyingkirkan sinyal palsu, yang merupakan keunggulan terbesarnya. Selain itu, strategi ini menggunakan tiga rata-rata bergerak dengan periode yang berbeda untuk menangkap berbagai tingkat tren, yang dapat masuk ke pasar pada awal tren.

Analisis risiko

HullMA crossover sebagai salah satu strategi trend-following yang cenderung menghasilkan lebih banyak transaksi dan slippage loss dalam situasi konsolidasi. Selain itu, crossover dua rata-rata bergerak terlalu sensitif dan mungkin mengirimkan sinyal yang salah di sideways.

Arah optimasi

Strategi tren silang HullMA dengan dua rata-rata bergerak dapat dioptimalkan dari beberapa aspek berikut:

  1. Mengoptimalkan parameter moving average untuk menemukan kombinasi optimal

  2. Meningkatkan filter seperti volume transaksi atau volatilitas, untuk mengecualikan terobosan palsu

  3. Meningkatkan kualitas sinyal, dikombinasikan dengan indikator lain sebagai penilaian tambahan

  4. Parameter siklus rata-rata bergerak yang dioptimalkan secara dinamis

Meringkaskan

HullMA crossover adalah strategi yang stabil dan dapat diandalkan untuk trend tracking secara keseluruhan. Ini menggabungkan crossover dan harga untuk menghasilkan sinyal berkualitas tinggi. Dengan pengoptimalan parameter dan penyaringan tambahan, Anda dapat mengurangi lebih jauh sinyal yang salah sehingga Anda mendapatkan kinerja strategi yang lebih baik.

Kode Sumber Strategi
/*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)