Trendfolgestrategie basierend auf dem Crossover des gleitenden Durchschnitts


Erstellungsdatum: 2024-01-31 15:17:31 zuletzt geändert: 2024-01-31 15:17:31
Kopie: 1 Klicks: 597
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgestrategie basierend auf dem Crossover des gleitenden Durchschnitts

Überblick

Diese Strategie ermittelt und verfolgt Trends durch die Berechnung verschiedener Arten von Durchschnittslinien (Simple Moving Average SMA, Index Moving Average EMA, Hull Moving Average HMA und VWMA) und die Suche nach ihren Kreuzungen. Sie erzeugt ein Kaufsignal, wenn eine kürzere Durchschnittslinie von unten durch die längere Durchschnittslinie geht.

Strategieprinzip

Die Strategie beurteilt die Marktentwicklung hauptsächlich durch den Vergleich der Beziehungen zwischen zwei verschiedenen Mittellinien. Insbesondere wird die Art und Länge der beiden Mittellinien durch Eingabeparameter festgelegt. Die erste Mittellinie ist länger und repräsentiert die langfristige Tendenz; Die zweite Mittellinie ist kürzer und repräsentiert die aktuelle kurzfristige Tendenz.

Wenn die kurzfristige Durchschnittslinie von unten durch die langfristige Durchschnittslinie geht, bedeutet dies, dass die kurzfristige Tendenz stärker wird und der Kurs in den Aufwärtstrend eintritt, wodurch ein Kaufsignal an dieser Kreuzung ausgegeben wird. Umgekehrt, wenn die kurzfristige Durchschnittslinie von oben durch die langfristige Durchschnittslinie geht, bedeutet dies, dass die kurzfristige Tendenz schwächer wird und der Kurs in den Abwärtstrend eintritt, wodurch ein Verkaufsignal an dieser Kreuzung ausgegeben wird.

Die Einheitlichkeit des Linear-Cross-Judgements ermöglicht es, den Markttrends zu folgen und zu handeln.

Strategische Vorteile

  • Der Trend zur Nutzung von Mittellinienkreuzungen ist ein klassischer und praktischer Technikindikator.
  • Unterstützung für verschiedene Arten von Gleichlinienkombinationen, hohe Flexibilität
  • Strategie-Logik ist einfach, klar und leicht zu verstehen, um sie zu implementieren und für die Automatisierung von quantifizierten Transaktionen geeignet zu sein
  • Konfigurierbare Parameter, die flexibel für unterschiedliche Marktumgebungen sind

Risikoanalyse

  • Durchschnittliche Linie hat Verzögerung, bei der Kreuzung Signal ausgegeben wird, kann der Preis-Bewegung bereits stattgefunden haben oder nahe an der Umkehrung, gibt es eine gewisse Verzögerung Falschmeldung Risiko
  • Trendbeurteilung kann zu Fehleinschätzungen führen, die zu unnötigen Verlusten führen
  • Die Parameter der Mittellinien müssen vernünftigerweise konfiguriert sein, da unterschiedliche Parameter zu sehr unterschiedlichen Ergebnissen führen können.

Die Risiken können auf folgende Weise gelöst werden:

  • angemessene Verkürzung der Durchschnittszyklen und erhöhte Sensibilität für Marktveränderungen
  • Verifizierung in Verbindung mit anderen Indikatoren, um Fehleinschätzungen zu vermeiden
  • Parameteroptimierungsmethoden: Durchlauf, maschinelles Lernen, genetische Algorithmen usw.
  • Richtige Kontrolle der Positionsgröße und der Stop-Loss-Punkte

Richtung der Strategieoptimierung

  • Zusätzliche Filter für andere Indikatoren, die mehrere Indikatoren kombinieren, um die Entscheidungsgenauigkeit zu verbessern
  • Automatische Anpassung der Mittellinienparameter an die Marktbedingungen
  • Automatische Optimierungsparameter in Kombination mit einem Machine Learning-Algorithmus
  • Optimierung der Stop-Loss-Strategie

Zusammenfassen

Die Strategie basiert auf der klassischen Theorie der Gleichgewichts-Kreuzung der wichtigsten Trends und wird durch die Kombination verschiedener Gleichgewichte flexibel angewendet. Die Strategie-Logik ist einfach und leicht umzusetzen und eignet sich für die Automatisierung von Geschäften. Insgesamt hat die Strategie eine gewisse Praxis, aber es gibt auch Raum für einige Optimierungsverbesserungen.

Strategiequellcode
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA", "VWMA"])

ma2 = input(7, title="2nd MA Length")
type2 = input("HMA", "2nd MA Type", options=["SMA", "EMA", "HMA", "VWMA"])

f_hma(_src, _length)=>
    _return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    if (type1 == "EMA")
        ema(price, ma1)
    else
        if (type1 == "VWMA")
            vwma(price, ma1)
        else
            f_hma(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    if (type2 == "EMA")
        ema(price, ma2)
    else
        if (type2 == "VWMA")
            vwma(price, ma2)
        else
            f_hma(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


longCondition = crossover(price1, price2)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(price1, price2)
if (shortCondition)
    strategy.entry("Short", strategy.short)