Dual Trendlines Breakout Goldene Kreuz Todeskreuz Trend nach der Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-22 16:01:12
Tags:

img

Übersicht

Die Dual Trendlines Breakout Golden Cross Death Cross Trend Following Strategie ist eine quantitative Handelsstrategie, die sowohl Unterstützungs-/Widerstandstrendlinien als auch gleitende Durchschnitte als alternative Signale für das Trendfolgen nutzt. Diese Strategie berücksichtigt die Preisniveaus in verschiedenen Zeitrahmen und kombiniert die Breakout-Signale durch wichtige Unterstützungs- und Widerstandsniveaus mit den Golden Cross- und Death Cross-Signalen des Trendindikators, um Positionen während frühen Trendänderungen für das Gewinnziel der Verfolgung von mittelfristigen bis langfristigen Trends zu eröffnen.

Strategieprinzip

Diese Strategie besteht aus vier Hauptkomponenten:

  1. Unterstützungslinie mit den niedrigsten Tiefständen der letzten 30 Tage
  2. Widerstandslinie mit den höchsten Höchstwerten der letzten 30 Wochen gezeichnet
  3. Einfacher gleitender Durchschnitt für 10 Perioden, der zur Bestätigung des Trends bei der Filterung von Handelssignalen verwendet wird
  4. Breakout-Identifikationsmodul zur Erkennung von Handelsmöglichkeiten, wenn der Preis die kritischen Unterstützungs-/Widerstandsniveaus überschreitet

Insbesondere verwendet die Strategie zunächst die Sicherheitsanforderungsfunktionen, um die höchsten Höchststände und tiefsten Tiefstände der letzten 30 Tage bzw. 30 Wochen zu erhalten und dynamische Unterstützungs- und Widerstandslinien zu erstellen. Anschließend kombiniert sie die goldenen Kreuz- und Todeskreuzsignale des 10-Perioden-SMA, um Ausbruchchancen zu filtern.

Diese Strategie berücksichtigt sowohl mittelfristige als auch langfristige Unterstützungs-/Widerstandsniveaus und ermöglicht es, größere Trendchancen zu erfassen.

Analyse der Vorteile

Zu den Hauptvorteilen dieser Strategie gehören:

  1. Verwendet sowohl mittelfristige als auch langfristige Unterstützung/Widerstand, um größere Ausbrüche zu erfassen.
  2. Der MA-Filter steuert Verluste, indem er während der Wechselkurse falsche Signale vermeidet.
  3. Dynamische Aktualisierungen der Unterstützungs-/Widerstandsniveaus ermöglichen eine zeitnahe Feststellung neuer Trendrichtungen.
  4. Die Risikomanagement-Mechanismen von Stop-Loss und Take-Profit tragen dazu bei, Gewinne zu sichern.

Risikoanalyse

Für diese Strategie sind auch einige Risiken zu beachten:

  1. Breakout-Strategien erfordern präzise Zeitbestimmungen, mit Überschreitung oder Verzögerung.
  2. Invalide Ausbrüche können auftreten, wenn Support-/Widerstandsniveaus versagen, was zu enormen Verlusten führt.
  3. Die Verzögerung der gleitenden Durchschnitte kann zu verspäteten Signalen für Trendumkehrungen führen.
  4. Die hohen Anziehungsrisiken machen sie für kleine Konten ungeeignet.

Lösungen:

  1. Verfeinern Sie die Identifizierungslogik und fügen Sie mehr Filter hinzu.
  2. Verwenden Sie längere MA-Perioden, um sicherzustellen, dass Signale erst nach der Stabilisierung der Trends auftreten.
  3. Setzen Sie angemessene Stop-Loss-Levels, um den Abwärtstrend bei Einzeltrades zu begrenzen.

Optimierungsrichtlinien

Weitere Verbesserungsmöglichkeiten bestehen:

  1. Einbeziehen von Volatilitätsmaßnahmen wie ATR für einen intelligenten Stop Loss und Take Profitsizing.
  2. Hinzufügen von maschinellen Lernmodellen zur Erkennung von Stützungs-/Widerstandsfehlern.
  3. Verwenden Sie adaptive gleitende Durchschnitte, um Umkehrungen schneller zu erfassen.
  4. Feinabstimmungsparameter für verschiedene Produkte.

Schlussfolgerung

Die Dual Trendlines Breakout Golden Cross Death Cross Trend Following Strategie kombiniert mittelfristige bis langfristige Support/Resistance und gleitende Durchschnittsindikatoren effektiv, um profitable Signale während wichtiger Trends zu filtern, was sie zu einer relativ ausgereiften quantitativen Handelsstrategie macht. Es gibt immer noch viel Raum für Optimierung über Stop-Loss-Mechanismen, adaptive Parameter usw. Die Einbeziehung von maschinellem Lernen kann auch seine Robustheit verbessern.


/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © neosaid

//@version=5
strategy("Support and resistant Strategy", overlay=true)

// Function to check for breakout
f_breakoutCondition(closingPrice, highestHigh, lowestLow) =>
    closingPrice > highestHigh or closingPrice < lowestLow

// Step 1: 30 Days Trend Line (Lower Lows)
low30Days = request.security(syminfo.tickerid, "D", low)

// Step 2: 30 Weeks Upper Trend Line (Higher Highs)
high30Weeks = request.security(syminfo.tickerid, "W", high)

// Step 3: Trend Line for Lowest Low within the Last Month
var float lowestLowLastMonth = na
for i = 0 to 29
    lowestLowLastMonth := na(lowestLowLastMonth) ? low[i] : math.min(lowestLowLastMonth, low[i])

lowestLowLastMonthValue = lowestLowLastMonth[1]

// Breakout Strategy
highestHighLast3Candles = request.security(syminfo.tickerid, "D", ta.highest(close, 3))
lowestLowLast3Candles = request.security(syminfo.tickerid, "D", ta.lowest(close, 3))

// Additional conditions to filter signals
buyCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close > low30Days

sellCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close < high30Weeks

// Additional filters to reduce the number of orders
buyFilter = ta.crossover(close, ta.sma(close, 10)) // Buy only when price crosses above a 10-period SMA
sellFilter = ta.crossunder(close, ta.sma(close, 10)) // Sell only when price crosses below a 10-period SMA

buyCondition := buyCondition and buyFilter
sellCondition := sellCondition and sellFilter

// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Strategy entries
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)


Mehr