Stop-Profit- und Stop-Loss-Strategie mit doppeltem gleitenden Durchschnitt

EMA MACD KDJ ADX
Erstellungsdatum: 2024-06-03 11:02:26 zuletzt geändert: 2024-06-03 11:02:26
Kopie: 0 Klicks: 626
1
konzentrieren Sie sich auf
1617
Anhänger

Stop-Profit- und Stop-Loss-Strategie mit doppeltem gleitenden Durchschnitt

Überblick

Die Strategie nutzt die Kreuzung von Index-Moving Averages (EMA) aus zwei verschiedenen Perioden als Handelssignal und setzt gleichzeitig Stops und Verluste mit festen Punkten. Wenn ein kurzfristiger EMA von unten nach oben durch einen langfristigen EMA geht, wird eine Position aufgenommen.

Strategieprinzip

  1. Berechnen Sie die EMA für zwei verschiedene Perioden, wobei 5 und 200 als Standardperioden gelten.
  2. Wenn ein 5-Perioden-EMA von unten nach oben durch ein 200-Perioden-EMA geht, erzeugt es ein Mehrfachsignal; wenn ein 5-Perioden-EMA von oben nach unten durch ein 200-Perioden-EMA geht, erzeugt es ein Fehlsignal.
  3. Nach der Eröffnung der Position, setzen Sie die Stop-Loss-Punkte (default 50) und die Stop-Loss-Punkte (default 200).
  4. Wenn der Preis den Stop-Loss-Punkt erreicht oder die Position 200 Handelszyklen erreicht, wird die Position beendet.
  5. Die Anzahl der Stop-Loss-Punkte kann anhand der Transaktionsmenge in der Grafik angepasst werden.

Strategische Vorteile

  1. Einfach zu verstehen: Die Logik der Strategie ist klar, leicht zu verstehen und umzusetzen.
  2. Trend-Tracking: Die Trend-Eigenschaften der EMA werden genutzt, um Markttrends besser zu erfassen.
  3. Risikokontrolle: Setzen Sie einen festen Stop-Loss, um das Risiko eines einzelnen Handels effektiv zu kontrollieren.
  4. Flexibilität: Die Stop-Loss-Punkte können je nach Marktschwankungen und persönlichen Risikopräferenzen angepasst werden.

Strategisches Risiko

  1. Falsche Signale: EMA-Kreuzungen können falsche Signale erzeugen, was zu häufigen Transaktionen und Verlusten von Geldern führt.
  2. Trendverzögerung: Die EMA ist ein nachträglicher Indikator, der möglicherweise erst nach dem Auftreten eines Trends signalisiert wird und die beste Einstiegsmöglichkeit verpasst.
  3. Kurzmarkt: Häufige EMA-Kreuzungen in Kurzmärkten können zu einer Reihe von Verlustgeschäften führen.
  4. Fixed-Point-Stopps: Fixed-Point-Stopps können sich nicht an Veränderungen der Marktfluktuation anpassen, was zu einer falschen Einstellung der Stop-Loss-Position führt.

Richtung der Strategieoptimierung

  1. Einführung weiterer Indikatoren: In Kombination mit anderen technischen Indikatoren wie MACD, RSI usw. erhöht sich die Signalsicherheit.
  2. Optimierung von Parametern: Optimierung von Parametern wie EMA-Zyklen, Stop-Loss-Punkten und anderen, um die Strategie zu verbessern.
  3. Dynamische Stop-Loss: Die Stop-Loss-Punkte werden dynamisch an die Marktfluktuation angepasst, um besser an Marktveränderungen anzupassen.
  4. Positionsverwaltung: Einführung von Positionsverwaltungsregeln, wie z. B. risikobasierte Positionsanpassungen, um die Gewinne nach Risikoanpassungen zu erhöhen.
  5. Filter: Erhöhung der Filterbedingungen für die Handelssignale, wie Handelsvolumen, Preisform usw., um die Signalqualität zu verbessern.

Zusammenfassen

Die Strategie hat den Vorteil, dass sie logisch klar ist, einfach umzusetzen ist und die Markttrends besser erfassen kann. Aber es gibt auch Risiken wie Falschsignale, Trendverzögerungen, Markt- und Feststop-Arrangements. Die Optimierungsrichtung umfasst die Einführung von mehr Indikatoren, Optimierungsparametern, Dynamischen Verlusten, Positionsmanagement und zusätzlichen Filtern.

Strategiequellcode
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy("EMA5 Cross EAM200 && SL/TP 50 and 200 Point Target", overlay=true)

// Define input parameters for EMA lengths
ema_5 = input.int(5, title="Fast EMA Length")
ema_200 = input.int(200, title="Slow EMA Length")

// Define input parameters for stop loss and profit target in points
stopLossPoints = input.float(50, title="Stop Loss (Points)")
profitTargetPoints = input.float(200, title="Profit Target (Points)")

// Calculate EMAs
price = close
emafast = ta.ema(price, ema_5)
emaslow = ta.ema(price, ema_200)

// Plot EMAs on chart
plot(emafast, title="5-period EMA", color=color.black)
plot(emaslow, title="200-period EMA", color=color.blue)

// Extra lines if needed
ema_13 = input.int(13, title="13 EMA")
ema_13_line = ta.ema(price, ema_13)
plot(ema_13_line, title="13-period EMA", color=color.rgb(156, 39, 176, 90))

ema_20 = input.int(20, title="20 EMA")
ema_20_line = ta.ema(price, ema_20)
plot(ema_20_line, title="20-period EMA", color=color.red)


// Define entry conditions
longCondition = ta.crossover(emafast, emaslow)
shortCondition = ta.crossunder(emafast, emaslow)

// Counter to keep track of the number of bars since the entry
var int barCount = na

// Reset counter and enter long trade
if (longCondition)
    strategy.entry("Long", strategy.long, comment="Long")
    barCount := 0

// Reset counter and enter short trade
if (shortCondition)
    strategy.entry("Short", strategy.short, comment="Short")
    barCount := 0

// Increment counter if in trade
if (strategy.opentrades > 0)
    barCount += 1

// Calculate entry price
entryPrice = strategy.position_avg_price

// Exit long trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=entryPrice - stopLossPoints, limit=entryPrice + profitTargetPoints)

// Exit short trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=entryPrice + stopLossPoints, limit=entryPrice - profitTargetPoints)