Die Ressourcen sind geladen. Beförderung...

Historisch hoher Durchbruch mit monatlichem gleitendem Durchschnitt Filter Trend nach Strategie

Schriftsteller:ChaoZhang, Datum: 2024-12-13 10:25:18
Tags:ATHSMA- Nein.

img

Übersicht

Diese Strategie ist ein Trendfolgensystem, das auf historischem hohem Durchbruch und monatlichem gleitenden Durchschnittsfilter basiert. Es erzeugt Kaufsignale, indem es Preisdurchbrüche über frühere historische Höchststände überwacht, während es den 8-Perioden-Simple Moving Average (8 SMA) auf monatlichem Zeitrahmen als Verkaufsfilter verwendet, um falsche Breakout-Risiken zu reduzieren. Das Strategiedesign entspricht dem Marktcharakteristikum Trendfortsetzung und ist besonders geeignet, um wichtige Trends in starken Aufwärtsmärkten zu erfassen.

Strategieprinzipien

Die Kernlogik besteht aus zwei Schlüsselelementen:

  1. Kaufsignal: Wird erzeugt, wenn der letzte Schlusskurs über das bisherige historische Hoch (ohne das aktuelle Bar-Hoch) bricht.
  2. Verkaufssignal: Wird ausgelöst, wenn der monatliche Schlusskurs unter den 8-Perioden-Simple Moving Average fällt. Die Strategie umfasst auch einen Mechanismus zur Überwachung des Signalzustands, um wiederholte Signale im selben Zustand zu vermeiden und so die Strategie zu stabilisieren.

Strategische Vorteile

  1. Einheitliche Datenbank für die Berechnung der Datenbank für die Berechnung der Datenbank.
  2. Robuste Risikokontrolle: Einbezieht den monatlichen gleitenden Durchschnitt als Filter, um falsche Ausbrüche effektiv auszuschließen.
  3. Hohe Signalstabilität: Verwendet die LastSignal-Variable, um Signalzustände zu verfolgen und eine Wiederholung des Signals zu verhindern.
  4. Gute Visualisierung: Bietet eine klare grafische Schnittstelle, einschließlich historischer Höhenlinien, gleitenden Durchschnitten und Kauf- / Verkaufsmarker.
  5. Hohe Anpassungsfähigkeit: Kann auf verschiedene Zeitrahmen und Instrumente angewendet werden.

Strategische Risiken

  1. Verzögerungsrisiko: Historisch hohe Ausbruchsignale sind von Natur aus etwas zurückgeblieben und fehlen möglicherweise optimale Einstiegspunkte.
  2. Falsches Ausbruchrisiko: Trotz der monatlichen gleitenden Durchschnittsfilterung kann es in verschiedenen Märkten immer noch zu falschen Ausbrüchen kommen.
  3. Abzugsrisiko: Die Strategie kann bei Trendumkehrpunkten erhebliche Abzüge aufweisen.
  4. Positionsmanagementrisiko: Die Strategie fehlt an Positionsgrößenmechanismen, was zusätzliche Geldmanagementregeln erfordert.

Strategieoptimierungsrichtlinien

  1. Volumenbestätigung: Zusatz von Volumenindikatoren als Ausbruchbestätigungsbedingungen zur Verbesserung der Signalzuverlässigkeit.
  2. Erweiterte Stop-Loss: Entwerfen Sie flexiblere Stop-Loss-Regeln wie Trailing-Stops oder volatilitätsbasierte Stops.
  3. Positionsmanagement: Dynamische Anpassung der Positionsgrößen anhand der Marktvolatilität und der Trendstärke.
  4. Signalfilterung: Hinzufügen von Trendstärken wie ADX, um schwache Signale weiter zu filtern.
  5. Zeitfilterung: Hinzufügen von Zeitrahmenfiltern, um den Handel während ungeeigneter Zeitabschnitte zu vermeiden.

Zusammenfassung

Dies ist ein gut konzipierter Trend nach Strategie mit klarer Logik. Durch die Kombination von historischen hohen Breakouts und monatlichen gleitenden Durchschnitten wird sowohl eine effektive Trendfassung als auch eine angemessene Risikokontrolle erreicht. Während es inhärente Risiken von Verzögerungen und falschen Breakouts gibt, bieten die vorgeschlagenen Optimierungsrichtungen Potenzial für eine weitere Leistungssteigerung. Die Strategie eignet sich besonders für Märkte mit klaren Trends und kann als wichtiges Referenzwerkzeug für mittelfristige bis langfristige Investitionen dienen.


/*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)


Verwandt

Mehr