Die Strategie basiert auf dem Hull Moving Average, der von Alan Hull entwickelt wurde und zur Trendverfolgung gehört. Dieser Indikator verringert effektiv die Lagerungseffekte von Moving Averages und reagiert besser auf Preisänderungen. Die Strategie verwendet den Hull Moving Average, um die Richtung der Tendenz zu bestimmen und ein Handelssignal zu senden, das mit zusätzlichen Filterbedingungen verbunden ist.
Berechnen Sie Hull Moving Averages für die Kurz- und die Langzeitkurve. Die Kurz- und die Langzeitkurve beurteilen die Richtung der einzelnen Trades, die Langzeitkurve beurteilt die Richtung der großen Trends.
Wenn ein Kurzzeit-Hull-MA durchschritten wird, wird eine Trendwende beurteilt. In Kombination mit der Richtung des großen Trends wird der Noise-Trading gefiltert.
Erhöhen Sie die Preise, um die Hull MA zu durchbrechen, um den Durchbruch zu gewährleisten.
Erhöhung der Preisänderungsraten, um unerwünschte Durchbrüche zu vermeiden.
Setzen Sie Stop-Loss- und Stop-Stop-Bedingungen und steuern Sie die Risiken.
Im Vergleich zum normalen Moving Average hat diese Strategie folgende Vorteile:
Die Hull MA reagiert schneller auf Preisänderungen und kann Trendwechsel rechtzeitig erfassen.
Die Doppel-Hull-MA-Struktur kann Trends in zwei Zeitdimensionen, groß und klein, bestimmen.
Der Preisbruch und die Wechselkurse können die falschen Durchbrüche wirksam filtern.
Dynamische Stop-Loss-Stopps können Gewinne sperren und Risiken kontrollieren.
Die Strategie birgt auch folgende Risiken:
Eine falsche Einstellung der Parameter kann die Umkehrung der Preisentwicklung verpassen.
Der Trend kann durch falsche Einschätzungen zu einem negativen Handel führen.
Die Stop-Loss-Einstellung kann zu hohen Verlusten führen.
Es gibt viele Möglichkeiten, wie man sich mit einem Unternehmen auseinandersetzen kann, um die Kosten zu senken.
Die Optimierung kann in folgenden Bereichen erfolgen:
Optimierung der Hull-MA-Zyklen, Balance zwischen Sensitivität und Glattigkeit.
Optimieren Sie die Parameter für Entry und Exit, um optimale Werte zu finden.
Tests zur Erhöhung der Strategieadaptivität unter Berücksichtigung verschiedener Varianten.
Die Bindung kann als Indikator für die Vermeidung von Abweichungsrisiken verwendet werden.
Das heißt, dass wir die Bedingungen erhöhen und die Stabilität der Strategie erhöhen können.
Die Strategie insgesamt nutzt die Reaktionsschnelligkeit des Hull MA für die zeitnahe Verfolgung von Trends und hat eine starke Profitabilität unter der Voraussetzung, dass die Risiken kontrolliert werden. Es ist jedoch notwendig, auf die Optimierung der Parameter zu achten und einige systematische Risiken zu vermeiden, die schwer zu vermeiden sind.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 22:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//SeaSide420
strategy("SS420FX", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
q=input(title="HullMA Short",defval=14)
z=input(title="HullMA Long",defval=14)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
SL = input(defval=-50000.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=100000.00, title="Target Point in $", type=float, step=1)
ot=1
n2ma=2*wma(close,round(q/2))
nma=wma(close,q)
diff=n2ma-nma
sqn=round(sqrt(q))
n2ma1=2*wma(close[1],round(q/2))
nma1=wma(close[1], q)
diff1=n2ma1-nma1
sqn1=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
z2ma=2*wma(close[11],round(z/2))
zma=wma(close[11],z)
ziff=n2ma-nma
zqn=round(sqrt(z))
z2ma1=2*wma(close[12],round(z/2))
zma1=wma(close[12], z)
ziff1=n2ma1-nma1
zqn1=round(sqrt(z))
z1=wma(diff,sqn)
z2=wma(diff1,sqn)
z1e=z1>z2?green:black
z2e=z1>z2?black:red
z3e=z1>z2?green:red
n1e=plot(z1, title="HMA1", color=z1e, linewidth=2, offset=2)
n2e=plot(z2, title="HMA2", color=z2e, linewidth=2, offset=2)
fill(n1e, n2e, color=z3e, transp=80)
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
strategy.close("Short")
longCondition = n1>n2 and z1>z2 and strategy.opentrades<ot and confidence>dt and close>n1
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and z1<z2 and strategy.opentrades<ot and confidence<dt and close<n1
if (shortCondition)
strategy.entry("Short",strategy.short)