Multi-Time-Frame-Trendfolgestrategie mit 200EMA-Filter - Nur Long

EMA
Erstellungsdatum: 2024-05-23 18:07:50 zuletzt geändert: 2024-05-23 18:07:50
Kopie: 3 Klicks: 826
1
konzentrieren Sie sich auf
1617
Anhänger

Multi-Time-Frame-Trendfolgestrategie mit 200EMA-Filter - Nur Long

Überblick

Die Strategie basiert auf einem Trend-Tracking-Strategie, basierend auf mehreren Zeitrahmen Index Moving Averages (EMA) und 200-Termine EMA-Filter. Die Hauptidee ist es, die EMAs der verschiedenen Zeitrahmen zu nutzen, um die Richtung der Markttrends zu erkennen und eine Position zu erstellen, wenn der Trend nach oben ist und der Preis über die 200-Termine EMAs liegt. So kann sichergestellt werden, dass nur in einem starken Aufwärtstrend gehandelt wird, um eine anhaltende Aufwärtsbewegung zu erfassen und gleichzeitig die Stop-Loss- und Stop-Stop-Mechanismen zu nutzen, um das Risiko zu kontrollieren.

Die Strategie verwendet drei Zeiträume von 5 Minuten, 15 Minuten und 30 Minuten, um die schnellen EMAs und die langsamen EMAs zu berechnen. Durch den Vergleich der schnellen EMAs und der langsamen EMAs in jedem Zeitrahmen kann die Trendrichtung des Zeitrahmens beurteilt werden. Die Trendsignale der drei Zeitrahmen werden dann addiert, um ein zusammengesetztes Trendsignal zu erhalten.

Strategieprinzip

  1. Die schnellen EMAs (Standard 9) und die langsamen EMAs (Standard 21) werden jeweils für die Zeiträume 5, 15 und 30 Minuten berechnet.
  2. 200-periodische EMAs auf einem 5-Minuten-Zeitrahmen als Trendfilter berechnet.
  3. Vergleichen Sie die Größe der schnellen EMA und der langsamen EMA für jeden Zeitrahmen, wobei die schnellen als Aufwärtstrend ((+1) und die langsamen als Abwärtstrend ((-1)) gelten.
  4. Wenn man die Trendsignale der drei Zeitrahmen zusammenzählt, erhält man eine Spanne von[-3, 3] ist ein synthetisches Trendsignal.
  5. Wenn das Kompletttrendsignal 3 (stark nach oben) entspricht und der aktuelle Schlusskurs über der 5-minütigen 200-EMA liegt, wird eine Position aufgenommen.
  6. Wenn das Kompletttrendsignal kleiner als 3 (der Aufwärtstrend wird schwächer) oder wenn der Preis unter die 5-minütige 200-Minutten-EMA fällt, wird eine Pause eingeleitet.
  7. Der Stop-Loss ist 1% unter dem Kurs der Position und der Stop-Loss 3% über dem Kurs der Position.

Analyse der Stärken

  1. Die Nutzung von Trendsignalen über mehrere Zeitrahmen ermöglicht eine umfassendere Beurteilung der Markttrends und reduziert Falschsignale.
  2. Der 200-Tage-EMA-Filter sorgt dafür, dass nur bei starken Aufwärtstrends gehandelt wird, was die Erfolgsrate erhöht.
  3. Strenge Aufnahmebedingungen und Stop-Loss-Stopps helfen bei der Risikokontrolle und erhöhen die Risiko-Gewinn-Rate.
  4. Die Parameter sind anpassbar für verschiedene Märkte und Handelsstile.

Risikoanalyse

  1. Bei einem Trendwechsel kann die Reaktion langsam sein und die optimale Zeit für die Positionierung verpasst werden.
  2. Häufige Negativpositionen können die Kosten für den Handel erhöhen.
  3. Die Stop-Loss-Position ist festgelegt und kann bei starker Volatilität vorzeitig eingestellt werden.
  4. Trends werden auf der Grundlage historischer Daten beurteilt, und es ist möglich, dass die Reaktion auf die Preisschwankungen, die durch unvorhergesehene Ereignisse verursacht werden, nicht rechtzeitig erfolgt.

Optimierungsrichtung

  1. Einführung von mehr Zeitfenstern oder Optimierung von vorhandenen Zeitfenstern, um die Genauigkeit und Aktualität von Trendbeurteilungen zu verbessern.
  2. Optimierung der Stop-Loss- und Stop-Stop-Positionen, z. B. Einführung von Tracking-Stops oder dynamischen Stops, um sich an unterschiedliche Marktbedingungen anzupassen.
  3. Außer den Trendsignalen werden andere Signale wie die Anzahl der Geschäfte, die Dynamik usw. eingeführt, um mehrere Faktoren zu schaffen, um die Position zu eröffnen und die Strategie zu verbessern.
  4. Optimierung der Parameter, um die beste Kombination zu finden, die für den aktuellen Markt geeignet ist
  5. Erwägen Sie die Aufnahme in die Kaufmannschaft und erweitern Sie den Anwendungsbereich.

Zusammenfassen

Die Strategie beurteilt die Richtung des Trends durch EMA-Vergleiche über mehrere Zeitrahmen und verwendet die 200-Termine-EMA als Trendfilter, um mehrere Positionen zu erstellen, wenn der Trend deutlich nach oben ist und der Preis über der langfristigen Durchschnittslinie liegt, um eine starke Aufwärtsbewegung zu erfassen. Strenge Positionseröffnungsbedingungen und feste Stop-Loss-Stopps helfen, das Risiko zu kontrollieren. Die Strategie reagiert jedoch möglicherweise langsamer auf Trendwendepunkte und hält die Stop-Loss-Stoppposition fest. In der Zukunft kann die Anpassungsfähigkeit und Robustheit der Strategie verbessert werden, indem mehr Zeitrahmen eingeführt, Stop-Loss-Stopps optimiert, mehr Handelssignale hinzugefügt und Parameteroptimierungen hinzugefügt werden, die es ermöglichen, Marktchancen besser zu nutzen und Risiken zu kontrollieren.

Strategiequellcode
/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
fast_length = input.int(9, title="Fast EMA Length", minval=1)
slow_length = input.int(21, title="Slow EMA Length", minval=1)
filter_length_200 = input.int(200, title="200 EMA Length", minval=1)
stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100
take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100

// Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes
ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

// Calculate 200 EMA for the 5-minute timeframe
ema_200_5min = ta.ema(close, filter_length_200)

// Determine the trend for each timeframe
trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1
trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1
trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1

// Combine trend signals
combined_trend = trend_5min + trend_15min + trend_30min

// Define entry and exit conditions with 200 EMA filter
enter_long = combined_trend == 3 and close > ema_200_5min
exit_long = combined_trend < 3 or close < ema_200_5min

// Plot EMAs for the 5-minute timeframe
plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min")
plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min")
plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min")

// Strategy execution
if (enter_long)
    strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc))
if (exit_long)
    strategy.close("Long")