Doppelter gleitender Durchschnitt HullMA Crossover-Trendstrategie


Erstellungsdatum: 2024-02-26 11:21:45 zuletzt geändert: 2024-02-26 11:21:45
Kopie: 0 Klicks: 588
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelter gleitender Durchschnitt HullMA Crossover-Trendstrategie

Überblick

Die Double Moving Average HullMA-Cross-Trend-Strategie ist eine Trend-Tracking-Strategie, die auf der Kreuzung zweier Moving Averages basiert. Sie verwendet ein gewichtetes Moving Average WMA, um ein System aus zweier Moving Averages zu erstellen und beim Kreuzung ein Handelssignal zu erzeugen. Die Strategie kombiniert gleichzeitig Preisbruchurteile, um weitere Filtersignale zu erzeugen.

Strategieprinzip

Die HullMA-Kreuztrendstrategie verwendet drei WMA-Linien mit unterschiedlichen Perioden, darunter wma1, wma2 und wma3. Wma2 und wma3 bauen ein System aus zwei WMAs, die als bullish Signal dienen, wenn sie durch wma3 über wma2 gehen, und als bearish Signal, wenn sie durch wma3 unter wma2 gehen.

Die Strategie nutzt zusätzlich den Hull Moving Average, um die Signalentscheidung zu verstärken. Insbesondere berechnet sie den Differenzwert von n2ma und n-Tage-Gewogenem Moving Average, das Doppelte des 2-Tage-Gewogenem Moving Average, und misst die Veränderung der Differenzwertwerte. Ein bullish Signal wird nur bestätigt, wenn der Differenzwert steigt, und ein bullish Signal wird bestätigt, wenn der Differenzwert sinkt.

Die Strategie kombiniert Preisbeurteilung. Nur wenn der Preis höher als der Preis des Vortages ist, wird bestätigt, dass ein bullish Signal effektiv ist. Nur wenn der Preis niedriger als der Preis des Vortages ist, wird bestätigt, dass ein bearish Signal effektiv ist.

Analyse der Stärken

Die Double Moving Average HullMA Cross-Trend-Strategie kombiniert die Double Moving Average Cross-Trend-Strategie mit der Preisbestimmung, um falsche Signale wirksam zu filtern, was ihr größter Vorteil ist. Darüber hinaus verwendet die Strategie drei verschiedene Perioden mit beweglichen Durchschnitten, um Trends auf verschiedenen Ebenen zu erfassen und kann zu Beginn eines Trends in den Markt kommen.

Risikoanalyse

Die Double Moving Average HullMA Cross-Trend-Strategie als eine Trend-Tracking-Strategie ist anfällig für eine größere Anzahl von Transaktionen und Schlupfpunkte in der Ausgleichsphase. Darüber hinaus ist die Double Moving Average Cross-System zu empfindlich und kann falsche Signale in den Sideways senden. Es wird empfohlen, die Moving Average Parameter entsprechend anzupassen oder zusätzliche Filterbedingungen hinzuzufügen.

Optimierungsrichtung

Die HullMA-Kreuztrendstrategie kann in folgenden Bereichen optimiert werden:

  1. Optimierung der Moving Average-Parameter, um die optimale Kombination von Parametern zu finden

  2. Filter wie Erhöhung der Transaktionsmenge oder Schwankungen, um falsche Durchbrüche auszuschließen

  3. Verbesserte Signalqualität in Kombination mit anderen Indikatoren als Hilfsmittel

  4. Dynamische Optimierung der Moving Average-Parameter

Zusammenfassen

Die Double Moving Average HullMA Cross-Trend-Strategie ist insgesamt eine stabile und zuverlässige Trend-Tracking-Strategie. Sie kombiniert die Double Moving Average Cross-Trend-Strategie mit der Preisbestimmung, um ein hochwertiges Signal zu erzeugen. Durch die Optimierung der Parameter und das Hinzufügen von Filtern kann die Fehlsignale weiter reduziert werden, um eine bessere Strategie-Performance zu erzielen.

Strategiequellcode
/*backtest
start: 2023-02-25 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("ZendicatoR", overlay=true)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
che1=input(title="MA 1",defval=34,minval=1)
che2=input(title="MA 2",defval=144,minval=1)
che3=input(title="MA 3",defval=377,minval=1)
amnt=input(title="TP ($)",defval=4200,minval=1)
wma1=wma(close,che1)
wma2=wma(close,che2)
wma3=wma(close,che3)
tms=10000000000000
A=request.security(syminfo.tickerid, 'D', close)*tms
B=request.security(syminfo.tickerid, 'D', close[1])*tms
C=A>B?green:red
D=wma2>wma3?green:red
plot(wma1,style=line,color=C,linewidth=4)
p1=plot(wma2,style=line,color=D)
p2=plot(wma3,style=line,color=D)
fill(p1, p2, color=D, transp=75)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)*tms
n2=wma(diff1,sqn)*tms
closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt
if (closelong)
    strategy.close("Long")
closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt
if (closeshort)
    strategy.close("Short") 
longCondition = A*tms>B*tms and n1*tms>n2*tms
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = A*tms<B*tms and n1*tms<n2*tms
if (shortCondition)
    strategy.entry("Short",strategy.short)