Doppelliniendurchbruch, Goldenes Kreuz und Todeskreuz, Trendverfolgungsstrategie


Erstellungsdatum: 2024-02-22 16:01:12 zuletzt geändert: 2024-02-22 16:01:12
Kopie: 1 Klicks: 563
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelliniendurchbruch, Goldenes Kreuz und Todeskreuz, Trendverfolgungsstrategie

Überblick

Die Binary-Breakout-Strategie ist eine quantitative Trading-Strategie, bei der der Trend mit Unterstützung und Widerstand sowie dem Moving Average als Alternativsignal genutzt wird. Die Strategie berücksichtigt die Unterstützung und den Widerstand in verschiedenen Zeiträumen. Die Trend-Filterung wird verwendet, um die wichtigsten Unterstützungs- und Widerstandspunkte zu erfassen.

Strategieprinzip

Die Strategie besteht aus vier Teilen:

  1. Die 30-Tage-Tiefstands-Unterstützung
  2. Widerstandslinie mit Höchstwert in 30 Wochen
  3. 10. Einfacher Moving Average zur Bestätigung von Trend-Filter-Handelssignalen
  4. Durchbrechen des Identification-Moduls, um Handelschancen zu identifizieren, bei denen der Preis wichtige Resistenzstützen durchbricht

Die Strategie nutzt zunächst die Security-Funktion, um die Höchst- und die Tiefstpreise für 30 Tage und 30 Wochen zu erhalten, um die dynamischen Unterstützungs- und Widerstandslinien zu definieren. Die Strategie filtert dann die Durchbruchsmöglichkeiten in Kombination mit dem 10-Tage-Moving-Average-Gold- und Dead-Fork-Signal.

Die Strategie berücksichtigt sowohl die Unterstützung als auch die Widerstandsfähigkeit der mittleren kurzen und langen Linie, um größere Trendchancen zu erfassen. Die Kombination mit einem Moving Average filtert die falschen Signale in den Trendschwankungen effektiv.

Analyse der Stärken

Die Strategie hat folgende Vorteile:

  1. Die Widerstandslage der mittleren Kurz- und Langstrecke wird genutzt, um größere Durchbrüche zu erfassen.
  2. Erhöhung der Filter für die bewegliche Durchschnittslinie, um einen effektiven Kontrollverlust zu vermeiden und falsche Signale bei Erschütterungen zu vermeiden.
  3. Dynamische Updates unterstützen die Widerstandslage, um die neue Trendrichtung rechtzeitig zu erfassen.
  4. Ein Stop-Loss-Mechanismus mit Risikomanagement hilft bei der Gewinnsicherung.

Risikoanalyse

Die Strategie birgt auch einige Risiken, die beachtet werden müssen:

  1. Durchbruchstrategien erfordern eine hohe Zeitsicherheit und sind anfällig für Über- oder Verzögerungen.
  2. Bei einem Ausfall der Widerstandsstufe kann es zu Fehlsignalen und großen Verlusten kommen.
  3. Der Moving Average selbst liegt hinter den Preisen zurück und kann einen Trendwechsel verpassen.
  4. Das Risiko eines Rückzugs ist höher und ist für Investoren mit geringem Kapital nicht geeignet.

Entsprechende Lösungen:

  1. Durchbrechungslogik angepasst, um weitere Filterbedingungen einzuführen.
  2. Erhöhung der Periodizität der Moving Average-Parameter, um sicherzustellen, dass nur dann ein Signal erzeugt wird, wenn sich der Trend stabilisiert.
  3. Ein angemessener Stop-Loss-Punkt, um einzelne Verluste zu kontrollieren.

Optimierungsrichtung

Die Strategie kann noch weiter optimiert werden:

  1. Versuchen Sie, eine vernünftigere Stop-Loss-Marge in Verbindung mit Volatilitätsindikatoren wie ATR zu bestimmen.
  2. Hinzu kommt ein maschinelles Lernmodell, um die Unwirksamkeit von Widerstandspunkten in den wichtigsten Stützen zu bestimmen.
  3. Der Trend umkehrt sich zeitnah, indem der Adaptive Moving Average verwendet wird.
  4. Optimierung für verschiedene Sortenparameter

Zusammenfassen

Die Binary-Breakout-Strategie, die die Unterstützung des Widerstands der mittleren und langen Linien und die Moving-Average-Indikatoren als Handelssignale berücksichtigt, ist eine reife quantitative Handelsstrategie, die in der Lage ist, Geräusche im Kontext großer Trends effektiv zu filtern. Die Strategie hat noch viel Optimierungsraum, kann in Bezug auf die Stop-Loss-Mechanismen, die Anpassung der Parameter usw. verbessert werden.

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