
Die High-Level-Retracing-Trading-Triangle-Breakthrough- und Quantity-Confirmation-Strategie ist eine quantitative Trading-Methode, die die technische Formerkennung, die Bestätigung des Handelsvolumens und das dynamische Risikomanagement kombiniert. Die Strategie wurde für die 1-Stunden-Chart-Optimierung entwickelt und bietet zwei unabhängige Einstiegs-Einstellungen, die auf den Triangle-Breakthrough- und Quantity-Confirmation-Prinzipien basieren. Die Kernidee der Strategie ist es, High-Probability-Breakthrough-Möglichkeiten zu erfassen und gleichzeitig die Risiken durch dynamische Verfolgung von Stop-Losses effektiv zu verwalten.
Die Strategie arbeitet mit zwei wichtigen Einstiegsbereichen und einem gut konzipierten Ausstiegsmechanismus:
Eintritts-Einstellung 1 - Durchbruch des Goldenen Dreiecks:
Eintritts-Einstellung 2 - Preise und Transaktionsvolumen bestätigen:
Exit-Strategie - dynamische Verfolgung von Stop-Losses:
Bei der Codeimplementierung verwendet die Strategie eine vereinfachte Drehscheibe zur Identifizierung von Dreieckformationen und bestätigt die Kursentwicklung durch den Vergleich des aktuellen Preises mit dem SMA. Für die Transaktionsmengenbestätigung überprüft die Strategie, ob der Transaktionsvolumen höher ist als der Moving Average und der Transaktionsvolumen der letzten Zyklen.
Doppelte ZulassungDurch die Bereitstellung von zwei unabhängigen Einstiegs-Sets ist die Strategie in der Lage, sich an unterschiedliche Marktumgebungen anzupassen, um die Möglichkeit zu erhöhen, günstige Handelschancen zu erfassen. Einstellung 1 kann einen Durchbruch erfassen, wenn sich der Markt in einer offensichtlichen Integrationsphase befindet.
Risikomanagement-IntegrationDie integrierte dynamische Verfolgung von Stop-Loss-Mechanismen passt sich automatisch an Marktbewegungen an und ermöglicht Gewinnwachstum, während das Kapital geschützt wird. Besonders die Funktion, die Stop-Loss-Methode automatisch zu verschärfen, wenn die Gewinne die vorgegebene Schwelle erreichen, gleicht effektiv den Widerspruch zwischen Gewinnschließung und Gewinnflucht aus.
Gefälschte DurchbrücheDie Strategie reduziert die Gefahr von Falschbrüchen durch die Kombination von SMA-Filterung und Volumenbestätigung. Der Preis muss nicht nur die Form brechen, sondern auch über dem SMA bleiben, und für die Einstellung 2 ist eine signifikante Volumenunterstützung erforderlich, was die Signalqualität erheblich verbessert.
Visuelle HilfsmittelStrategie: Die Strategie bietet eine Fülle von visuellen Indikatoren, einschließlich Hintergrundfarbe während des Handels, Live-Arbeitstafel und verschiedene Graphik-Elemente, die es dem Händler ermöglichen, den Status und die Signale der Strategie zu überwachen.
Optimierung eines flexiblen ZeitrahmensObwohl die Strategie speziell für den 1-Stunden-Chart optimiert ist, können ihre Parameter an unterschiedliche Zeitrahmen angepasst werden, was den Anwendungsbereich der Strategie erhöht.
Abhängigkeit von MarktbedingungenDie Strategie funktioniert am besten in einem horizontalen bis bullish Markt und kann in einem starken Abwärtstrend oder einem hochflüchtigen Markt schlechter funktionieren. In einem Bärenmarkt-Umfeld erhöht sich das Risiko für einen falschen Durchbruch, was zu einem anhaltenden Verlust führen kann.
Ausrutschpunkte und AusführungsrisikenIm realen Handel, insbesondere in Märkten mit geringer Liquidität, können Einstiegs- und Stop-Loss-Punkte Schwankungen erfahren, die sich auf die Gesamtperformance der Strategie auswirken. Um dieses Risiko zu verringern, kann die Verwendung von Limit-Listing anstelle von Marktpreis-Listing in Betracht gezogen werden.
Herausforderungen bei der Optimierung von ParameternDie Strategie ist von mehreren Parametern abhängig (SMA-Länge, Stop-Loss-Prozentsatz usw.), die für bestimmte Märkte und Zeitrahmen optimiert werden müssen. Die falsche Parameter-Einstellung kann zu einer Überfitting oder schlechten Leistung führen.
ÜberhändlerrisikenUnter bestimmten Marktbedingungen können Strategien zu viele Signale erzeugen, was zu Überhandelungen und erhöhten Handelskosten führt. Die Implementierung zusätzlicher Filter oder Abkühlungsperioden kann helfen, dieses Risiko zu verringern.
Optimierung der Stop-Loss-BalanceObwohl ein dynamischer Stop-Loss-Mechanismus der Vorteil dieser Strategie ist, kann ein zu enges Stop-Loss-Setting zu einem vorzeitigen Ausstieg aus einem profitablen Handel führen, während ein zu breites Stop-Loss-Setting zu einem Gewinnrückschlag führen kann. Die Stop-Loss-Parameter müssen sorgfältig an die Volatilität eines bestimmten Marktes angepasst werden.
Trendfilter hinzufügenDie Integration von breiteren Trendindikatoren (z. B. längerfristige Moving Averages oder ADX) kann der Strategie helfen, nur in einer günstigen Marktrichtung zu handeln. Zum Beispiel können Bedingungen hinzugefügt werden, die einen Push nur erlauben, wenn der langfristige SMA (z. B. der 200-Zyklus) nach oben geneigt ist.
Optimierung der Transaktionsvolumen-BestätigungslogikDerzeit ist die Bestätigung von Handelsvolumen höher als in den vier vorherigen Zyklen, was je nach Marktbedingungen zu streng oder unzureichend sein kann. Die Anpassung des Handelsvolumen-Thawings kann die Wirksamkeit von Setup 2 verbessern, indem sie sich an die dynamische Volatilität des Marktes anpasst.
Integration des ZeitfiltersEs ist möglich, dass die Gesamtperformance verbessert wird, wenn ein Zeitfilter hinzugefügt wird, um den Handel in ungünstigen Zeiten (wie z. B. in den hochflüchtigen Zeiten vor dem Markteintritt oder -schluss) zu vermeiden.
Ein Teil der Gewinne wird gesperrtDie aktuelle Ausstiegsstrategie ist binär: Halt alles oder alles aus. Durch die Implementierung eines Schritt-aus-Systems, bei dem die Größe der Positionen nach und nach reduziert wird, während die Gewinne steigen, können Sie einen Teil der Gewinne sperren, während Sie einiges an Aufwärtspotenzial behalten.
Hinzufügen von VermögensbestätigungenIn einigen Märkten kann die Bestätigung der relevanten Vermögenswerte die Signalqualität verbessern. Zum Beispiel kann die Stärke eines Sektors oder einer Branche in den Aktienhandelsgeschäften als zusätzlicher Filter dienen. Im Devisenhandel kann das Verhalten der relevanten Währungspaare zusätzliche Bestätigung bieten.
Integration von MarktschwankungenDie dynamische Anpassung des Stop-Limit auf Basis von Marktvolatilität (z. B. ATR oder historische Volatilität) kann die Strategie besser an unterschiedliche Marktbedingungen anpassen. In einem niedrig volatilen Umfeld werden engere Stopps und in einem hoch volatilen Umfeld breitere Stopps verwendet.
Die High-Level-Retreat-Trading-Triangle-Breakthrough-und-Quantität-Bestätigung-Strategie bietet eine umfassende Trading-Methode, kombiniert mit Technik-Form-Erkennung, Dynamik-Prinzipien und Trading-Quantität-Analyse. Durch die Bereitstellung von zwei komplementären Einstiegs-Einstellungen bleibt die Strategie unter verschiedenen Marktbedingungen flexibel, während ihre dynamische Tracking-Stop-Mechanismen eine optimierte Risikomanagement bietet.
Die wichtigsten Vorteile der Strategie liegen in ihren vielfältigen Einstiegsstandards und integrierten Risikomanagement, die sie für verschiedene Handelsstile von Inner-Tages- bis kurzfristiger Bandbreite geeignet machen. Die Herausforderungen der Marktbedingungen und der Parameteroptimierung sind jedoch die wichtigsten Risiken, die zu beachten sind.
Trader können die Strategie-Performance weiter verbessern, indem sie einen Trendfilter hinzufügen, die Bestätigungslogik des Handelsvolumens optimieren oder eine Volatilitätsanpassung implementieren. Letztendlich bietet die Strategie einen soliden Rahmen, der an die persönlichen Risikopräferenzen und die Merkmale des Marktes angepasst werden kann, was sie zu einem wertvollen Werkzeug für Trader macht, die eine technologiegetriebene, risikokontrollierte Handelsmethode suchen.
/*backtest
start: 2024-06-03 00:00:00
end: 2025-06-02 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © eemani123
//@version=5
strategy("Golden Triangle Strategy (1H, Setup 1 & 2)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs ===
smaLength = input.int(34, title="SMA Length (1H Optimized)", minval=1)
volumeSmaLength = input.int(34, title="Volume SMA Length", minval=1)
trailingStopPct = input.float(6.0, title="Initial Trailing Stop Loss (%)", minval=0.1)
tightenPct = input.float(5.0, title="Tightened TSL (%)", minval=0.1)
profitTrigger = input.float(10.0, title="Tighten TSL After Profit (%)", minval=1)
maxLookback = input.int(10, title="Max Lookback Bars for Setup 2", minval=1)
pivotStrength = input.int(2, title="Pivot Strength (Shorter for 1H)", minval=1)
// === SMA Calculations ===
smaPrice = ta.sma(close, smaLength)
smaVolume = ta.sma(volume, volumeSmaLength)
// === Setup 1: Golden Triangle (simplified with pivots) ===
pivotHigh = ta.pivothigh(high, pivotStrength, pivotStrength)
pivotLow = ta.pivotlow(low, pivotStrength, pivotStrength)
var float triangleTop = na
var float triangleBottom = na
if not na(pivotHigh)
triangleTop := pivotHigh
if not na(pivotLow)
triangleBottom := pivotLow
triangleBreakout = ta.crossover(close, triangleTop) and close > smaPrice
enterSetup1 = triangleBreakout
// === Setup 2: Price & Volume Confirmation ===
priceBelowSMA = ta.barssince(close < smaPrice) <= maxLookback
priceConfirm = close > smaPrice and close > close[1]
volumeConfirm = volume > smaVolume and volume > volume[1] and volume > volume[2] and volume > volume[3] and volume > volume[4]
enterSetup2 = priceConfirm and priceBelowSMA and volumeConfirm
// === Entry & TSL Tracking ===
var bool inTradeSetup1 = false
var bool inTradeSetup2 = false
var float entryPrice1 = na
var float entryPrice2 = na
var float highestSinceEntry1 = na
var float highestSinceEntry2 = na
var float trailingStop1 = na
var float trailingStop2 = na
// === Entry Conditions ===
if enterSetup1 and not inTradeSetup1
strategy.entry("Buy Setup 1", strategy.long)
entryPrice1 := close
highestSinceEntry1 := close
inTradeSetup1 := true
if enterSetup2 and not inTradeSetup2
strategy.entry("Buy Setup 2", strategy.long)
entryPrice2 := close
highestSinceEntry2 := close
inTradeSetup2 := true
// === Update Trailing Stops with Tightening ===
if inTradeSetup1
highestSinceEntry1 := math.max(highestSinceEntry1, high)
profit1 = (highestSinceEntry1 - entryPrice1) / entryPrice1 * 100
activePct1 = profit1 >= profitTrigger ? tightenPct : trailingStopPct
trailingStop1 := highestSinceEntry1 * (1 - activePct1 / 100)
if inTradeSetup2
highestSinceEntry2 := math.max(highestSinceEntry2, high)
profit2 = (highestSinceEntry2 - entryPrice2) / entryPrice2 * 100
activePct2 = profit2 >= profitTrigger ? tightenPct : trailingStopPct
trailingStop2 := highestSinceEntry2 * (1 - activePct2 / 100)
// === Exit Conditions ===
if inTradeSetup1 and close < trailingStop1
strategy.close("Buy Setup 1", comment="TSL Hit - Setup 1")
inTradeSetup1 := false
entryPrice1 := na
highestSinceEntry1 := na
trailingStop1 := na
if inTradeSetup2 and close < trailingStop2
strategy.close("Buy Setup 2", comment="TSL Hit - Setup 2")
inTradeSetup2 := false
entryPrice2 := na
highestSinceEntry2 := na
trailingStop2 := na
// === Plotting ===
plot(smaPrice, color=color.orange, title="SMA")
//plot(triangleTop, title="Triangle Top", color=color.red, style=plot.style_linebr, linewidth=2)
//plot(triangleBottom, title="Triangle Bottom", color=color.green, style=plot.style_linebr, linewidth=2)
plot(inTradeSetup1 ? trailingStop1 : na, color=color.red, title="Trailing Stop - Setup 1", linewidth=2,style=plot.style_linebr)
plot(inTradeSetup2 ? trailingStop2 : na, color=color.blue, title="Trailing Stop - Setup 2", linewidth=2,style=plot.style_linebr)
plotshape(enterSetup1, title="Triangle Breakout Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(enterSetup2, title="Volume Confirmed Entry", location=location.belowbar, color=color.blue, style=shape.circle, size=size.small)
// === Alerts ===
alertcondition(enterSetup1, title="Setup 1 Buy", message="Golden Triangle Breakout (Setup 1) - BUY")
alertcondition(enterSetup2, title="Setup 2 Buy", message="Volume + Price Confirmation (Setup 2) - BUY")
// === Background highlight during trades ===
bgcolor(inTradeSetup1 or inTradeSetup2 ? color.new(color.green, 85) : na, title="In-Trade Highlight")
// === Weekly Fibonacci Pivot Levels (R3 / S3) ===
weeklyHigh = request.security(syminfo.tickerid, "W", high)
weeklyLow = request.security(syminfo.tickerid, "W", low)
weeklyClose = request.security(syminfo.tickerid, "W", close)
weeklyPivot = (weeklyHigh + weeklyLow + weeklyClose) / 3
weeklyRange = weeklyHigh - weeklyLow
fibR3 = weeklyPivot + 1.000 * weeklyRange
fibS3 = weeklyPivot - 1.000 * weeklyRange
// === Plot R3 and S3 ===
plot(fibR3, title="Weekly Fib R3", color=color.fuchsia, linewidth=2, style=plot.style_circles)
plot(fibS3, title="Weekly Fib S3", color=color.teal, linewidth=2, style=plot.style_circles)
// === Weekly Fibonacci Pivot Levels (R3 / S3) ===