Die Ressourcen sind geladen. Beförderung...

Zweifelhafter gleitender Durchschnittsvergleich Stop Loss und Take Profit Strategie

Schriftsteller:ChaoZhang, Datum: 2024-06-03 11:02:26
Tags:EMAMACDKDJADX

img

Übersicht

Diese Strategie verwendet die Überschneidung von zwei exponentiellen gleitenden Durchschnitten (EMA) mit unterschiedlichen Perioden als Handelssignale, während festgelegte Stop-Loss- und Take-Profit-Levels festgelegt werden. Wenn die kurzfristige EMA über die langfristige EMA überschreitet, eröffnet sie eine Long-Position; wenn die kurzfristige EMA unter die langfristige EMA überschreitet, eröffnet sie eine Short-Position. Die Strategie setzt festgelegte Stop-Loss- und Take-Profit-Levels, um das Risiko zu kontrollieren und Gewinne zu erzielen.

Strategieprinzip

  1. Berechnen Sie zwei EMA mit unterschiedlichen Perioden, Standard 5 und 200 Perioden.
  2. Wenn die 5-Perioden-EMA die 200-Perioden-EMA überschreitet, erzeugt sie ein langes Signal; wenn die 5-Perioden-EMA die 200-Perioden-EMA überschreitet, erzeugt sie ein kurzes Signal.
  3. Nach Eröffnung einer Position setzen Sie Stop-Loss-Punkte (Standard 50 Punkte) und Profit-Punkte (Standard 200 Punkte).
  4. Die Position wird geschlossen, wenn der Preis die Gewinn- oder Stop-Loss-Level erreicht oder die Position 200 Handelszeiten lang gehalten wurde.
  5. Anpassen der Take-Profit- und Stop-Loss-Punkte basierend auf dem Chartvolumen.

Strategische Vorteile

  1. Einfach und leicht verständlich: Die Strategie-Logik ist klar und leicht zu verstehen und umzusetzen.
  2. Trendverfolgung: Nutzt die Trendmerkmale von EMAs, um Markttrends effektiv zu erfassen.
  3. Risikokontrolle: Durch die Festlegung eines Fixpunkts für den Stop-Loss wird das Risiko eines einzigen Handels wirksam kontrolliert.
  4. Flexibilität: Die Gewinn- und Stop-Loss-Punkte können anhand der Marktvolatilität und der persönlichen Risikopräferenzen angepasst werden.

Strategische Risiken

  1. Falsche Signale: EMA-Crossovers können falsche Signale erzeugen, was zu häufigen Handels- und Kapitalverlusten führt.
  2. Trendverzögerung: EMAs sind nachlässige Indikatoren und können nur dann Signale erzeugen, wenn sich ein Trend gebildet hat, da sie die besten Eintrittsmöglichkeiten verpassen.
  3. In den Märkten, die auf einen Bereich begrenzt sind, können häufige EMA-Kreuzungen zu aufeinanderfolgenden Verlustgeschäften führen.
  4. Festpunkt-Stop-Loss: Festpunkt-Stop-Loss kann sich möglicherweise nicht an Veränderungen der Marktvolatilität anpassen, was zu unangemessenen Stop-Loss-Niveaus führt.

Strategieoptimierungsrichtlinien

  1. Einführung weiterer Indikatoren: Kombination mit anderen technischen Indikatoren wie MACD, RSI usw. zur Verbesserung der Signalzuverlässigkeit.
  2. Optimieren von Parametern: Optimieren von Parametern wie EMA-Perioden, Gewinn- und Stop-Loss-Punkten, um die Strategieleistung zu verbessern.
  3. Dynamischer Stop-Loss: Die Stop-Loss-Punkte werden dynamisch anhand der Marktvolatilität angepasst, um sich besser an die Marktveränderungen anzupassen.
  4. Positionsmanagement: Einführung von Positionsmanagement-Regeln, wie z. B. eine risikobasierte Positionsgröße, um die risikobereinigten Renditen zu verbessern.
  5. Filter: Hinzufügen von Handelssignalfilterbedingungen, wie Handelsvolumen, Preismuster usw., um die Signalqualität zu verbessern.

Zusammenfassung

Die Dual Moving Average Crossover Stop Loss and Take Profit Strategie ist eine einfache und einfach zu bedienende Handelsstrategie, die Handelssignale durch EMA-Crossovers generiert, während feststehende Stop Loss- und Gewinnniveaus festgelegt werden, um das Risiko zu kontrollieren. Die Vorteile der Strategie liegen in ihrer klaren Logik, ihrer einfachen Implementierung und ihrer Fähigkeit, Markttrends effektiv zu erfassen. Sie ist jedoch auch mit Risiken wie falschen Signalen, Trendverzögerungen, Bereichsmärkten und festen Stop Loss-Niveaus konfrontiert. Zu den Optimierungsrichtungen gehören die Einführung von mehr Indikatoren, die Optimierung von Parametern, dynamischen Stop Loss, Positionsmanagement und das Hinzufügen von Filtern.


/*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)


Verwandt

Mehr