Hull MA Channel dan Strategi Trading Swing Regression Linear

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

img

Gambaran umum

Ini adalah strategi perdagangan swing yang menggabungkan Hull MA, saluran harga, sinyal EMA dan regresi linier. Ini menggunakan Hull MA untuk menentukan arah tren pasar, saluran harga dan regresi linier untuk mengidentifikasi area bawah, sinyal EMA ke waktu masuk pasar, untuk menangkap tren jangka menengah.

Logika Strategi

Strategi ini terdiri dari indikator utama berikut:

  1. Hull MA
    • Periode khas Hull MA adalah 337, mewakili arah tren jangka menengah hingga panjang
    • Ketika 2 kali WMA periode 18 di atas WMA periode 337, itu adalah pasar bull, jika tidak itu adalah pasar bear
  2. Saluran Harga
    • Grafik saluran harga EMA tinggi dan EMA rendah, mewakili area support dan resistance
  3. Sinyal EMA
    • Periode khas adalah 89, mewakili tren jangka pendek dan sinyal masuk
  4. Regresi linier
    • Garis cepat 6 periode untuk bawah dan pecah
    • Garis lambat 89 periode untuk tren jangka menengah hingga panjang

Logika entri:

Long Entry: Hull MA menunjuk ke atas dan harga di atas band atas, regresi linier melintasi sinyal EMA ke atas Short Entry: Hull MA menunjuk ke bawah dan harga di bawah band bawah, regresi linier melintasi sinyal EMA ke bawah

Logika keluar:

Long Exit: Harga di bawah band bawah dan melintasi regresi linier ke bawah Short Exit: Harga di atas band atas dan melintasi regresi linier ke atas

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Keakuratan yang lebih tinggi dengan beberapa indikator
    • Hull MA untuk tren utama, saluran untuk support/resistance, EMA untuk entry
  2. Swing trading untuk menangkap tren jangka menengah
    • Strategi terutama pembalikan untuk menangkap setiap siklus jangka menengah
  3. Risiko yang terkontrol dan penarikan yang lebih kecil
    • Sinyal hanya dihasilkan di daerah kemungkinan tinggi, menghindari mengejar tinggi membunuh rendah

Analisis Risiko

Ada juga beberapa risiko:

  1. Ruang pengoptimalan terbatas
    • Parameter utama seperti periode EMA tetap, dengan ruang pengoptimalan kecil
  2. Mungkin kehilangan di pasar yang terikat rentang
    • Stop loss dapat dipicu di kisaran sisi
  3. Butuh beberapa pengetahuan analisis teknis
    • Logika strategi membutuhkan tindakan harga dan pengetahuan indikator, tidak cocok untuk semua orang

Peningkatan:

  1. Sesuaikan strategi stop loss, misalnya trailing stop loss
  2. Mengoptimalkan masuk dan keluar logika
  3. Tambahkan indikator filter lainnya seperti MACD

Ringkasan

Strategi ini menggabungkan Hull MA, saluran harga, EMA dan regresi linier untuk strategi perdagangan swing jangka menengah yang lengkap. Dibandingkan dengan strategi indikator tunggal, ini meningkatkan akurasi secara signifikan dalam menangkap tren dan pembalikan. Tetapi masih ada risiko, yang membutuhkan pengetahuan analisis teknis. Peningkatan lebih lanjut pada parameter dan logika dapat meningkatkan stabilitas.


/*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 banyak