
Die Technische Graphik-Bestätigung-Mehrzyklus-Dynamik-Strategie ist ein Handelssystem, das auf der Formerkennung mehrerer klassischer Diagramme basiert und die Dynamik bestätigt. Die Strategie identifiziert hauptsächlich die in den Märkten üblichen technischen Formen, wie Kopf, Schulter, Kopf, Schulter, Doppelkopf, Doppel, Dreieck (Symmetrie, Aufstieg, Abstieg), Flagge, Antenne usw., und bestätigt die Einstiegssignale bei Formbruch. Die Strategie kombiniert kunstvoll mit dem ATR-Indikator, um dynamische Stop-Loss- und Wartungsniveaus einzustellen, Risiken effektiv zu kontrollieren und Gewinne zu sperren.
Das Kernprinzip der Strategie besteht darin, verschiedene Chartformate durch eine Reihe von Bedingungsfunktionen zu erkennen und Handelssignale zu bestätigen, wenn der Preis ein kritisches Niveau überschreitet:
Kopf-Schulter-Ober-/Unterschulter-IdentifizierungDie charakteristische Struktur der Kopf-Schulter-Form wird durch den Vergleich der relativen Positionsbeziehungen von aufeinanderfolgenden Höhen/Tiefen erkannt. Die Kopf-Schulter-Form wird gebildet, wenn die Höhe 1 größer als die Höhe 0, 2, 3, 4 ist und die Höhe 0 kleiner als die Höhe 2 und 3 ist.
Doppelte Ober-/UntererkennungIdentifizierung von Doppel- und Doppelbodenformen durch Analyse von Höhen- und Tiefpunktserien. Bei Doppel- und Tiefpunkten muss der Höhenpunkt 1 größer sein als der umgebende Höhenpunkt; bei Doppel- und Tiefpunkten muss der Tiefpunkt 1 kleiner sein als der umgebende Tiefpunkt.
Dreiecksformerkennung:
Flaggenform/Dreiecksflaggen-ErkennungDie Analyse der Höhen und Tiefen erlaubt die Identifizierung von Modellen der kontinuierlichen Veränderung.
Transaktionssignal bestätigt:
Risikomanagement:
Systematische FormerkennungStrategie: Durch die Definition einer eindeutigen Bedingungsfunktion wird die automatische Identifizierung mehrerer klassischer Diagrammformen ermöglicht, wodurch die Abweichung von subjektiven Urteilen verringert wird.
SignalbestätigungDie Strategie identifiziert nicht nur die Chartform, sondern benötigt auch die Bestätigung eines Preisbruchs über die kritische Ebene, um das Risiko eines falschen Bruchs zu verringern.
Dynamische RisikomanagementDie ATR-Indikatoren werden verwendet, um dynamische Stop-Loss- und Stop-Stop-Levels einzustellen, um die Risikokontrolle besser an die Veränderungen der Marktvolatilität anzupassen.
Vielfältige AbdeckungDie Strategie beinhaltet mehrere klassische Diagrammformate, um die Handelsmöglichkeiten zu erhöhen und sich an unterschiedliche Marktbedingungen anzupassen.
VisualisierungStrategie: Die Plotshape-Funktion visualisiert die verschiedenen Formen, die die Strategie erkennt, und hilft dem Händler dabei, die Strategie-Logik zu verstehen und zu überprüfen.
Risiko-Rendite sind vernünftigerDie Strategie setzt ein 3-faches ATR als Stop, ein 1,5-faches ATR als Stop-Loss und ein Risiko-Rendite-Verhältnis von 1:2, in Übereinstimmung mit den Prinzipien des effektiven Risikomanagements.
Beschränkte Genauigkeit der FormerkennungDerzeitige Formenerkennungs-Algorithmen sind relativ einfach und können zu Fehleinschätzungen oder Fehlentscheidungen führen, insbesondere in Fällen, in denen der Markt laut ist.
ParameterempfindlichkeitDie ATR-Zyklus-Einstellungen sowie die Multiplikator-Einstellungen für Stop-Loss und Stop-Stop haben einen signifikanten Einfluss auf die Strategie-Performance und müssen für verschiedene Märkte und Zeiträume optimiert werden.
Falsche DurchbruchgefahrTrotz der Bestätigungsmechanismen gibt es immer noch falsche Durchbrüche auf dem Markt, die zu unnötigen Handelsverlusten führen können.
Form wiederholte IdentifikationDie Logik von bestimmten Formenerkennungsfunktionen im aktuellen Code ist ähnlich (z. B. Kopf-Schulter- und Doppelkopf), was dazu führen kann, dass mehrere Signale in derselben Marktlage ausgelöst werden, was die Häufigkeit und Kosten der Transaktionen erhöht.
Mangelnde TrendfilterungDie Strategie berücksichtigt nicht die Richtung der Gesamtmarkttrends und kann bei starken Trends ein Rückschlagsignal erzeugen, was zu einem Gegenhandel führt.
Wie man Risiken vermeiden kann:
Verbesserte Formenerkennung Algorithmen:
Hinzufügen der Transaktionsbestätigung:
Trendfilter:
Optimierung des Risikomanagements:
Filterzeit erhöhen:
Mehrfache Zeitrahmenanalyse:
Diese Optimierungsansätze werden die Robustheit und Effizienz der Strategie erheblich verbessern, weil:
Die Strategie verwendet die ATR-Anzeige für das dynamische Risikomanagement und setzt einen vernünftigen Risiko-Rendite-Verhältnis. Die aktuelle Version der Formenerkennungsalgorithmen ist zwar relativ vereinfacht, bietet jedoch eine gute Grundlage für weitere Optimierungen. Durch die Hinzufügung von Verbesserungen wie Transaktionsmenge, Trendfilter, Optimierung des Risikomanagements und der Analyse mehrerer Zeitrahmen hat die Strategie das Potenzial, ein starkes und robustes Handelssystem zu werden.
/*backtest
start: 2024-02-29 00:00:00
end: 2025-02-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Chart Pattern Strategy - Full Set", overlay=true)
// ATR settings for stop loss and take profit
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)
stopLoss = atrValue * 1.5 // Stop loss 1.5 ATR
takeProfit = atrValue * 3 // Take profit 3 ATR
// Head and Shoulders Detection
isHeadAndShoulders() =>
high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]
// Double Top Detection
isDoubleTop() =>
high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]
// Double Bottom Detection
isDoubleBottom() =>
low[1] < low[2] and low[1] < low[0] and low[1] < low[3] and low[1] < low[4] and low[0] > low[2] and low[0] > low[3]
// Symmetrical Triangle Detection
isSymmetricalTriangle() =>
high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] > low[2]
// Ascending Triangle Detection (Bullish)
isAscendingTriangle() =>
high[2] < high[1] and low[2] > low[1] and high[3] < high[2] and low[3] > low[2]
// Descending Triangle Detection (Bearish)
isDescendingTriangle() =>
high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] < low[2]
// Flags/Pennants Detection
isFlagPattern() =>
high[1] < high[0] and low[1] > low[0] and high[2] < high[1] and low[2] < low[1]
// Entry Logic (Confirmation based on Breakouts)
longSignal = (isHeadAndShoulders() or isDoubleBottom() or isAscendingTriangle()) and close > high[1]
shortSignal = (isDoubleTop() or isDescendingTriangle() or isFlagPattern()) and close < low[1]
// Plotting Chart Patterns on the Chart
plotshape(isHeadAndShoulders(), title="Head and Shoulders", location=location.abovebar, color=color.red, style=shape.labelup, text="HS")
plotshape(isDoubleTop(), title="Double Top", location=location.abovebar, color=color.red, style=shape.labelup, text="DT")
plotshape(isDoubleBottom(), title="Double Bottom", location=location.belowbar, color=color.green, style=shape.labeldown, text="DB")
plotshape(isSymmetricalTriangle(), title="Symmetrical Triangle", location=location.top, color=color.blue, style=shape.triangledown, text="ST")
plotshape(isAscendingTriangle(), title="Ascending Triangle", location=location.belowbar, color=color.green, style=shape.labelup, text="AT")
plotshape(isDescendingTriangle(), title="Descending Triangle", location=location.abovebar, color=color.red, style=shape.labeldown, text="DT")
plotshape(isFlagPattern(), title="Flag Pattern", location=location.abovebar, color=color.orange, style=shape.triangledown, text="Flag")
// Executing Trades based on Patterns
if (longSignal)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=close - stopLoss, limit=close + takeProfit)
if (shortSignal)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=close + stopLoss, limit=close - takeProfit)