Trendstrategie auf der Grundlage des Crossover zwischen HULL SMA und EMA

Schriftsteller:ChaoZhang, Datum: 2023-10-30 12:32:38
Tags:

img

Übersicht

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.

Strategie Logik

  1. 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.

  2. Berechnen Sie den 5-Perioden-Exponential Moving Average (EMA).

  3. 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.

  1. Verwenden Sie die HULL SMA als schnelle Linie und die EMA als langsame Linie, um Änderungen der kurz- und mittelfristigen Trends auf der Grundlage des Crossovers zu ermitteln und Handelssignale zu erzeugen.

Analyse der Vorteile

  1. Der HULL SMA ist empfindlich auf Kursänderungen und kann Trendänderungen früher erkennen.

  2. Die EMA mildert Marktlärm und verfolgt langfristige Trends.

  3. Crossover-Signale fangen Trendwendepunkte rechtzeitig ein.

  4. Die Parameter können für verschiedene Handelszeitrahmen angepasst werden.

  5. Flexibler Auf- und Abwärtstrends erfassen.

Risikoanalyse

  1. Es können mehr falsche Signale auftreten, wenn die Märkte im Bereich liegen.

  2. Die Unfähigkeit, die Trendstärke zu bestimmen, kann zu wiederholten Verlusten bei schwachen Trends führen.

  3. Preisbewegungen zwischen den Durchschnittsintervallen können übersehen werden.

  4. Falsche Parameter-Einstellungen beeinträchtigen die Signalqualität.

  5. 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.

Optimierungsrichtlinien

  1. Fügen Sie Indikatoren wie MACD, RSI zur Signalbestätigung hinzu.

  2. Verwenden Sie Indikatoren für die Trendstärke wie ADX, um schwache Trends zu vermeiden.

  3. Optimieren Sie die gleitenden Durchschnittsparameter für die besten Kombinationen.

  4. Implementieren Sie Stop Loss, um Einzelhandelsverluste zu kontrollieren.

  5. Verwalten Sie Handelsfrequenz und Kosten.

  6. Einbeziehung einer mehrjährigen Analyse zur Ermittlung von zyklusübergreifenden Trends.

  7. Entwickeln Sie automatische Parameteroptimierungsprogramme.

Zusammenfassung

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 := ''


Mehr