Saluran Hull MA dan Strategi Dagangan Swing Regresi Linear

Penulis:ChaoZhang, Tarikh: 2023-12-01 16:47:01
Tag:

img

Ringkasan

Ini adalah strategi perdagangan ayunan yang menggabungkan Hull MA, saluran harga, isyarat EMA dan regresi linear. Ia menggunakan Hull MA untuk menentukan arah trend pasaran, saluran harga dan regresi linear untuk mengenal pasti kawasan bawah, isyarat EMA ke masa kemasukan pasaran, untuk menangkap trend jangka sederhana.

Logika Strategi

Strategi ini terdiri daripada penunjuk utama berikut:

  1. Hull MA
    • Tempoh tipikal Hull MA adalah 337, mewakili arah trend jangka sederhana hingga panjang
    • Apabila 2 kali WMA tempoh 18 melebihi WMA tempoh 337, ia adalah pasaran lembu, jika tidak ia adalah pasaran beruang
  2. Saluran Harga
    • Grafik saluran harga EMA tinggi dan EMA rendah, mewakili kawasan sokongan dan rintangan
  3. Isyarat EMA
    • Tempoh tipikal adalah 89, mewakili trend jangka pendek dan isyarat kemasukan
  4. Regresi Linear
    • Garis pantas 6 tempoh untuk bahagian bawah dan pecah
    • Garis perlahan 89 tempoh untuk trend jangka sederhana hingga panjang

Logika kemasukan:

Long Entry: Hull MA menunjuk ke atas dan harga di atas band atas, regresi linear melintasi isyarat EMA ke atas Short Entry: Hull MA menunjuk ke bawah dan harga di bawah jalur bawah, regresi linear melintasi isyarat EMA ke bawah

Logik Keluar:

Long Exit: Harga di bawah band bawah dan melintasi regresi linear ke bawah Keluar Pendek: Harga di atas jalur atas dan melintasi regresi linear ke atas

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Ketepatan yang lebih tinggi dengan pelbagai penunjuk
    • Hull MA untuk trend utama, saluran untuk sokongan / rintangan, EMA untuk kemasukan
  2. Perdagangan ayunan untuk menangkap trend jangka sederhana
    • Strategi terutamanya pembalikan untuk menangkap setiap kitaran jangka sederhana
  3. Risiko yang boleh dikawal dan pengambilan yang lebih kecil
    • Isyarat hanya dihasilkan di kawasan kebarangkalian tinggi, mengelakkan mengejar tinggi membunuh rendah

Analisis Risiko

Terdapat juga beberapa risiko:

  1. Ruang pengoptimuman terhad
    • Parameter utama seperti tempoh EMA tetap, dengan ruang pengoptimuman kecil
  2. Mungkin kehilangan dalam pasaran terikat julat
    • Stop loss boleh diaktifkan dalam julat sisi
  3. Perlu pengetahuan analisis teknikal.
    • Logik strategi memerlukan tindakan harga dan pengetahuan penunjuk, tidak sesuai untuk semua orang

Penambahbaikan:

  1. Sesuaikan strategi stop loss, contohnya trailing stop loss
  2. Mengoptimumkan logik masuk dan keluar
  3. Tambah penapis lain seperti MACD

Ringkasan

Strategi ini menggabungkan Hull MA, saluran harga, EMA dan regresi linear untuk strategi perdagangan ayunan jangka menengah yang lengkap. Berbanding dengan strategi penunjuk tunggal, ia meningkatkan ketepatan dengan ketara dalam menangkap trend dan pembalikan. Tetapi masih ada risiko, yang memerlukan pengetahuan analisis teknikal. Penambahbaikan lanjut pada parameter dan logik dapat meningkatkan kestabilan.


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

//@version=2
strategy("Swing Hull/SonicR/EMA/Linear Regression Strategy", overlay=true)
//Hull MA
n=input(title="HullMA Period",defval=377)
//
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
//
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
//
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
condDown = n2 >= n1
condUp = condDown != true
col =condUp ? lime : condDown ? red : yellow
plot(n1,title="Hull MA", color=col,linewidth=3)
// SonicR + Line reg
EMA = input(defval=89, title="EMA Signal")
HiLoLen     = input(34, minval=2,title="High Low channel Length")
lr     = input(89, minval=2,title="Linear Regression Length")
pacC        = ema(close,HiLoLen)
pacL        = ema(low,HiLoLen)
pacH        = ema(high,HiLoLen)
DODGERBLUE = #1E90FFFF
// Plot the Price Action Channel (PAC) base on EMA high,low and close//
L=plot(pacL, color=DODGERBLUE, linewidth=1, title="High PAC EMA",transp=90)
H=plot(pacH, color=DODGERBLUE, linewidth=1, title="Low PAC EMA",transp=90)
C=plot(pacC, color=DODGERBLUE, linewidth=2, title="Close PAC EMA",transp=80)
//Moving Average//
signalMA =ema(close,EMA)
plot(signalMA,title="EMA Signal",color=black,linewidth=3,style=line)
linereg = linreg(close, lr, 0)
lineregf = linreg(close, HiLoLen, 0)
cline=linereg>linereg[1]?green:red
cline2= lineregf>lineregf[1]?green:red
plot(linereg, color = cline, title = "Linear Regression Curve Slow", style = line, linewidth = 1)
//plot(lineregf, color = cline2, title = "Linear Regression Curve Fast", style = line, linewidth = 1)
longCondition = n1>n2
shortCondition = longCondition != true
closeLong =  lineregf-pacH>(pacH-pacL)*2 and close<lineregf and linereg>signalMA
closeShort = pacL-lineregf>(pacH-pacL)*2 and close>lineregf and linereg<signalMA
if shortCondition    
    if (close[0] < signalMA[0] and close[1] > pacL[1] and linereg>pacL and close<n1 and pacL<n1) //cross entry
        strategy.entry("SHORT", strategy.short, comment="Short")
strategy.close("SHORT", when=closeShort) //output logic
if longCondition // swing condition          
    if (close[0] > signalMA[0] and close[1] < pacH[1] and linereg<pacH and close>n1 and pacH>n1) //cross entry
        strategy.entry("LONG", strategy.long, comment="Long")
strategy.close("LONG", when=closeLong) //output logic


Lebih lanjut