
Hierbei handelt es sich um eine quantitative Handelsstrategie, die auf der von deutschen Finanzinstituten weit verbreiteten Markttechnik (MT)-Analysemethode basiert. Diese Strategie kombiniert mehrere Dimensionen wie die Trendverfolgung des gleitenden Durchschnitts (SMA), die Erkennung von Unterstützungs- und Widerstandsniveaus, die Analyse des Umkehr-K-Linien-Musters und das Hinzufügen pyramidenförmiger Positionen, um durch strikte Risikokontrolle einen robusten Handel zu erreichen. Der Kern der Strategie besteht darin, die Richtung der Markttrends durch eine umfassende Beurteilung mehrdimensionaler Signale zu bestimmen und bei der Bildung von Trends durch pyramidenförmige Positionen die Gewinne zu steigern.
Die Strategie verwendet die folgenden Schlüsselkomponenten zum Aufbau eines Handelssystems:
Diese Strategie baut durch mehrdimensionale Signalanalyse und strenge Risikokontrolle ein komplettes Handelssystem auf. Die Kernvorteile der Strategie liegen in der Zuverlässigkeit der Signale und der Kontrollierbarkeit der Risiken, allerdings ist für unterschiedliche Marktumgebungen weiterhin eine Parameteroptimierung erforderlich. Durch die empfohlenen Optimierungsrichtungen sollen die Stabilität und Profitabilität der Strategie weiter verbessert werden. Die Strategie eignet sich für den Einsatz in Märkten mit klaren Trends und ist für Trader, die stabile Renditen anstreben, eine erwägenswerte Option.
/*backtest
start: 2025-01-02 00:00:00
end: 2025-01-09 00:00:00
period: 30m
basePeriod: 30m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=6
strategy("Markttechnik Strategie mit Pyramiding und Drawdown-Limit", overlay=true, pyramiding=2)
// Eingabewerte
lengthSupport = input.int(3, title="Unterstützungs-/Widerstandsfenster", minval=1)
lengthSMA = input.int(10, title="SMA Länge für Trends", minval=1)
riskRewardRatio = input.float(2.0, title="Risk-Reward-Ratio", minval=0.1, step=0.1)
maxDrawdown = input.float(5.0, title="Maximaler Drawdown (%)", minval=0.1, step=0.1)
// Unterstützungs- und Widerstandszonen berechnen
support = ta.lowest(low, lengthSupport)
resistance = ta.highest(high, lengthSupport)
// Trendindikator (SMA-basierter Trend)
sma = ta.sma(close, lengthSMA)
trendUp = close > sma
trendDown = close < sma
// Umkehrstäbe erkennen
isHammer = close > open and (low < open) and ((open - low) > 2 * (close - open))
isShootingStar = open > close and (high > open) and ((high - open) > 2 * (open - close))
// Kauf- und Verkaufssignale
buySignal = isHammer and close > support and trendUp
sellSignal = isShootingStar and close < resistance and trendDown
// Strategiefunktionen: Pyramiding und Drawdown
equityPeak = na(strategy.equity[1]) or strategy.equity > strategy.equity[1] ? strategy.equity : strategy.equity[1] // Höchster Kontostand
drawdown = equityPeak > 0 ? (strategy.equity - equityPeak) / equityPeak * 100 : 0 // Drawdown in Prozent
if buySignal and drawdown > -maxDrawdown
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", "Buy", stop=low - (high - low) * riskRewardRatio, limit=close + (close - low) * riskRewardRatio)
if sellSignal and drawdown > -maxDrawdown
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", stop=high + (high - low) * riskRewardRatio, limit=close - (high - close) * riskRewardRatio)
// Unterstützungs- und Widerstandslinien zeichnen
plot(support, color=color.new(color.green, 80), linewidth=1, title="Unterstützungszone")
plot(resistance, color=color.new(color.red, 80), linewidth=1, title="Widerstandszone")
// Trendlinie (SMA)
plot(sma, color=color.blue, linewidth=2, title="SMA-Trend")
// Umkehrstäbe hervorheben
bgcolor(buySignal ? color.new(color.green, 90) : na, title="Kaufsignal Hintergrund")
bgcolor(sellSignal ? color.new(color.red, 90) : na, title="Verkaufssignal Hintergrund")
// Debugging: Drawdown anzeigen
plot(drawdown, title="Drawdown (%)", color=color.purple, linewidth=2, style=plot.style_line)