Die Strategie nutzt eine Kombination aus dem nullzeitverzögerten EMA und dem Hull EMA, um Trends zu verfolgen. Der nullzeitverzögerte EMA beseitigt die Verzögerung des normalen EMA, während der Hull EMA die Kurskurve ebnet. Die Kombination der beiden ermöglicht eine genauere Erfassung der Trendbewegungen und ermöglicht einen risikoarmen Trends-Tracking-Handel.
Zuerst berechnen wir den EMA mit einer Zeitverzögerung von null Stunden:
EMA1 = ema(close, Period) EMA2 = ema(EMA1, Period) Difference = EMA1 - EMA2 ZeroLagEMA = EMA1 + Difference
ZeroLagEMA ist eine EMA mit null zeitlicher Verzögerung. Sie beseitigt die Verzögerung der normalen EMA.
Dann berechnen wir die Kurve nach dem Ausgleich der Hull EMA:
n2ma = 2*wma(ZeroLagEMA, round(S_period/2)) nma = wma(ZeroLagEMA, S_period) n1 = wma(n2ma - nma, sqn)
Schließlich berechnet man die Größe des aktuellen Hull EMA (n1) im Verhältnis zum Hull EMA (n2) des vorangegangenen Zeitraums, beurteilt die Richtung des Trends und entwickelt eine Handelsstrategie.
Der größte Vorteil dieser Strategie besteht darin, dass sie die Richtung der Trends genau erfasst.
Die EMA mit Zeitverzögerung von null Stunden beseitigt die Verzögerung der normalen EMA und ermöglicht eine schnellere Erfassung von Preisänderungen.
Die Hull EMA hat die Preise doppelt ausgerichtet, um die Geräusche zu filtern und den Capture-Trend klarer zu machen.
Die Kombination der beiden EMAs hat ihre eigenen Vorteile und macht die Strategie genauer und zuverlässiger als die Verwendung von EMAs oder Hull EMAs allein.
Diese Strategie birgt folgende Risiken:
Die Period- und S_period-Parameter sind falsch eingestellt, was dazu führen kann, dass die Strategie nicht auf die Marktreaktionen reagiert und die Handelszeit verpasst wird.
Bei Erschütterungen können die EMA und die Hull EMA mehr Kreuzungen erzeugen, was zu einem alarmierenden False-Breakout führt.
Es ist unmöglich, die Preissteigerungen über Nacht wirksam zu bewältigen.
Daher müssen die Parameter sorgfältig getestet und die Indicatorsignale vorsichtig betrachtet werden, um das Risiko eines Preissprungs zu vermeiden.
Diese Strategie kann optimiert werden durch:
Testing von Optimierungskombinationen von Parametern in verschiedenen Märkten und unter verschiedenen Zeiträumen, so dass Strategien besser auf verschiedene Situationen angepasst werden können.
In Kombination mit anderen Indikatoren filtern falsche Durchbruchsignale wie KDJ, MACD usw. die Stabilität der Strategie.
Erhöhen Sie Ihre Stop-Loss-Strategie, um einzelne Verluste zu kontrollieren.
Optimierung des Einstiegs Timings, um die Gewinnrate der Strategie weiter zu verbessern.
Die Strategie nutzt eine Kombination aus Hull EMAs mit Null-Zeitverzögerung, um Markttrends präzise und flexibel zu erfassen und Trend-Tracking-Handel in einer risikoarmen Art und Weise durchzuführen. Die Strategie kann durch Optimierung von Parametern, Filterung von Indikatoren und Stop-Losses die Strategie-Stabilität weiter verbessern.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// Zero Lag EMA combined with Hull moving average for smoothing purposes.
// author: email: [email protected]
strategy("Ujanja", overlay=true)
Period = input(title="Period",defval=30, minval=1)
S_period=input(title="Smoother Period",defval=176)
EMA1= ema(close,Period)
EMA2= ema(EMA1,Period)
Difference= EMA1 - EMA2
ZeroLagEMA= EMA1 + Difference
n2ma=2*wma(ZeroLagEMA,round(S_period/2))
nma=wma(ZeroLagEMA,S_period)
diff=n2ma-nma
sqn=round(sqrt(S_period))
n2ma1=2*wma(ZeroLagEMA[1],round(S_period/2))
nma1=wma(ZeroLagEMA[1],S_period)
diff1=n2ma1-nma1
sqn1=round(sqrt(S_period))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red
ma=plot(n1,color=c)
longCondition = n1>n2
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = longCondition != true
if (shortCondition)
strategy.entry("Short", strategy.short)