HMA-Strategie für den Durchbruch der Dynamik

Schriftsteller:ChaoZhang, Datum: 2024-01-04 15:34:52
Tags:

img

II. Überblick über die Strategie

Diese Strategie verwendet den Indikator HMA (Hull Moving Average) und die technische Analyse der K-Line, um Dynamikbeurteilungen und Durchbruchstransaktionen bei Preisen zu realisieren.

III. Strategieprinzip

  1. HMA-Indikatorprinzip

Der HMA-Indikator wurde 2005 von Alan Hull erstellt, um einen gleitenden Durchschnitt zu erstellen, der sowohl empfindlich als auch glatt ist.

(1) Berechnen Sie die durchschnittliche DMA für den Halbzyklus durch Doppelglättung

(2) Berechnen Sie den durchschnittlichen SMA für den gesamten Zyklus

(3) Berechnen Sie die Differenz DIFF zwischen DMA und SMA

(4) Berechnen Sie die Durchschnittslinie des DIFF für den SQRT-Zyklus, um HMA zu erhalten

  1. Handelsstrategie

Die Strategie verwendet die Auf- und Abwärtströme des HMA-Indikators als Signale, kombiniert mit dem Durchbruch des Entitätsteils der K-Linie, um Kauf- und Verkaufssignale zu generieren. Gleichzeitig setzen Sie Stop-Loss- und Take-Profit-Prinzipien, um die Gewinn- und Verlustsituation in Echtzeit zu überwachen, um die Gewinne zu schützen.

IV. Vorteile der Strategie

  1. Die Konvergenz-Eigenschaft des HMA-Indikators macht ihn äußerst empfindlich gegenüber Kursänderungen, wobei der gleitende Durchschnitt gleichzeitig glatt bleibt, um falsche Signale zu vermeiden.

  2. Der doppelte Durchbruchmechanismus verbessert die Zuverlässigkeit der Signale und verhindert, dass sie eingeschlossen werden.

  3. Dynamischer Stop-Loss und Gewinnschutz optimieren Risiko und Rendite.

  4. Voll automatisierter Handel vereinfacht den Handel.

V. Risiken der Strategie

  1. Bei starken Marktschwankungen ist die Wahrscheinlichkeit, dass ein Stop-Loss getroffen wird, größer.

  2. Eine hohe Handelsfrequenz erhöht die Provisionskosten.

  3. Falsche Parameter-Einstellungen können viele falsche Signale erzeugen.

Lösungen

  1. Optimieren Sie die Stop-Loss- und Take-Profit-Bedingungen und setzen Sie angemessene Retracements.

  2. Anpassung der Handelsfrequenz zur Verringerung der Provisionen.

  3. Testen und optimieren Sie den HMA-Zyklus und die Durchbruchbedingungen, um optimale Parameter zu ermitteln.

VI. Optimierungsrichtungen der Strategie

  1. Verwenden Sie Trendbeurteilungsindikatoren, um einen Gegentrendhandel zu vermeiden.

  2. Steigerung der automatischen Beurteilung der Datenquellenwechsel, um sich an mehr Marktumgebungen anzupassen.

  3. Erhöhung der Algorithmen für maschinelles Lernen zur automatischen Optimierung von Parametern.

  4. Bereitstellung auf dem Server, um eine 24-Stunden-Live-Handelsverifizierung zu erreichen.

VII. Zusammenfassung

Die HMA-Momentum-Breakout-Strategie nutzt die einzigartigen Vorteile des Hull- gleitenden Durchschnitts, um die Marktdynamik genau zu erfassen. Der doppelte Breakout-Filtermechanismus verbessert die Signalqualität und dynamischer Stop-Profit und Stop-Loss schützt das Einkommen.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//SeaSide420
strategy("Hull Moving Average and Daily Candle Crossover", shorttitle="Hull&D", 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)
// settings----------------------
q=input(title="HullMA",defval=5)
SL = input(defval=-10000.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=500.00, title="Target Point in $", type=float, step=1)
price=input(ohlc4,title="Price data")
ot=1
p=price[1]
// Daily candle crossover---------
dt = 0.0010
Daily=(p-p[1])/p[1]
//--------------------------------
// Hull MA's----------------------
n2ma=2*wma(p,round(q/2))
nma=wma(p,q)
diff=n2ma-nma
sqn=round(sqrt(q))
n2ma1=2*wma(p[1],round(q/2))
nma1=wma(p[1], q)
diff1=n2ma1-nma1
sqn1=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
//---------------------------------
// Plotting------------------------
z1e=n1>n2?green:black
z2e=n1>n2?black:red
z3e=n1>n2?green:red
n1e=plot(n1, title="HMA1", color=z1e, linewidth=2, offset=2)
n2e=plot(n2, title="HMA2", color=z2e, linewidth=2, offset=2)
fill(n1e, n2e, color=z3e, transp=80)
// Order controls-------------------
closelong = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] and strategy.opentrades<ot and Daily>dt and close>n1
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] and strategy.opentrades<ot and Daily<dt and close<n1 
if (shortCondition)
    strategy.entry("Short",strategy.short)

Mehr