Diese Strategie erzeugt Kauf- und Verkaufssignale, indem sie die Überschneidung zwischen der HULL-Glanzgeschalteten gleitenden Durchschnittslinie und der exponentiellen gleitenden Durchschnittslinie berechnet, um die Markttrendrichtung zu bestimmen.
Berechnen Sie den 5-Perioden HULL Smoothed Moving Average (HULL SMA). Der HULL SMA reagiert schneller auf Kursänderungen, indem er gewichtete gleitende Durchschnitte und die Quadratwurzel des Zeitraums verwendet.
Berechnen Sie den 5-Perioden-Exponential Moving Average (EMA).
Erstellen von Kauf- und Verkaufssignalen basierend auf dem Crossover zwischen HULL SMA und EMA.
Wenn die HULL SMA über die EMA geht, wird ein Kaufsignal erzeugt, das anzeigt, dass der kurzfristige Trend über den langfristigen Trend bricht und eine Aufwärtsbewegung der Preise nahelegt.
Wenn die HULL SMA unterhalb der EMA überschreitet, wird ein Verkaufssignal erzeugt, das auf eine Abwärtsbewegung der Kurzzeittrends hinweist.
Der HULL SMA ist empfindlich auf Kursänderungen und kann Trendänderungen früher erkennen.
Die EMA mildert Marktlärm und verfolgt langfristige Trends.
Crossover-Signale fangen Trendwendepunkte rechtzeitig ein.
Die Parameter können für verschiedene Handelszeitrahmen angepasst werden.
Flexibler Auf- und Abwärtstrends erfassen.
Es können mehr falsche Signale auftreten, wenn die Märkte im Bereich liegen.
Die Unfähigkeit, die Trendstärke zu bestimmen, kann zu wiederholten Verlusten bei schwachen Trends führen.
Preisbewegungen zwischen den Durchschnittsintervallen können übersehen werden.
Falsche Parameter-Einstellungen beeinträchtigen die Signalqualität.
Eine hohe Handelsfrequenz erhöht die Kosten und das Risiko eines Ausrutschens.
Verbesserungen können durch Signalfilterung, Bewertung der Trendstärke, Parameteroptimierung, Risikomanagement usw. vorgenommen werden.
Fügen Sie Indikatoren wie MACD, RSI zur Signalbestätigung hinzu.
Verwenden Sie Indikatoren für die Trendstärke wie ADX, um schwache Trends zu vermeiden.
Optimieren Sie die gleitenden Durchschnittsparameter für die besten Kombinationen.
Implementieren Sie Stop Loss, um Einzelhandelsverluste zu kontrollieren.
Verwalten Sie Handelsfrequenz und Kosten.
Einbeziehung einer mehrjährigen Analyse zur Ermittlung von zyklusübergreifenden Trends.
Entwickeln Sie automatische Parameteroptimierungsprogramme.
Diese Strategie beurteilt den Trend anhand des Crossovers zwischen dem schnellen HULL SMA und dem langsamen EMA. Es handelt sich um ein typisches gleitendes Durchschnitts-Crossover-System. Im Vergleich zu traditionellen gleitenden Durchschnitten bietet der reaktionsschnelleren HULL SMA eine frühere Erkennung von Trendveränderungen. Allerdings sollten Parameter und zusätzliche Indikatoren optimiert werden, um falsche Signale zu reduzieren. Mit einem angemessenen Risikomanagement und Geldmanagement kann diese Strategie ein effizientes mittelfristiges Trendfolgensystem sein.
/*backtest start: 2022-10-23 00:00:00 end: 2023-10-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("HULL EMA Crossover", overlay = true, process_orders_on_close = true) // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © spiritedPerson95700 inSession = true HULL_INP = input.int(5, "Hull EMA Value") EMA_INP = input(5, "EMA Value") /// Indicator HULL_EMA = ta.hma(close, HULL_INP) EMA = ta.ema(close, EMA_INP) prevSignal = '' if (prevSignal == '') prevSignal := HULL_EMA > EMA ? 'buy' : 'sell' /// buy and sell signal buy = ta.crossover(HULL_EMA, EMA) short = ta.crossover(EMA, HULL_EMA) sell = short cover = buy if inSession if buy prevSignal := 'na' strategy.entry("long", direction = strategy.long, comment = "Buy") if sell prevSignal := 'na' strategy.close("long", comment = "Sell") if short strategy.entry("short", direction = strategy.short, comment = "Short") if cover strategy.close("short", comment = "Cover") plot(HULL_EMA, color = color.green) plot(EMA, color = color.blue) // if ( hour(time) == 15 and minute(time) > 25 ) // strategy.close("long", comment="EOD") // strategy.close("short", comment="EOD") // buy := false // sell := false // prevSignal := ''