Tägliche DCA-Strategie mit Berührung von EMA

Schriftsteller:ChaoZhang, Datum: 2024-01-16 15:30:17
Tags:

img

Übersicht

Diese Pine-Skript-Strategie implementiert einen täglichen Dollar-Kosten-Durchschnittsansatz auf der TradingView-Plattform und enthält EMA-Touchsignale, um Einstiegspunkte zu bestimmen.

Strategie Logik

Die Strategie hat folgende Hauptmerkmale:

  1. Durchschnittswert der täglichen Dollarkosten

    • Festanlagegebühren unabhängig von den Auf- und Abwärtstrends auf dem Markt
    • Langfristige Chargeninvestitionen zur Verringerung des Einzelhandelsrisikos
  2. EMA für Eingangssignale

    • Kaufsignal ausgelöst, wenn der Schlusskurs über die EMA 5, 10, 20 usw. steigt.
    • Die EMA-Linien dienen als Unterstützung, um kurzfristige Rückgänge zu vermeiden.
  3. Dynamischer Stop-Loss

    • Verkaufen Sie alle Positionen, wenn der Schlusskurs unter den 20-Tage-SMA fällt
    • Vermeidung weiterer Verluste
  4. Grenze für die Handelszahl

    • Maximaler Handelsbetrag bei 300, um die Positionsgröße zu steuern
    • Verhindert Überinvestitionen über die Vermögenskapazität hinaus

Insbesondere investiert die Strategie jeden Tag einen festen Betrag und berechnet die zu kaufenden Aktien anhand des Schlusskurses. Wenn der Schlusskurs über einen der 5-, 10-, 20-Tage-EMA usw. geht, wird ein Kaufsignal ausgelöst. Sobald die kumulierte Handelszahl die 300-Grenze erreicht hat, werden keine weiteren Käufe mehr stattfinden. Darüber hinaus werden alle Positionen geklärt, wenn der Preis unter dem 20-Tage-SMA schließt oder das vorgegebene Ausgangsdatum erreicht. Das Skript zeichnet auch die EMAs für die visuelle Analyse auf dem Preisdiagramm ab.

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Diversifizierung der Risiken

    • Kleine tägliche Anlagen mit festem Betrag unabhängig von den Marktentwicklungen
    • Vermeidet das Verfolgen von Höhen
  2. EMA-Kombination verhindert Rückgänge

    • EMA-Kreuzungen verhindern, dass in Pullback-Perioden Käufe stattfinden
    • Weitergehende Einkäufe während Rückgänge diversifizieren das Risiko
  3. Dynamische Stop-Loss-Kontrollen für Verluste

    • Stop-Loss ermöglicht zeitnahe Ausgänge
    • Vermeidet schwere Verluste
  4. Handelsgrenzkontrollen Risiken

    • Maximale Positionsgröße ist voreingestellt, um Überinvestitionen zu vermeiden
    • Investitionen innerhalb der Vermögenskapazität halten
  5. Intuitive EMA-Visualisierung

    • EMAs auf dem Preisdiagramm
    • Ermöglicht eine einfache Überwachung durch den Bediener
  6. Sehr anpassungsfähig

    • Anpassungsinputs für Investitionsbetrag, EMA-Perioden, Stopps usw.
    • Anpassungen aufgrund persönlicher Risikopräferenzen

Risikoanalyse

Die Strategie birgt außerdem einige Risiken:

  1. Systemische Risiken bestehen noch

    • Schwarze Schwäne können zu schweren Verlusten führen.
    • Diversifizierung reduziert nur, aber nicht beseitigt Risiken
  2. Festbetrag der Investition

    • Festanlagegelder könnten bei einem Anstieg der Preise einen Rückschlag erleiden
    • Eine dynamische Anpassung des Betrags könnte helfen
  3. EMAs können nicht auf extreme Bewegungen reagieren

    • EMAs reagieren langsamer auf plötzliche Ereignisse und können Verluste nicht rechtzeitig stoppen
    • In Kombination mit KD kann BOLL helfen, Extreme zu identifizieren
  4. Gewinnepotenzial

    • Höchstgrenze für mögliche Gewinne
    • Notwendigkeit, Risiken und Vorteile im Gleichgewicht zu halten
  5. Ein Stop-Loss-Platz erfordert Sorgfalt

    • Zu nah stehende Haltestellen werden oft zu früh entfernt, während zu locker stehende Haltestellen nicht rechtzeitig geschützt werden.
    • Umfassende Prüfungen sind erforderlich, um die richtige Balance zu finden

Zukünftige Verbesserungen

Weitere Optimierungen:

  1. Dynamischer täglicher Anlagebetrag

    • Basis für tägliche Anlagen auf Indikatoren
    • Anstieg bei Aufschwung, Rückgang bei Abstieg
  2. Zusätzliche Eintrittssignale

    • Ergänzung der EMA durch andere Indikatoren wie KD, BOLL
    • Verbesserung der Identifizierung extremer Bewegungen
  3. Exponentielle gleitende Durchschnitte

    • EMAs reagieren langsam auf plötzliche Ereignisse, DEMA, TEMA können helfen
    • Schnellere Erfassung neuer Trends
  4. Dynamische Positionsgrenze

    • Erhöhung der Grenze auf der Grundlage der Strategieprofitabilität
    • Ermöglicht ein höheres Risiko bei fairen Bewertungen
  5. Nachfolgender Stopverlust

    • Der aktuelle Strategie-Markt verkauft alles, Trailing Stops könnten helfen, Lücken zu vermeiden
    • Reduzieren Sie das Risiko, dass die Haltestellen run werden

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass diese von der EMA kombinierte tägliche DCA-Strategie das Konzept langfristiger periodischer Investitionen umfasst und Risiken über mehrere kleine Einträge im Vergleich zu großen Einmalkäufen verteilt. Die EMAs helfen, kurzfristige Pullback-Risiken bis zu einem gewissen Grad zu vermeiden, während der Stop-Loss den maximalen Verlust kontrolliert. Dennoch müssen Schwarzschwanenrisiken und die Einschränkungen der festen Investitionsgröße beachtet werden. Diese Aspekte liefern zukünftige Verbesserungsrichtungen durch Parameter-Tuning und Indikatorkombinationen für den Aufbau effizienter, aber stabiler Quant-Strategien.


/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000)

// Customizable Parameters
daily_investment = input(50000, title="Daily Investment")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month")
start_day = input(1, title="Start Day")
end_year = input(2023, title="End Year")
end_month = input(12, title="End Month")
end_day = input(1, title="End Day")
trade_count_limit = input(10000, title="Pyramiding Limit")
enable_sell = input(true, title="Enable Sell")

start_date = timestamp(start_year, start_month, start_day)
var int trade_count = 0

// Calculate the number of shares to buy based on the current closing price
shares_to_buy = daily_investment / close

// Check if a new day has started and after the start date
isNewDay = dayofmonth != dayofmonth[1] and time >= start_date

// Buy conditions based on EMA crossovers
ema5_cross_above = crossover(close, ema(close, 5))
ema10_cross_above = crossover(close, ema(close, 10))
ema20_cross_above = crossover(close, ema(close, 20))
ema50_cross_above = crossover(close, ema(close, 50))
ema100_cross_above = crossover(close, ema(close, 100))
ema200_cross_above = crossover(close, ema(close, 200))

if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit
    strategy.entry("Buy", strategy.long, qty=shares_to_buy)
    trade_count := trade_count + 1

// Dynamic sell conditions (optional)
sell_condition =  true

if enable_sell and sell_condition
    strategy.close_all()

// EMA Ribbon for visualization
plot(ema(close, 5), color=color.red, title="EMA 5")
plot(ema(close, 10), color=color.orange, title="EMA 10")
plot(ema(close, 20), color=color.yellow, title="EMA 20")
plot(ema(close, 50), color=color.green, title="EMA 50")
plot(ema(close, 100), color=color.blue, title="EMA 100")
plot(ema(close, 200), color=color.purple, title="EMA 200")


Mehr