
Die Strategie kombiniert Trends mit präzisen Geldmanagement-Techniken, um Risiken durch dynamische Berechnung der Positionsgröße für jeden Handel zu kontrollieren. Die Kernmerkmale der Strategie sind die Verwendung von ATR (Average True Range) zur Bestimmung der Marktvolatilität, die Verwaltung von Handelssignalgruppen in der gleichen Richtung und die Festlegung eines festen 5:1-Risiko-Rendite-Verhältnisses für jede Handelsgruppe.
Die Strategie basiert auf der Trendscheidung der SuperTrend-Indikatoren und kombiniert die fortschrittlichen Technologien des Portfolio-Handels und der dynamischen Positionsverwaltung. Die Hauptprinzipien sind:
Berechnung der SuperTrend-IndikatorenDie Hauptinnovation besteht darin, dass die endgültige Orbitalbandbreite durch die Verwendung von Recursive Smoothing berechnet wird, wodurch die Stabilität und Zuverlässigkeit des Indikators erhöht wird.
Die Logik der TrendbeurteilungDer Trend wird durch den Vergleich des Schlusskurses mit der Beziehung des Endbahnbands der vorherigen Periode bestimmt. Wenn der Schlusskurs den Kurs überschreitet, wird der Trend nach oben gedreht. Wenn er den Kurs überschreitet, wird der Trend nach unten gedreht.
Signalerzeugung: Erzeugt ein Kaufsignal, wenn der Trend von unten nach oben wechselt; Erzeugt ein Verkaufssignal, wenn der Trend von oben nach unten wechselt.
KonzernverwaltungStrategie: Die Strategie fasst die Geschäfte in derselben Richtung in eine Gruppe ein und zeichnet für jede Gruppe einen anfänglichen Stop-Loss-Wert (“SuperTrend-Wert”) auf. Dies ermöglicht es dem System, mehrere relevante Geschäfte zu verwalten und die Kapital-Effizienz zu verbessern.
Dynamische PositionsberechnungNach der Formel:math.floor(strategy.equity * 0.01 / stopDistance)Berechnen Sie die Positionsgröße für jeden Handel und stellen Sie sicher, dass bei jedem Aufschlag nur 1% des Kontos riskiert wird.
Risiko-Rendite-EinstellungenDas System setzt automatisch ein Risiko-Rendite-Verhältnis von 5:1 für jede Gruppe von Geschäften, d.h. das Stop-Loss-Ziel ist fünfmal so groß wie die Stop-Loss-Distanz, was die erwarteten Erträge der Strategie erheblich erhöht.
Intelligente SpielmöglichkeitenEs enthält drei Ausgangskonditionen: Stopp (im SuperTrend-Standpunkt), Stop (in 5-facher Stop-Distanz) und Ausgangskonditionen für eine Trendwende (Verlust, Erreichen des Stop-Ziels oder Bewegung in die Basis).
Diese Strategie hat mehrere bedeutende Vorteile:
Wissenschaftliche RisikokontrollenDurch dynamische Positionsanpassungen wird sichergestellt, dass jeder Handel nur 1% des Gesamtkapitals riskiert und das Abwärtsrisiko für einzelne Geschäfte wirksam kontrolliert.
Erhöhung der TrendspeicherkapazitätDie Gruppe-Trading-Methode erlaubt dem System, mehrmals in denselben Trend einzutreten, um die Gewinne aus anhaltend starken Trends besser zu erfassen.
Optimierte Risiko-Rendite-VerhältnisDie 1:1-Risiko-Rendite-Einstellung ermöglicht den Ertrag von erfolgreichen Transaktionen, die den Verlust von verlustreichen Transaktionen übersteigen, und verbessert die erwarteten Erträge des Systems auf lange Sicht.
Flexible PositionsverwaltungDie Eintrittspositionen werden auf Basis der aktuellen Marktvolatilität und der dynamischen Kontogröße berechnet, um das Risiko-Ungleichgewicht zu vermeiden, das mit festen Positionen verbunden ist.
Intelligente UmkehrverwaltungWenn sich der Trend umkehrt, wählt das System einen intelligenten Ausgang, der auf der aktuellen Verlustsituation basiert, einschließlich des Verlustes, des Gewinns oder des Umzugs in die Sicherungsposition, bevor es in eine neue Richtung geht.
Regressive Glatte SuperTrendDurch die rekursive Berechnung der Endbahn werden falsche Signale reduziert und die Zuverlässigkeit der Trendbeurteilung erhöht.
Voll automatisierte BetriebsweiseAlle Parameter und Bedingungen der Strategie sind klar definiert und eignen sich für vollautomatisierte Transaktionen mit geringem menschlichen Eingriff und emotionalen Einflüssen.
Obwohl die Strategie so gut konzipiert ist, gibt es einige potenzielle Risiken:
Übermäßige RisikenEs wird empfohlen, die Pyramiding-Parameter entsprechend der individuellen Risikobereitschaft zu senken.
Das Risiko einer schnellen UmkehrungEs ist empfehlenswert, die Risikoproportion zu senken oder zusätzliche Volatilitätsfilter zu verwenden, wenn der Markt stark schwankt.
ParameterempfindlichkeitStrategie-Performance: Strategie-Performance ist empfindlich auf ATR-Zyklen und Multiplikatorparameter, wobei verschiedene Parameterkombinationen unter verschiedenen Marktbedingungen deutlich unterschiedlich sind. Eine gründliche Parameteroptimierung und Rückmessung wird empfohlen, um die besten Parameter für einen bestimmten Markt zu finden.
MarktabhängigkeitAls Trend-Tracking-System kann die Strategie häufige Verlustgeschäfte in zwischenstaatlich schwankenden Märkten verursachen. Erwägen Sie, einen Marktumfeldfilter hinzuzufügen und die Strategie nur dann zu aktivieren, wenn ein Trend eindeutig ist.
VermögensverwaltungsrisikenEs wird empfohlen, zusätzliche Gesamtrisikobegrenzungen festzulegen, beispielsweise maximal zulässige Verluste von nicht mehr als 5% der Konten gleichzeitig.
Je nach Strategiegestaltung und potenziellen Risiken können folgende Optimierungsrichtungen in Betracht gezogen werden:
Filter für Trendstärke hinzugefügtIn Kombination mit dem ADX oder ähnlichen Indikatoren, nur dann zu handeln, wenn der Trend stark genug ist, um falsche Signale in den Schaukelmärkten zu reduzieren.adxValue = ta.adx(14)Berechnung und EinstellungstrongTrend = adxValue > 25Als zusätzliche Eintrittsvoraussetzung:
Dynamische Risiko-Rendite-VerhältnisDas Risiko-Rendite-Verhältnis wird automatisch an die Marktvolatilität angepasst, während der niedrigen Volatilität wird ein höheres Rendite-Verhältnis verwendet, während der hohen Volatilität wird ein niedrigeres Rendite-Verhältnis verwendet. Das Verhältnis kann dynamisch angepasst werden, indem man den langfristigen ATR im Verhältnis zum aktuellen ATR berechnet.
Zusätzliche GewinnmechanismenDas Konzept des Segment-Profit-Systems für bestimmte Positionen, z. B. 25% beim Erreichen der Stop-Loss-Distanz von 2x, 25% beim Erreichen der Stop-Loss-Distanz von 3x und 50% bei der Verfolgung des 5-fachen Ziels. Dies erhöht die Gewinnwahrscheinlichkeit.
Optimierung der intelligenten AnlagebedingungenZusätzliche Bedingungen für das Hinzufügen von Positionen neben den Trendsignalen, wie z. B. die Auflage, Positionen erst nach einer bestimmten Trendbewegung zuzulassen, um eine übermäßige Positionierung bei der Preisanpassung zu vermeiden.
Integration von mehreren ZeitrahmenTrendbestätigung für höhere Zeiträume hinzuzufügen, nur dann zu handeln, wenn mehrere Zeiträume übereinstimmen, um die Einstiegsqualität zu verbessern.
Hinzufügen von MaximalöffnungsbeschränkungenEs wird eine Obergrenze für die Gesamtrisikothek des Kontos gesetzt, und sobald die Obergrenze erreicht ist (z. B. 5% des Gesamtrisikos), wird ein neues Eintrittssignal ausgesetzt, bis das Risiko gesenkt ist.
Optimierung der SuperTrend-BerechnungÜberlegen Sie, eine Kombination von SuperTrend-Indikatoren mit mehreren Perioden oder Multiplikatoren zu verwenden, um die Genauigkeit der Trendbeurteilung durch das Abstimmungssystem zu verbessern.
Die SuperTrend-Strategie ist ein hoch entwickeltes Trendverfolgungssystem, das eine perfekte Kombination aus präziser Trenderkennung und wissenschaftlichem Kapitalmanagement bietet. Durch die Berechnung von dynamischen Positionen, die Verwaltung von Split-Tranches und die optimierte 5: 1-Risikorendite maximiert die Strategie die Fähigkeit, Trends zu erfassen, während sie das Risiko kontrolliert.
Die Kernvorteile der Strategie liegen in ihrem intelligenten Geldmanagementsystem, das sicherstellt, dass bei jedem Einstieg nur ein fester Anteil an Risiko eingegangen wird, während bei starken Trends mehrere Hochpositionen erlaubt werden, um die Gewinne zu steigern. Die optimierte Berechnung der SuperTrend-Indikatoren erhöht die Zuverlässigkeit der Trendbeurteilung, während ein diversifizierter Ausstiegsmechanismus einen effektiven Schutz der Gewinne gewährleistet.
Trotz einiger potenzieller Risiken wie möglicher Überlagerung und Abhängigkeit von Trendmärkten können diese Risiken durch empfohlene Optimierungsmaßnahmen wie das Hinzufügen von Trendstärkenfiltern, die dynamische Anpassung des Risiko-Rendite-Verhältnisses und das Setzen von Höchstöffnungsgrenzen wirksam gemanagt werden.
Für Trader, die eine wissenschaftliche, systematische Methode zur Trendverfolgung suchen, bietet die Strategie einen soliden Rahmen, der sowohl direkt angewendet werden kann als auch als Grundlage für eine weitere Individualisierung dient. Durch die sorgfältige Auswahl der Parameter und die kontinuierliche Überwachung der Strategie hat das System das Potenzial, eine stabile langfristige Leistung in verschiedenen Marktumgebungen zu erzielen.
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Grouped SuperTrend Strategy 5x – All Signals", overlay=true, initial_capital=100000, default_qty_type=strategy.fixed, default_qty_value=0, pyramiding=500, calc_on_order_fills=true)
// INPUTS
atrPeriod = input.int(10, title="ATR Period")
atrMultiplier = input.float(3.0, title="ATR Multiplier")
// CALCULATE ATR & BASIC BANDS
atrValue = ta.atr(atrPeriod)
hl2 = (high + low) / 2
upperBasic = hl2 + atrMultiplier * atrValue
lowerBasic = hl2 - atrMultiplier * atrValue
// CALCULATE FINAL BANDS (recursive smoothing)
var float finalUpperBand = na
var float finalLowerBand = na
finalUpperBand := na(finalUpperBand[1]) ? upperBasic : (upperBasic < finalUpperBand[1] or close[1] > finalUpperBand[1] ? upperBasic : finalUpperBand[1])
finalLowerBand := na(finalLowerBand[1]) ? lowerBasic : (lowerBasic > finalLowerBand[1] or close[1] < finalLowerBand[1] ? lowerBasic : finalLowerBand[1])
// DETERMINE TREND
var int trend = 1
trend := nz(trend[1], 1)
if close > finalUpperBand[1]
trend := 1
else if close < finalLowerBand[1]
trend := -1
else
trend := nz(trend[1], 1)
// SUPER TREND VALUE: For an uptrend use finalLowerBand, for a downtrend use finalUpperBand.
superTrend = trend == 1 ? finalLowerBand : finalUpperBand
// SIGNALS: A change in trend generates a signal.
buySignal = (trend == 1 and nz(trend[1], 1) == -1)
sellSignal = (trend == -1 and nz(trend[1], 1) == 1)
// Plot SuperTrend
plot(superTrend, color = trend == 1 ? color.green : color.red, title="SuperTrend")
// POSITION SIZING FUNCTION: Risk 1% of equity per signal based on the stop distance.
calc_qty(stopDistance) =>
stopDistance > 0 ? math.floor(strategy.equity * 0.01 / stopDistance) : 0
// ─── GROUPING VARIABLES ─────────────────────────────
// When a new group trade is initiated (position goes from flat to non‑zero),
// record the SuperTrend value as the group’s initial stop.
var float groupInitialStop = na
if strategy.position_size == 0
groupInitialStop := na
if strategy.position_size != 0 and strategy.position_size[1] == 0
groupInitialStop := superTrend
// Declare groupStopDistance and groupProfitTarget with explicit type.
var float groupStopDistance = na
var float groupProfitTarget = na
if strategy.position_size > 0
groupStopDistance := strategy.position_avg_price - groupInitialStop
groupProfitTarget := strategy.position_avg_price + 5 * groupStopDistance
else if strategy.position_size < 0
groupStopDistance := groupInitialStop - strategy.position_avg_price
groupProfitTarget := strategy.position_avg_price - 5 * groupStopDistance
// ─── ENTRY LOGIC ─────────────────────────────
// Every SuperTrend signal is taken.
// For same‑direction signals (or when flat), add to the group.
// For reversal signals, exit the existing group per our conditions and then enter the new direction.
// LONG ENTRIES
if buySignal
// Reversal: if currently short, exit short first.
if strategy.position_size < 0
// For shorts, a loss is when close > avg entry.
if close > strategy.position_avg_price
strategy.close("Short", comment="Short Reversal Loss Exit")
// For shorts, profit when price is below the profit target.
else if close <= groupProfitTarget
strategy.close("Short", comment="Short Reversal Profit Target Exit")
else
// Otherwise, update exit to break-even.
strategy.exit("Short_BE", from_entry="Short", stop=strategy.position_avg_price, comment="Short BE Trailing")
// Enter new long trade.
stopDist = close - superTrend
qty = calc_qty(stopDist)
if qty > 0
strategy.entry("Long", strategy.long, qty=qty, comment="Long Entry on Reversal")
// Reset group initial stop for new group.
groupInitialStop := superTrend
else
// Flat or already long – add to the long group.
stopDist = close - superTrend
qty = calc_qty(stopDist)
if qty > 0
strategy.entry("Long", strategy.long, qty=qty, comment="Long Add Entry")
// SHORT ENTRIES
if sellSignal
if strategy.position_size > 0
// Reversal: if currently long, exit long first.
if close < strategy.position_avg_price
strategy.close("Long", comment="Long Reversal Loss Exit")
else if close >= groupProfitTarget
strategy.close("Long", comment="Long Reversal Profit Target Exit")
else
strategy.exit("Long_BE", from_entry="Long", stop=strategy.position_avg_price, comment="Long BE Trailing")
// Enter new short trade.
stopDist = superTrend - close
qty = calc_qty(stopDist)
if qty > 0
strategy.entry("Short", strategy.short, qty=qty, comment="Short Entry on Reversal")
groupInitialStop := superTrend
else
// Flat or already short – add to the short group.
stopDist = superTrend - close
qty = calc_qty(stopDist)
if qty > 0
strategy.entry("Short", strategy.short, qty=qty, comment="Short Add Entry")
// ─── EXIT ORDERS ─────────────────────────────
// Set default aggregated exit orders based on the group’s initial stop and profit target.
if strategy.position_size > 0
strategy.exit("LongExit", from_entry="Long", stop=groupInitialStop, limit=groupProfitTarget)
if strategy.position_size < 0
strategy.exit("ShortExit", from_entry="Short", stop=groupInitialStop, limit=groupProfitTarget)