Diese Strategie verwendet den Indikator HMA (Hull Moving Average) und die technische Analyse der K-Line, um Dynamikbeurteilungen und Durchbruchstransaktionen bei Preisen zu realisieren.
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
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.
Die
Der doppelte Durchbruchmechanismus verbessert die Zuverlässigkeit der Signale und verhindert, dass sie eingeschlossen werden.
Dynamischer Stop-Loss und Gewinnschutz optimieren Risiko und Rendite.
Voll automatisierter Handel vereinfacht den Handel.
Bei starken Marktschwankungen ist die Wahrscheinlichkeit, dass ein Stop-Loss getroffen wird, größer.
Eine hohe Handelsfrequenz erhöht die Provisionskosten.
Falsche Parameter-Einstellungen können viele falsche Signale erzeugen.
Optimieren Sie die Stop-Loss- und Take-Profit-Bedingungen und setzen Sie angemessene Retracements.
Anpassung der Handelsfrequenz zur Verringerung der Provisionen.
Testen und optimieren Sie den HMA-Zyklus und die Durchbruchbedingungen, um optimale Parameter zu ermitteln.
Verwenden Sie Trendbeurteilungsindikatoren, um einen Gegentrendhandel zu vermeiden.
Steigerung der automatischen Beurteilung der Datenquellenwechsel, um sich an mehr Marktumgebungen anzupassen.
Erhöhung der Algorithmen für maschinelles Lernen zur automatischen Optimierung von Parametern.
Bereitstellung auf dem Server, um eine 24-Stunden-Live-Handelsverifizierung zu erreichen.
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)