Diese Strategie ist ein trendfolgende Handelssystem, das den Supertrend-Indikator mit dem Kaufman Adaptive Moving Average (KAMA) kombiniert. Es identifiziert dynamisch Markttrendveränderungen, sucht lange Chancen in Aufwärtstrends und verwendet flexible Stop-Loss-Mechanismen zur Risikokontrolle. Das Kernkonzept beruht auf der Fähigkeit des Supertrend-Indikators, die Trendrichtung zu bestimmen, kombiniert mit den marktvolatilitätsadaptiven Eigenschaften von KAMA, um Long-Positionen in Aufwärtstrends zu etablieren.
Die Strategie verwendet ein duales technisches Indikator-Bestätigungssystem. Erstens berechnet der Supertrend-Indikator die Trendrichtung mithilfe von ATR und benutzerdefinierten Koeffizienten und zeigt einen Aufwärtstrend an, wenn die Indikatorlinie unterhalb des Preises liegt. Zweitens passt der KAMA-Indikator die gleitende Durchschnittsempfindlichkeit durch einen anpassungsfähigen Mechanismus an, der sich besser an unterschiedliche Marktbedingungen anpasst. Eintrittssignale erfordern zwei gleichzeitige Bedingungen: Supertrend, der einen Aufwärtstrend anzeigt, und Preis über der KAMA-Linie. Ähnlich benötigen Ausstiegssignale eine doppelte Bestätigung: Supertrend, der auf einen Abwärtstrend wechselt, und Preis, der unter die KAMA-Linie fällt. Dieser doppelte Bestätigungsmechanismus reduziert effektiv falsche Signale.
Diese Strategie baut durch die Kombination von Supertrend und KAMA-Technischen Indikatoren ein robustes Trend-Folge-Handelssystem auf. Seine Hauptvorteile liegen in der Anpassungsfähigkeit und Risikokontrolle, mit einer verbesserten Handelssignalzuverlässigkeit durch Doppelbestätigung. Während die Strategie mit Herausforderungen in unruhigen Märkten konfrontiert ist, kann die Gesamtleistung der Strategie durch geeignete Parameter-Einstellungen und Optimierungseinsätze weiter verbessert werden. Sie eignet sich besonders für den mittelfristigen bis langfristigen Trendhandel und ist in Märkten mit klaren Trends gut geeignet.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("Supertrend + KAMA Long Strategy", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3) // User-defined inputs for date range startDate = input(timestamp("2018-01-01 00:00:00"), title="Start Date") endDate = input(timestamp("2069-12-31 23:59:59"), title="End Date") inDateRange = true // Inputs for KAMA and Supertrend kamaLength = input.int(21, title="KAMA Length", minval=1) atrPeriod = input.int(10, title="Supertrend ATR Length", minval=1) factor = input.float(3.0, title="Supertrend Factor", minval=0.01, step=0.01) //------------------------- Kaufman Moving Average Adaptive (KAMA) ------------------------- xPrice = close xvnoise = math.abs(xPrice - xPrice[1]) Length = kamaLength nfastend = 0.666 nslowend = 0.0645 nsignal = math.abs(xPrice - xPrice[Length]) float nnoise = 0.0 for i = 0 to Length - 1 nnoise := nnoise + xvnoise[i] nefratio = nnoise != 0.0 ? nsignal / nnoise : 0.0 nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2) var float nAMA = na nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1])) plot(nAMA, color=color.blue, linewidth=2, title="Kaufman KAMA") //------------------------- Supertrend Calculation ------------------------- [stValue, dirValue] = ta.supertrend(factor, atrPeriod) upTrend = dirValue < 0 downTrend = dirValue >= 0 plot(dirValue < 0 ? stValue : na, "Up Trend", color=color.green, style=plot.style_linebr) plot(dirValue >= 0 ? stValue : na, "Down Trend", color=color.red, style=plot.style_linebr) //------------------------- Strategy Logic ------------------------- // Entry condition: Supertrend is in uptrend AND price is above KAMA canLong = inDateRange and upTrend and close > nAMA // Exit condition (Take Profit): Supertrend switches to downtrend AND price is below KAMA stopLoss = inDateRange and downTrend and close < nAMA if canLong strategy.entry("Long", strategy.long) label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white, style=label.style_label_down, size=size.normal) if stopLoss strategy.close("Long", comment="Stop Loss") label.new(bar_index, high, "STOP LOSS", color=color.red, textcolor=color.white, style=label.style_label_up, size=size.normal) //------------------------- Alerts ------------------------- alertcondition(canLong, title="Long Entry", message="Supertrend + KAMA Long Signal") alertcondition(stopLoss, title="Stop Loss", message="Supertrend switched to Downtrend and Price below KAMA")