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.
Strategi ini terdiri dari indikator utama berikut:
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
Strategi ini memiliki keuntungan berikut:
Ada juga beberapa risiko:
Peningkatan:
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