Adaptive Moving Average Crossover Trailing Stop Strategie

SMA MA EMA ATR SL TP
Erstellungsdatum: 2024-07-29 14:27:58 zuletzt geändert: 2024-07-29 14:27:58
Kopie: 0 Klicks: 229
1
konzentrieren Sie sich auf
1166
Anhänger

Adaptive Moving Average Crossover Trailing Stop Strategie

Überblick

Die Strategie handelt hauptsächlich auf der Grundlage von Kreuzsignalen aus schnellen und langsamen einfachen Moving Averages (SMA), wobei die Strategie auch anpassungsfähige Tracking-Stopps verwendet, um das Risiko zu verwalten. Die Strategie enthält auch einige erweiterte Funktionen, wie Positionssizing auf Basis von Volatilität und anpassungsfähige Stop-Loss-Levels, um ihre Anpassungsfähigkeit und Robustheit unter verschiedenen Marktbedingungen zu verbessern.

Strategieprinzip

Die Kernlogik der Strategie besteht aus folgenden wichtigen Komponenten:

  1. Moving Average Crossover: Ein einfacher Moving Average (SMA) mit zwei unterschiedlichen Perioden (fast SMA (default 5-Perioden) und slow SMA (default 50-Perioden)): Wenn ein schneller SMA einen schnellen SMA aufwärts durchquert, wird ein Mehrsignal ausgelöst.

  2. Positionssizing: Die Strategie verwendet eine dynamische Positionssizing-Methode, die auf dem Kontosaldo und dem aktuellen Preis basiert. Gleichzeitig wird ein “Vertrauen” -Faktor eingeführt, der den Anteil der eingesetzten Mittel anpasst.

  3. Tracking Stop: Einführung eines prozentualen Tracking Stop-Mechanismus. Der Stop-Loss-Level wird mit steigenden Preisen angehoben, um Gewinne zu sperren und Rücknahmen zu begrenzen.

  4. Anpassungsfähigkeit: Wenn die Option “fancy_tests” aktiviert ist, wird die Strategie mit einem dynamischen Stop-Loss-Prozent auf Basis der Standarddifferenz verwendet, so dass die Stop-Loss-Ebene an die Marktvolatilität angepasst werden kann.

  5. Exit Logik: Die Strategie beruht hauptsächlich auf der Verfolgung von Stop-Loss-Positionen, ohne einen festen Gewinn-Knotenpunkt zu setzen.

Strategische Vorteile

  1. Trends Following: Durch die Verwendung von Moving Average Crossovers kann die Strategie mittelfristige Trends erfassen, was zu erheblichen Erträgen bei starken Trends führt.

  2. Risikomanagement: Ein Stop-Loss-Mechanismus zur Verfolgung von Verlusten hilft, das Abwärtsrisiko zu kontrollieren und die Gewinne frei zu wachsen.

  3. Anpassungsfähigkeit: Die Strategie kann sich besser an unterschiedliche Marktumstände anpassen, indem sie die Stop-Loss-Ebene an die Volatilitätsfaktoren anpasst.

  4. Kapitalmanagement: Dynamisches Positionssizing hilft bei der Erhöhung des Handelsvolumens mit dem Wachstum des Kontos und verringert automatisch die Risikolockage bei Kontrakürzungen.

  5. Flexibilität: Die Strategie bietet mehrere anpassbare Parameter, wie beispielsweise Moving Averages, Stop-Loss-Prozentsätze usw., die der Benutzer für verschiedene Märkte und persönliche Risikopräferenzen optimieren kann.

Strategisches Risiko

  1. Falsche Durchbrüche: Falsche Durchbrüche von Moving Averages können häufig auftreten, was zu mehreren Stop-Loss-Ausgängen führt.

  2. Nachlässigkeit: Der Moving Average ist von Natur aus ein nachlässiger Indikator, der in stark schwankenden Märkten nicht schnell genug reagieren kann.

  3. Übertriebenes Handeln: Wenn die Parameter nicht korrekt eingestellt sind, kann dies zu häufigen Einstiegen und Ausstiegen führen, was die Handelskosten erhöht.

  4. Rücknahme-Risiken: Trotz der Verfolgung von Stop-Losses kann es zu einem größeren Rückzug in einem schnell umkehrenden Markt kommen.

  5. Einer-Weg-Handel: Die Strategie besteht derzeit darin, nur zu viel zu tun und nicht zu kurz zu gehen, was dazu führen kann, dass bei einem Abwärtstrend Gelegenheiten verpasst werden oder Verluste entstehen.

Richtung der Strategieoptimierung

  1. Mehrzeit-Analyse: Einführung längerfristiger Trendbeurteilungsindikatoren, wie beispielsweise Moving Averages mit längeren Perioden, um Falschsignale zu reduzieren.

  2. Eintritt in die Devisenlogik: Erweiterung der Strategie zur Unterstützung des Devisenhandels, um die Vollständigkeit der Strategie und die Gewinnchancen zu verbessern.

  3. Optimierung des Eintrittszeitpunkts: Berücksichtigen Sie die Kombination mit anderen technischen Indikatoren (z. B. RSI, MACD, etc.) um Handelssignale zu filtern und die Eintrittsgenauigkeit zu verbessern.

  4. Dynamische Parameteroptimierung: Implementierung von Anpassungsmechanismen für die Anpassung der Parameter, wie z. B. die Anpassung der Moving Average Cycle auf Basis der dynamischen Marktvolatilität.

  5. Erhöhung der Gewinnschließungsmechanismen: Zusätzlich zur Verfolgung von Stop-Losses können Sie die Gewinnschließungsregeln auf der Grundlage von Technik-Indikatoren oder festen Zielen berücksichtigen.

  6. Verbesserung der Positionsverwaltung: Implementierung von komplexeren Positionssizing-Strategien, wie z. B. auf der Grundlage der Kelly-Richtlinie oder anderer Methoden zur Risikopreparation.

  7. Einführung von Fundamentaldarstellungen: Für den Handel mit Aktien kann die Einführung von Fundamentaldarstellungen als zusätzliche Handelsfilterbedingungen in Betracht gezogen werden.

Zusammenfassen

Die Adaptive Moving Average Cross Tracking Stop Strategie ist eine umfassende Strategie, die mehrere quantitative Trading-Konzepte miteinander verbindet. Sie erfasst Trends durch die Kreuzung von Moving Averages, nutzt die Verfolgung von Stop-Risiken und verbessert die Adaptivität durch die Anpassung von dynamischen Parametern. Obwohl es einige inhärente Risiken und Einschränkungen gibt, hat sie das Potenzial, durch sorgfältige Parameteroptimierung und weitere strategische Verbesserungen zu einem robusten Handelssystem zu werden.

Strategiequellcode
/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_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/
// © chinmay.hundekari

//@version=5
//@version=5
strategy("test", overlay = true)

// Calculate two moving averages with different lengths.
SLMA = input.int(50,"SMA",minval=10,step=1)
FSMA = input.int(5,"SMA",minval=1,step=1)
fancy_tests = input.bool(true,"Enable Fancy Changes")
longLossPerc = input.float(2, title="Trailing Stop Loss (%)",
     minval=0.0, step=0.1) * 0.01
stdMult = input.float(2.0, title="Standard Deviation Multiplier",
     minval=0.0, step=0.01)

float fastMA = ta.sma(close, FSMA)
float slowMA = ta.sma(close, SLMA)
float closMA = ta.sma(close, 25)

confidence = 1.0
if (fancy_tests)
    longLossPerc := stdMult * ta.stdev(ohlc4, 20)/close
balance = strategy.initial_capital + strategy.netprofit
balanceInContracts = balance* confidence/close

// Enter a long position when `fastMA` crosses over `slowMA`.
if ta.crossover(fastMA, slowMA)
    strategy.entry("BUY", strategy.long, qty=balanceInContracts)
//longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
//Trailing Stop loss Code
longStopPrice = 0.0
percLoss = longLossPerc
longStopPrice := if strategy.position_size > 0
    //if (strategy.openprofit_percent/100.0 > longLossPerc)
    //    percLoss := math.min(strategy.openprofit_percent/200.0, longLossPerc)
    stopValue = close * (1 - percLoss)
    math.max(stopValue, longStopPrice[1])
else
    0
if strategy.position_size > 0
    strategy.exit("STP", stop=longStopPrice)
plot(strategy.position_size > 0 ? longStopPrice : na,
     color=color.red, style=plot.style_cross,
     linewidth=2, title="Long Stop Loss")
// Enter a short position when `fastMA` crosses under `slowMA`.
//if ta.crossunder(fastMA, closMA)
//    strategy.close_all("SEL")//strategy.entry("sell", strategy.short)

// Plot the moving averages.
plot(fastMA, "Fast MA", color.aqua)
plot(slowMA, "Slow MA", color.orange)
plot((confidence)*(close), "Confidence", color=color.green, linewidth=2)