Eine trendfolgende quantitative Handelsstrategie, die einen historischen Höchststand mit einem monatlichen gleitenden Durchschnittsfilter kombiniert

ATH SMA MA
Erstellungsdatum: 2024-12-13 10:25:18 zuletzt geändert: 2024-12-13 10:25:18
Kopie: 0 Klicks: 336
1
konzentrieren Sie sich auf
1617
Anhänger

Eine trendfolgende quantitative Handelsstrategie, die einen historischen Höchststand mit einem monatlichen gleitenden Durchschnittsfilter kombiniert

Überblick

Die Strategie ist eine Trend-Tracking-Strategie, die auf historischen Neuhöhen und Mondlinie-Gewinnfiltern basiert. Sie sucht nach Kaufsignalen, indem sie beobachtet, ob die Preise die vorherigen historischen Höchststände überschritten haben, und nutzt die 8-Zyklus-Simple Moving Average (SMA) der Mondlinie als Verkaufskondition, um das Risiko von falschen Durchbrüchen zu verringern. Die Strategie ist so konzipiert, dass sie der Markteinheit “Trendkontinuität” entspricht.

Strategieprinzip

Die Kernlogik der Strategie besteht aus zwei wichtigen Teilen:

  1. Kaufsignale: Das System erzeugt ein Kaufsignal, wenn der aktuelle Schlusskurs den historischen Höchststand der Vorperiode überschreitet (ohne den höchsten Preis der aktuellen K-Linie). Diese Bedingung gewährleistet, dass nur bei einem klaren Aufwärtstrend eingegeben wird.
  2. Verkaufssignal: Wenn der Monatsschlusspreis unter dem 8-Zyklus-Simple Moving Average fällt, löst das System ein Verkaufssignal aus. Diese Bedingung hilft, den Verlust rechtzeitig zu stoppen und zu verhindern, dass eine Trendwende zu größeren Verlusten führt. Die Strategie hat auch einen Signalstatus-Tracking-Mechanismus entwickelt, um zu vermeiden, dass ein Signal in demselben Zustand wiederholt erzeugt wird, was die Stabilität der Strategie erhöht.

Strategische Vorteile

  1. Trend-Grifffähigkeit: Durch historische Neuschläge kann ein starker Aufwärtstrend effektiv erfasst werden.
  2. Gefährdungssteuerung: Die Kombination von Mondlinie und Mittellinie als Filterbedingungen kann falsche Durchbrüche wirksam filtern.
  3. Hohe Signalstabilität: Die Signalstatus wird durch die LastSignal-Variable verfolgt, um eine Wiederholung des Signals zu vermeiden.
  4. Die Strategie bietet eine übersichtliche grafische Oberfläche mit historischen Höchst- und Mittelwerten sowie Kauf- und Verkaufssignalmarkierungen.
  5. Anpassungsfähigkeit: Die Strategie kann für verschiedene Zeiträume und Sorten angewendet werden.

Strategisches Risiko

  1. Verzögerungsrisiko: Ein Signal für einen neuen Rekordhoch ist von Natur aus verzögerungsfähig und kann den besten Einstiegsmoment verpassen.
  2. Gefahr von False Breaks: False Breaks sind in einem schwankenden Markt möglich, obwohl es eine durchschnittliche Filterung der Mondlinie gibt.
  3. Zurückziehungsrisiken: Die Strategie kann zu einem Trendwendepunkt einen größeren Rückzug erleiden.
  4. Risiken der Geldverwaltung: Die Strategie enthält keine Positionsverwaltungsmechanismen und erfordert zusätzliche Geldverwaltungsregeln.

Richtung der Strategieoptimierung

  1. Einführungsmenge kann bestätigt werden: Ein Umsatzmenge-Indikator kann als Durchbruchbestätigungsbedingung hinzugefügt werden, um die Signalzuverlässigkeit zu verbessern.
  2. Verbesserte Stop-Mechanismen: Es können flexiblere Stop-Regeln wie Tracking Stop oder Volatilitätsstop entworfen werden.
  3. Positionsverwaltung hinzufügen: Positionsgröße wird dynamisch angepasst, je nach Marktvolatilität und Trendstärke.
  4. Optimierte Signalfilterung: Trendstärken wie ADX können hinzugefügt werden, um Schwachstellen weiter zu filtern.
  5. Zeit-Filter hinzugefügt: Zeit-Zyklus-Filter können hinzugefügt werden, um zu vermeiden, dass in unpassenden Zeitabschnitten gehandelt wird.

Zusammenfassen

Es handelt sich um eine Strategie zur Trendverfolgung, die vernünftig und logisch klar ausgelegt ist. Durch die kombinierte Verwendung von historischen Neuerhöhungen und Mondline-Mitteln wird sowohl eine effektive Beherrschung der Trends als auch eine vernünftige Risikokontrolle gewährleistet. Obwohl ein gewisser Rückstand und ein Risiko für falsche Durchbrüche vorhanden sind, wird die Gesamtperformance der Strategie durch die empfohlene Optimierungsrichtung voraussichtlich weiter verbessert.

Strategiequellcode
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Signal on Close Greater Than Previous All-Time High Strategy", overlay=true)

// Initialize the previous all-time high
var float prevAllTimeHigh = na

// Update the all-time high, excluding the current bar's high (use previous bar's high)
if (na(prevAllTimeHigh) or high[1] > prevAllTimeHigh)
    prevAllTimeHigh := high[1]

// Monthly closing price and 8 SMA on monthly time frame
monthlyClose = request.security(syminfo.tickerid, "M", close)
monthlySMA = ta.sma(monthlyClose, 8)

// Variables to track the last signal type
var int lastSignal = 0 // 0 = None, 1 = Buy, 2 = Sell

// Debugging output to check the all-time high and conditions
plot(prevAllTimeHigh, color=color.blue, linewidth=1, title="Previous All-Time High")
plot(monthlySMA, color=color.green, linewidth=1, title="8 SMA (Monthly)")

// Buy signal: when the latest close is greater than the previous all-time high
buySignal = close > prevAllTimeHigh and lastSignal != 1

// Sell signal: when the monthly close is below the 8 SMA
sellSignal = monthlyClose < monthlySMA and lastSignal != 2

// Update the last signal type after triggering a signal
if (buySignal)
    lastSignal := 1
if (sellSignal)
    lastSignal := 2

// Execute the strategy orders
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.close("Buy")

// Optional: Plot buy and sell signals on the chart for visual reference
plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)