Duale gleitende Durchschnitts-Trendfolge- und Risikomanagement-Handelsstrategie

EMA SMA
Erstellungsdatum: 2025-02-21 09:36:33 zuletzt geändert: 2025-02-27 17:18:43
Kopie: 1 Klicks: 330
2
konzentrieren Sie sich auf
319
Anhänger

Duale gleitende Durchschnitts-Trendfolge- und Risikomanagement-Handelsstrategie Duale gleitende Durchschnitts-Trendfolge- und Risikomanagement-Handelsstrategie

Überblick

Die Strategie ist ein automatisiertes Handelssystem, das eine Kombination aus mehrperiodischem Trendverfolgung und Risikomanagement darstellt. Sie identifiziert Handelschancen hauptsächlich durch Indikatorische Moving Averages (EMA) in zwei Zeitperioden von 5 Minuten und 1 Minute, während die Risiken mit einer festen Prozentsatz-Stopp- und Gewinn-Einstellung kontrolliert werden. Die Strategie ist besonders geeignet für Short-Line-Händler, insbesondere für diejenigen, die sich auf Trendverfolgung konzentrieren.

Strategieprinzip

Die Kernlogik der Strategie basiert auf zwei Zeiträumen:

  1. Die Verwendung einer 5-Minuten-Periode mit einer 200-Perioden-EMA als Haupttrendfilter erlaubt nur Übertrend, wenn der Preis über dieser Mittellinie liegt, und Untertrend, wenn er unter dieser liegt.
  2. Auf einem 1-Minuten-Zyklus wird ein 20-Zyklus-EMA als Einstiegs-Trigger verwendet. Es wird ein Mehrsignal ausgelöst, wenn der Preis diese Mittellinie nach oben durchquert, und ein Untergangsignal, wenn er nach unten durchquert.
  3. Die Risikomanagementmethode verwendet ein festes Verhältnis, bei dem der Stop-Loss für jeden Handel auf 0,5% des Einstiegspreises und das Gewinnziel auf das Doppelte der Stop-Loss-Distanz festgelegt wird, was ein Risiko-Gewinn-Verhältnis von 1:2 bildet.

Strategische Vorteile

  1. Mehrzeit-Analysen bieten eine zuverlässigere Trendbeurteilung und verringern die Gefahr von Falschbrüchen.
  2. Die Verwendung von Risikomanagementmethoden mit festen Anteilen macht die Vermögensverwaltung formaler und systematischer.
  3. Das Risiko-Gewinn-Verhältnis ist 1:2 und es ist sogar möglich, mit nur 40% zu gewinnen.
  4. Die Strategie ist einfach, klar und leicht zu verstehen und umzusetzen.
  5. Die visualisierte Handelssignalmarkierung erleichtert die Rückmessung und Verifizierung.

Strategisches Risiko

  1. Schnelle Marktschwankungen können zu häufigen Falschsignalen führen.
  2. In Zeiten mit geringer Volatilität könnte ein Stop-Loss von 0,5% zu eng sein.
  3. Es kann zu Verzögerungen kommen, wenn man sich auf ein Gleichgewicht stützt.
  4. Hochfrequente Transaktionen können zu höheren Transaktionskosten führen.
  5. Der Markt könnte sich in einer schnellen Umkehrung mit einem größeren Rückzug konfrontiert sehen.

Richtung der Strategieoptimierung

  1. Die Einführung eines Volatilitätsindikators zur dynamischen Anpassung der Stop-Loss-Distance.
  2. Erhöhung der Anzahl der Eintrittsmeldungen, um die Qualität der Eintrittsmeldungen zu verbessern.
  3. Es kann in Betracht gezogen werden, Trendstärken wie den ADX zu verwenden, um schwache Trends zu filtern.
  4. In der Querkurve werden Oszillationsindikatoren wie der RSI hinzugefügt, um die Signale zu filtern.
  5. Das Risiko-Gewinn-Verhältnis wird in Abhängigkeit von den unterschiedlichen Markteigenschaften entwickelt.

Zusammenfassen

Dies ist eine strukturierte, logisch klare Trend-Tracking-Strategie. Durch die Kombination von Multi-Zyklus-Analyse und strenge Risikomanagement, die Strategie, die in der Lage ist, effektiv zu erfassen, die Markttrends, während das Geld zu schützen.

Strategiequellcode
/*backtest
start: 2025-01-21 00:00:00
end: 2025-02-20 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("Scalping Strategy: 1-min Entries with 5-min 200 EMA Filter", overlay=true, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=5, calc_on_every_tick=true)

// --- Higher Timeframe Trend Filter ---
// Get the 200-period EMA on a 5-minute timeframe
ema200_5 = request.security(syminfo.tickerid, "5", ta.ema(close, 200), lookahead=barmerge.lookahead_on)
plot(ema200_5, color=color.purple, title="5-min 200 EMA")

// --- Local (1-Minute) Indicators ---
// On a 1-minute chart, calculate a 20-period EMA for entry triggers
ema20_1 = ta.ema(close, 20)
plot(ema20_1, color=color.yellow, title="1-min 20 EMA")

// --- Entry Conditions ---
// For long entries:
//   - The overall trend is bullish: current close > 5-min 200 EMA
//   - The 1-min candle closes and crosses above its 20 EMA
longCondition = (close > ema200_5) and ta.crossover(close, ema20_1)

// For short entries:
//   - Overall bearish trend: current close < 5-min 200 EMA
//   - 1-min candle crosses below its 20 EMA
shortCondition = (close < ema200_5) and ta.crossunder(close, ema20_1)

// --- Risk Management Settings ---
// For scalping, use a tight stop loss. Here we set risk at 0.5% of the entry price.
var float riskPerc = 0.005  // 0.5% risk per trade

// Declare global variables for stop loss and take profit so they can be used outside the if-blocks
var float longStop  = na
var float longTP    = na
var float shortStop = na
var float shortTP   = na

// --- Trade Execution --- 
if (longCondition)
    entryPrice = close
    // Stop loss for long: 0.5% below entry
    longStop := entryPrice * (1 - riskPerc)
    // Take profit: twice the risk distance (1:2 risk-reward)
    longTP   := entryPrice + 2 * (entryPrice - longStop)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", from_entry="Long", stop=longStop, limit=longTP)

if (shortCondition)
    entryPrice = close
    // Stop loss for short: 0.5% above entry
    shortStop := entryPrice * (1 + riskPerc)
    // Take profit: twice the risk distance
    shortTP   := entryPrice - 2 * (shortStop - entryPrice)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", from_entry="Short", stop=shortStop, limit=shortTP)

// --- Visual Debug Markers ---
// Plot a green triangle below bars when a long signal is generated
plotshape(longCondition, title="Long Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
// Plot a red triangle above bars when a short signal is generated
plotshape(shortCondition, title="Short Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)