Adaptive, trendverfolgende quantitative Handelsstrategie basierend auf KAMA und MACD

KAMA MACD ATR SL TP
Erstellungsdatum: 2025-02-20 10:33:36 zuletzt geändert: 2025-02-20 15:01:37
Kopie: 1 Klicks: 521
2
konzentrieren Sie sich auf
319
Anhänger

Adaptive, trendverfolgende quantitative Handelsstrategie basierend auf KAMA und MACD Adaptive, trendverfolgende quantitative Handelsstrategie basierend auf KAMA und MACD

Überblick

Die Strategie ist ein Trend-Tracking-System, das auf dem Kaufmann Adaptive Moving Average (KAMA) und dem MACD basiert. Es ermöglicht die intelligente Verfolgung von Markttrends und die genaue Erfassung des Handelszeitpunkts durch die Verwendung von KAMA als Hauptindikator für die Trendentscheidung in Verbindung mit dem MACD als Indikator für die Dynamikbestätigung. Die Strategie läuft auf einem 4-Stunden-Zeitrahmen und verwaltet das Risiko mit dynamischen Stop-Loss- und Gewinnzielen.

Strategieprinzip

Die Kernlogik der Strategie basiert auf den folgenden Schlüsselkomponenten:

  1. KAMA-Berechnung: Mit dem 50-Zyklus-KAMA als Haupttrendindikator wird der Smoothing-Faktor durch die Effizienzquote dynamisch angepasst, damit der Moving Average besser an die Marktbedingungen angepasst wird.
  2. MACD-Bestätigung: Die MACD mit der langsameren Einstellung ((26, 52, 18) wird als Trendbestätigungswerkzeug verwendet, um sicherzustellen, dass die Handelsrichtung mit der Gesamtdynamik übereinstimmt.
  3. ATR-Stopp: 3x der 14-Zyklus-ATR als Basis für die Berechnung von dynamischen Stop-Loss- und Gewinnzielen.
  4. Handelsregeln:
    • Mehrfache Konditionen: Der Preis geht über KAMA und der MACD befindet sich im bullischen Zustand
    • Bilanzbedingungen: Preis durchbricht KAMA und MACD ist im Rückstand
    • Risikomanagement: Dynamische Stop-Loss- und Gewinnziele basierend auf ATR

Strategische Vorteile

  1. Anpassungsfähigkeit: KAMA ist in der Lage, die Sensitivität automatisch an die Marktwirksamkeit anzupassen und in verschiedenen Marktumgebungen zu bleiben.
  2. Signalsicherheit: Das Risiko für falsche Durchbrüche wird durch die MACD-Bestätigung deutlich reduziert.
  3. Risikomanagement verbessert: Dynamische Stop-Loss- und Gewinnziele basierend auf Volatilität werden verwendet, um das Risikomanagement anpassungsfähiger zu machen.
  4. Die Optimierung der Parameter ist möglich: Die Schlüsselparameter können an unterschiedliche Markteigenschaften angepasst werden.

Strategisches Risiko

  1. Risiko einer Trendwende: In einem stark schwankenden Markt kann es zu mehr Falschsignalen kommen.
  2. Verzögerungsrisiko: KAMA und MACD haben ein gewisses Verzögerungsrisiko und können die beste Einstiegsmomente verpassen.
  3. Parameter-Sensitivität: Parameter können unter verschiedenen Marktbedingungen angepasst werden, um die Strategie zu erhalten.
  4. Einfluss auf die Transaktionskosten: Häufige Transaktionen können zu höheren Transaktionskosten führen.

Richtung der Strategieoptimierung

  1. Einführung eines Marktfluktuationsfilters, um Strategieparameter in einem hochfluktuativen Umfeld anzupassen oder den Handel auszusetzen.
  2. Erhöhung der Indikatoren für die Analyse von Umsätzen und Verbesserung der Genauigkeit von Trendbeurteilungen.
  3. Optimierung der MACD-Parameter-Einstellungen für den 4-Stunden-Zeitrahmen.
  4. Um ein adaptives Stop-Loss-Multiplikator zu realisieren, wird das ATR-Multiplikator entsprechend der dynamischen Marktschwankungen angepasst.
  5. Ein Zeitfilter wird verwendet, um zu vermeiden, dass Sie in Zeiten mit geringer Marktliquidität handeln.

Zusammenfassen

Es handelt sich um eine Trend-Tracking-Strategie, die die Innovativität der klassischen Technikindikatoren KAMA und MACD kombiniert. Die Strategie hat eine starke Praktikabilität und Stabilität durch die Kombination von Adaptive Moving Averages und Dynamometer-Bestätigungen sowie einem ausgefeilten Risikomanagementsystem. Obwohl ein gewisses Risiko für Rückstand und Parameter-Sensitivität besteht, kann die Stabilität und Profitabilität der Strategie durch die empfohlene Optimierungsrichtung weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mckat

//@version=5
strategy("4-Hour KAMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
ama_length = input.int(50, title="KAMA Length for 4H")
fast_length = input.int(3, title="KAMA Fast Length")
slow_length = input.int(30, title="KAMA Slow Length")
atr_length = input.int(14, title="ATR Length")
atr_mult = input.float(3.0, title="ATR Multiplier for Stop-Loss & Take-Profit")
// === KAMA Calculation ===
var float kama = na
price_change = math.abs(close - close[ama_length])
volatility_sum = 0.0
for i = 0 to ama_length - 1
    volatility_sum := volatility_sum + math.abs(close[i] - close[i + 1])
efficiency_ratio = price_change / volatility_sum
smoothing_constant = math.pow(efficiency_ratio * (2 / (fast_length + 1) - 2 / (slow_length + 1)) + 2 / (slow_length + 1), 2)
kama := na(kama[1]) ? close : kama[1] + smoothing_constant * (close - kama[1])
// Plot KAMA
plot(kama, color=color.blue, title="KAMA (50)")
// === ATR for Stop-Loss and Take-Profit ===
atr = ta.atr(atr_length)
stop_loss = close - atr * atr_mult
take_profit = close + atr * atr_mult
// === MACD for Momentum Confirmation (Slow Settings for 4H) ===
[macd_line, signal_line, _] = ta.macd(close, 26, 52, 18)
macd_bullish = macd_line > signal_line
macd_bearish = macd_line < signal_line
// === Entry and Exit Conditions ===
buy_condition = ta.crossover(close, kama) and macd_bullish
sell_condition = ta.crossunder(close, kama) and macd_bearish
// === Execute Trades ===
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.close("Buy")
// === Dynamic Stop-Loss and Take-Profit ===
strategy.exit("Exit", "Buy", stop=stop_loss, limit=take_profit)
// === Plot Signals ===
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")