
Diese Strategie ist eine Schwankungs-Trading-Strategie, die Hull MA, Preiskanal, EMA-Signal und lineare Regression kombiniert. Die Strategie nutzt die Hull MA, um die Richtung der Markttrend zu bestimmen, Preiskanal und lineare Regression, um die Bottom-Region zu bestimmen, und EMA-Signal, um die Markteintrittszeit zu bestimmen, um die mittleren Kurzlinien zu erfassen.
Die Strategie umfasst folgende Komponenten:
Eingangslogik:
Mehrere Eintritte: Hull MA nach oben und höher als auf der Strecke, lineare Rückkehr nach oben über die kurzfristige EMA Hull-Eintritt: Hull MA nach unten und unterhalb der Unterbahn, lineare Rückkehr nach unten durch die kurzfristige EMA
Die Ausgangslogik:
Mehrköpfige Abfahrt: Preise unterhalb der Unterbahn und über eine lineare Rückkehr nach unten Leerfahrt: Preise über der Oberbahn und über eine lineare Rückkehr nach oben
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch Risiken:
Die Optimierung kann aus folgenden Gründen erfolgen:
Die Strategie verwendet mehrere Indikatoren wie den Hull MA, den Preiskanal, die EMA und die lineare Regression, um eine vollständige mittlere, kurze und schwankende Handelsstrategie zu bilden. Im Vergleich zu einem einzigen Indikator kann die Strategie die Richtigkeit der Beurteilung erheblich verbessern und Gewinne bei Trends und Umkehrungen erfassen. Es besteht jedoch ein gewisses Risiko, das eine Grundlage für technische Analyse erfordert.
/*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