
Die Smart Progressive Price Packeted Networkline Dynamic Hedging Strategy ist eine Long-Line-Trading-Strategie, die auf einem Moving Average Packeted Network-Band basiert, bei dem Käufe getätigt werden, wenn der Preis unter dem Packeted-Band fällt, und das Risiko in einer schrittweisen Weise kontrolliert wird. Die Strategie unterstützt bis zu 8 Käufe, eine Abkühlzeit zwischen den Käufen und ein Stop-Loss basierend auf dem durchschnittlichen Einstiegspreis oder ein Stop-Loss basierend auf der Risikokontrolle. Die Strategie beschränkt den Handel auf die letzten 365 Tage bei der Rückmessung, um eine kontrollierbarere Rückmessung zu liefern.
Die Kernidee der Strategie besteht darin, bei einem Preisrückgang zu einem Moving Average zu kaufen, der in der Regel eine kurzfristige Überverkaufszone darstellt, und dann zu profitieren, wenn der Preis zurück in die Oberbahn zurückkehrt, während ein vernünftiger Stop-Loss eingerichtet wird, um das Risiko zu kontrollieren. Die Strategie nutzt die Eigenschaften von Preisschwankungen, um die durchschnittlichen Kosten durch mehrfache Batchkäufe zu senken und eignet sich für die Anwendung in einem hohen Marktumfeld mit hoher Volatilität.
Die Kernprinzipien der Strategie basieren auf folgenden Schlüsselkomponenten:
Moving-Average-Bandbreiten berechnet:
Zulassungsvoraussetzungen:
Spielbedingungen:
Positionsverwaltung:
Trends beurteilen:
Progressive Risikokontrolle: Die Strategie verwendet eine schrittweise Aufstockungsmethode, anstatt alle Positionen auf einmal zu kaufen, um das Einstiegsrisiko effektiv zu verteilen. Durch maximal 8 Aufstockungsmöglichkeiten werden die durchschnittlichen Kosten im Abwärtstrend kontinuierlich gesenkt, was die Wahrscheinlichkeit eines endgültigen Gewinns erhöht.
Automatisierte Ein- und Ausstiegsmechanismen: Die Strategie basiert auf eindeutigen technischen Kennzahlen, die automatisch Eintritts- und Ausstiegspunkte bestimmen, wodurch emotionale Handelsentscheidungen durch subjektive Urteile verringert werden.
Flexible Anpassung der Parameter: Die Strategie bietet eine Vielzahl an anpassbaren Parametern, darunter die Länge der Umschlaglinie, die Abweichungsprozentsätze, die Stop-Loss-Ratio und die Kauf-Cool-Up-Periode, die für verschiedene Marktbedingungen optimiert werden können.
Trends zu erkennen: Die Strategie identifiziert Trends durch die Bestimmung der Richtung der Benchmark und erweitert die Flexibilität und Anpassungsfähigkeit der Strategie, indem sie die Kaufbedingungen in einem Aufwärtstrend angemessen lockert.
Volatilität nutzen: Es ist besonders geeignet für Anwendungen in hochvolatilen Märkten und kann die Preisschwankungen effektiv nutzen, um Gewinne zu erzielen. Je größer die Schwankungen, desto größer ist der potenzielle Ertrag der Strategie.
Trendumkehrrisiko: Bei starkem Abwärtstrend kann der Preis nachhaltig über die Verpackungsbandbreite fallen, was zu Verlusten führt, die nach mehreren Positionserhöhungen noch bestehen. Obwohl ein Stop-Loss-Mechanismus eingerichtet wurde, kann dies in extremen Fällen zu größeren Verlusten führen.
Parameterempfindlichkeit: Die Strategie-Performance hängt stark von der Parameter-Einstellung ab. Unterschiedliche Marktumgebungen können unterschiedliche Kombinationen von Parametern erfordern. Die falsche Parameter-Einstellung kann zu übertriebenen oder verpassten Handelsmöglichkeiten führen.
Finanzierungsbedarf: Da die Strategie maximal acht Käufe zulässt, müssen Sie ausreichend Kapital bereitstellen, um mehrere Aufnahmen zu unterstützen, wenn der Markt weiter fällt, was möglicherweise über die Kapazitäten eines Kleinanlegerkontos hinausgeht.
Risiken der Abkühlphase: Die falsche Einstellung der Abkühlphase kann dazu führen, dass wichtige Kaufchancen verpasst werden oder zu früh zu falschen Zeiten aufgestockt werden.
Einstellung des Risikos: Ein zu hoher Stop-Loss-Prozentsatz kann eine Gewinnchance verpassen; ein zu niedriger kann den potenziellen Gewinnraum einschränken.
Anpassung der Parameter für dynamische Paket-Band: Es kann in Betracht gezogen werden, den Prozentsatz der Verlagerung des Packetbands automatisch an die Marktvolatilität anzupassen, wobei eine geringere Verlagerung in einem niedrig-volatilen Markt und eine größere Verlagerung in einem hoch-volatilen Markt verwendet wird. So kann man besser an unterschiedliche Marktumstände angepasst werden.
Hinzufügen von komplexeren Trendfiltern: Die aktuelle Strategie verwendet eine einfache Basislinie, um Trends zu bestimmen. Es kann in Betracht gezogen werden, kompliziertere Trendindikatoren (wie MACD, ADX usw.) hinzuzufügen, um die Genauigkeit der Trendbestimmung zu verbessern und vorzeitige Käufe in einem starken Abwärtstrend zu vermeiden.
Dynamische Stopp-Loss-Mechanismen: Es ist möglich, den Stop-Loss in einem festen Prozentsatz in einen dynamischen Anpassungsmechanismus zu verwandeln, der auf Marktvolatilität basiert, z. B. die Einstellung eines Stop-Loss-Levels auf der Grundlage des ATR (Average True Range).
Optimierung der Geldverwaltung: Eine dynamische Positionsverteilung ist möglich, anstatt bei jedem Kauf einen festen Betrag einzugeben. Zum Beispiel kann ein kleiner Prozentsatz des Kapitals beim ersten Kauf verwendet werden, um den Kaufbetrag schrittweise zu erhöhen, wenn der Preis weiter sinkt.
Zeitfilter hinzufügen: Erwägen Sie, zeitbasierte Filterbedingungen hinzuzufügen, um zu vermeiden, dass Sie in Zeiten mit geringer Marktaktivität handeln, oder identifizieren Sie die günstigsten Handelszeiten anhand historischer Statistiken.
Die Smart Progressive Pricing Packet Liner Dynamic Hedging Strategy ist eine systematisierte Handelsmethode, die technische Analyse und Risikomanagement kombiniert. Die Strategie identifiziert potenzielle Kaufgelegenheiten über die Moving Average Packet Liner, nutzt die Progressive Hedging, um die Durchschnittskosten zu senken, und setzt eindeutige Stop-Loss-Regeln zur Risikokontrolle.
Die Strategie eignet sich besonders für Anwendungen in sehr volatilen Märkten und ist in der Lage, Preisschwankungen effektiv zu nutzen, um Gewinnchancen zu schaffen. Gleichzeitig gibt es viel Raum für Verbesserungen durch die Optimierung der Parameter und die Hinzufügung zusätzlicher Filter. Die Benutzer müssen jedoch auf die Risiken der Strategie achten, insbesondere auf das Risiko von fortgesetzten Verlusten, die bei starken Abwärtstrends auftreten können.
Insgesamt bietet die Strategie einen systematischen Handelsrahmen, der Elemente des Trend-Trackings und des Gegen-Tradings kombiniert, um emotionale Entscheidungen durch klare Regeln zu reduzieren und dazu beizutragen, disziplinierte Handelsgewohnheiten zu entwickeln.
/*backtest
start: 2024-05-14 00:00:00
end: 2025-05-12 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("SmartScale Envelope DCA",
overlay=true,
pyramiding=8,
default_qty_type=strategy.cash,
default_qty_value=25, // Order size = $25 CAD
initial_capital=200, // Initial capital = $200 CAD
currency=currency.CAD) // Base currency = CAD
// === Inputs
len = input.int(13, title="Envelope Length", minval=1)
percent = input.float(6.6, title="Envelope % Offset", step=0.1) / 100
src = input(close, title="Source")
exponential = input(false)
stopLossPctInput = input.float(15.0, title="Stop Loss %", minval=0.1, step=0.1)
takeProfitPctInput = input.float(5.0, title="Take Profit % from Avg Entry", minval=0.1, step=0.1)
cooldown = input.int(7, title="Candles Between Buys") // moved to bottom
stopLossPct = stopLossPctInput / 100
takeProfitPct = takeProfitPctInput / 100
maxBuys = 8 // Hardcoded max buy-ins
// === Envelope Calculation
basis = exponential ? ta.ema(src, len) : ta.sma(src, len)
upper = basis * (1 + percent)
lower = basis * (1 - percent)
// === Limit Backtest to Last 365 Days
startDate = timestamp("GMT-5", year(timenow), month(timenow), dayofmonth(timenow)) - 365 * 24 * 60 * 60 * 1000
inDateRange = time >= startDate
// === State Tracking
var float avgEntryPrice = na
var float lastBuyPrice = na
var int buyCount = 0
var int lastBuyBar = na
// === Trend Detection
isUptrend = basis > basis[1]
// === Entry Conditions
lowBelowLower = low < lower
cooldownPassed = na(lastBuyBar) or (bar_index - lastBuyBar >= cooldown)
belowAvgEntry = na(avgEntryPrice) or close < avgEntryPrice
lowerThanLastBuy = na(lastBuyPrice) or close < lastBuyPrice
allowBuyIn = (belowAvgEntry and lowerThanLastBuy) or isUptrend
highAboveUpper = high > upper
// === Exit Conditions
sellCondition = not na(avgEntryPrice) and close >= avgEntryPrice * (1 + takeProfitPct)
stopLossTriggered = not na(avgEntryPrice) and close <= avgEntryPrice * (1 - stopLossPct)
// === Buy Logic
if inDateRange and lowBelowLower and cooldownPassed and buyCount < maxBuys and allowBuyIn and (na(lastBuyPrice) or close <= lastBuyPrice)
buyCount += 1
strategy.entry("Buy in " + str.tostring(buyCount), strategy.long)
lastBuyBar := bar_index
lastBuyPrice := close
avgEntryPrice := na(avgEntryPrice) ? close : (avgEntryPrice * (buyCount - 1) + close) / buyCount
// === Sell Logic
if strategy.position_size > 0 and highAboveUpper and sellCondition
strategy.close_all(comment="Take Profit")
avgEntryPrice := na
buyCount := 0
lastBuyBar := na
lastBuyPrice := na
// === Stop Loss Logic
if strategy.position_size > 0 and stopLossTriggered
strategy.close_all(comment="Stop Loss Hit")
avgEntryPrice := na
buyCount := 0
lastBuyBar := na
lastBuyPrice := na
// === Plot Envelope
plot(basis, "Basis", color=color.orange)
u = plot(upper, "Upper", color=color.blue)
l = plot(lower, "Lower", color=color.blue)
fill(u, l, color=color.rgb(33, 150, 243, 95), title="Envelope Background")
// === Plot Avg Entry Price
plot(strategy.position_size > 0 and not na(avgEntryPrice) ? avgEntryPrice : na,
title="Avg Entry Price",
color=color.rgb(173, 195, 226),
linewidth=2,
style=plot.style_line)