Trendfolgestrategie mit drei EMAs kombiniert mit DMI und MACD


Erstellungsdatum: 2024-01-25 15:48:59 zuletzt geändert: 2024-01-25 15:48:59
Kopie: 0 Klicks: 1177
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgestrategie mit drei EMAs kombiniert mit DMI und MACD

Überblick

Dies ist eine Trend-Tracking-Strategie, die die Verwendung von 3 Index-Moving Averages (EMA), Trend Indicators (DMI) und Moving Average Clustering Indicators (MACD) zur Bestimmung der Trendrichtung und zur Erzeugung von Kauf- und Verkaufssignalen kombiniert. Die wichtigsten Komponenten sind EMA-Gold-Cross-Signale, DMI-Beschlüsse zur Bestimmung der Trendstärke und MACD-Bewegung.

Strategielogik

Die Kernlogik beruht auf drei EMAs - 34, 89 und 200 - die auf der M5-Periode berechnet werden, um einen Gesamttrend zu identifizieren. 34-Perioden-EMA bieten eine kurzfristige Richtung, während 89 und 200 EMAs einen mittleren und langen Trend definieren.

Wenn Sie ein Signal erwerben:

  • 34 EMA auf dem Schlusskurs
  • +DI ((Bei der Trendbewegung) > 17
  • ADX (Trendstärke) > -DI

Der Verkauf von Signalen erzeugt:

  • Der EMA liegt bei 34 unter dem Schlusskurs
  • -DI ((Bewegung in eine Abwärtsbewegung) > 17
  • ADX > +DI

Zusätzliche Bestätigung durch die MACD vor der Zulassung.

Vorteile

Diese Strategie hat einige wichtige Vorteile:

  1. Kurzfristige EMA-Gold-Kreuzungen und eine Trendwende zur Frühfangung
  2. Mehrfache EMAs zur Beurteilung der Trendstärke in verschiedenen Zeitrahmen
  3. DMI-Filter helfen, falsche Signale zu vermeiden, indem sie starke Trendbewegungen überprüfen
  4. Die MACD bietet dynamische Bestätigungen, die die Qualität und Wahrscheinlichkeit von Handelsmöglichkeiten verbessern
  5. Die Kombination der Indikatoren verbessert die Genauigkeit und Pünktlichkeit des Eintrittssignals

Die Gefahr

Die wichtigsten Risiken:

  1. Allein auf EMA-Gold-Kreuzungen angewiesen ist, ist anfällig für Irreführung und Missbrauch.
  2. Mehrfache Bestätigung kann zu Verzögerungen bei der Signalerzeugung führen
  3. Die Gefahr einer abrupten Trendwende

Wie kann ich das verhindern?

  • Der Einsatz geeigneter Stop-Loss- und Positionsmanagement
  • Optimierung der EMA-Parameter nach aktuellen Marktbedingungen
  • Beobachten Sie die Bewegungen der Preisentität für eine visuelle Bestätigung

Optimierungsrichtung

Weitere Verbesserungen der Strategie:

  1. Zunahme der Indikatoren wie RSI, um überkaufte und überverkaufte Bereiche zu beurteilen
  2. Kombinierte Traffic Analysis erzeugt ein stärkeres Signal
  3. Optimierung von Kennzahlen und Parametern für verschiedene Assets und Zeitrahmen
  4. Weiterlesen über Technologien für das Lernen aus neuen Marktdaten

Zusammenfassen

Insgesamt ist es ein leistungsfähiges Trend-Tracking-System, das die Verwendung von einfachen, aber praktischen Indikatoren kombiniert, um Trends in mehreren Zeitrahmen zu beurteilen. Drei EMA-Konfigurationen beurteilen Trends in mehreren Zeitrahmen, DMI und MACD prüfen Einstiegsmöglichkeiten und Gewinnwahrscheinlichkeiten.

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

//@version=5
strategy("2 EMA di+ Buy Sell, strategy ", overlay=true)

// Define the EMA calculation function
ema(src, length) =>
    ta.ema(src, length)

// Calculate and plot EMA on M5
ema34_M5 = ema(close, 34)
ema89_M5 = ema(close, 89)
ema200_M5 = ema(close, 200)

// Plot EMAs
plot(ema34_M5, color=color.green, title="EMA 34 M5", linewidth=2)
plot(ema89_M5, color=color.blue, title="EMA 89 M5", linewidth=2)
plot(ema200_M5, color=color.black, title="EMA 200 M5", linewidth=2)

// Define DMI parameters
len = input(14, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plusDI = 100 * ta.rma(plusDM, len) / trur
minusDI = 100 * ta.rma(minusDM, len) / trur

// Calculate ADX
adxValue = 100 * ta.rma(math.abs(plusDI - minusDI) / (plusDI + minusDI == 0 ? 1 : plusDI + minusDI), len)

// Define MACD parameters
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")

// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)

// Create buy/sell conditions
buyCondition = close > ema34_M5 and plusDI > 17 and adxValue > minusDI 
sellCondition = close < ema34_M5 and minusDI > 17 and adxValue > plusDI 

// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)

// Create alerts for buy/sell signals
alertcondition(buyCondition, title="Buy Signal", message="Buy Signal")
alertcondition(sellCondition, title="Sell Signal", message="Sell Signal")

// Plot buy/sell arrows on the price chart
bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)

plotarrow(buyCondition ? 1 : sellCondition ? -1 : na, colorup=color.new(color.green, 0), colordown=color.new(color.red, 0), offset=-1)