Doppelte gleitende Durchschnittstrendverfolgung und Risikokontrollstrategie

EMA
Erstellungsdatum: 2024-12-20 14:30:29 zuletzt geändert: 2024-12-20 14:30:29
Kopie: 1 Klicks: 371
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte gleitende Durchschnittstrendverfolgung und Risikokontrollstrategie

Überblick

Die Strategie ist ein Trend-Tracking-Trading-System, basierend auf der Kreuzung von 110- und 200-Tage-Index-Moving Averages (EMA). Die Strategie beurteilt Markttrends durch die Beobachtung von Überschreitungen von kurz- und langfristigen EMAs und steuert das Risiko in Verbindung mit Stop-Loss-Stopp-Mechanismen. Nach Bestätigung des Trendsignals führt das System automatisch entsprechende OTC-Handlungen aus und überwacht gleichzeitig das Positionsrisiko in Echtzeit.

Strategieprinzip

Die Kernlogik der Strategie basiert auf der Kontinuität der Preistrends und erfasst die Trendwechselsignale durch die Kreuzung von EMA110 und EMA200. Wenn ein Überschreiten des langfristigen Durchschnitts (EMA200) über die kurzfristige Durchschnittslinie (EMA110) einen Aufwärtstrend signalisiert, wird ein Mehrfachsignal ausgesendet. Wenn ein Überschreiten der langfristigen Durchschnittslinie unterhalb der kurzfristigen Durchschnittslinie einen Abwärtstrend signalisiert, wird ein Leersignal ausgesendet.

Strategische Vorteile

  1. Trendschreiber: Erfasst mittel- und langfristige Trends und filtert so kurzfristige Marktgeräusche
  2. Risikokontrolle: Ein integrierter Stop-Loss-Stopp-Mechanismus, der die Risiken eines einzelnen Handels effektiv kontrolliert
  3. Strenge Logik: automatische Auslöschung der Rückhalte, um den Wiederaufbau zu vermeiden, bevor neue Positionen eröffnet werden
  4. Signal Tipps klar: Intuitive Anzeige von Handelssignalen über die Signal Tipps im oberen rechten Bereich der Schnittstelle
  5. Die Parameter sind vernünftig eingestellt: Die Wahl von 110 und 200 Tagen als mittlere Zeitspanne ermöglicht eine bessere Balance zwischen Empfindlichkeit und Stabilität

Strategisches Risiko

  1. Schwankungsrisiko: Häufige Transaktionen in schwankenden Märkten können zu Verlusten führen
  2. Schlupfpunktrisiko: Bei starken Marktschwankungen kann es zu einem größeren Schlupfpunkt kommen
  3. Trendwechselrisiko: Ein plötzlicher Trendwechsel kann zu kurz sein.
  4. Risiko der Parameteroptimierung: Eine Überoptimierung der Parameter kann zu einer Überanpassung der Strategie führen
  5. Systemische Risiken: Systemische Risiken können bei starken Marktschwankungen auftreten

Richtung der Strategieoptimierung

  1. Einführung von Transaktionsindikatoren: Kombination von Transaktionsanalysen zur Bestätigung der Effektivität von Trends
  2. Optimierte Stop-Loss-Mechanismen: Ein Einsatz von mobilen Stop-Losses oder ATR-Dynamischen Stop-Losses kann in Betracht gezogen werden
  3. Trendfilter hinzufügen: Trendstärken hinzufügen, um schwache Trendsignale zu filtern
  4. Verbesserung der Positionsverwaltung: Dynamische Anpassung der Positionsgröße an die Trendstärke
  5. Hinzufügen von Rücknahme-Kontrollen: Setzen Sie maximale Rücknahmelimits und pausieren Sie den Handel, wenn Sie einen Schwellenwert erreichen

Zusammenfassen

Die Strategie verwaltet die Risiken durch die Erfassung von Trend-Kreuzungen in gleicher Linie und kombiniert mit Stop-Loss-Stopp-Mechanismen. Die Gesamtkonstruktion ist vernünftig und logisch rigoros. Obwohl die Strategie in einem wackligen Markt möglicherweise schlecht abschneidet, kann die Stabilität und Profitabilität der Strategie durch die empfohlene Optimierungsrichtung weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA110/200 Cross with Stop-Loss and Take-Profit", overlay=true)

// 定义EMA110和EMA200
ema110 = ta.ema(close, 110)
ema200 = ta.ema(close, 250)

// 画出EMA
plot(ema110, color=color.blue, title="EMA110")
plot(ema200, color=color.red, title="EMA200")

// 计算交叉信号
longCondition = ta.crossover(ema110, ema200)  // EMA110上穿EMA200,做多
shortCondition = ta.crossunder(ema110, ema200)  // EMA110下穿EMA200,做空

// 设置止损和止盈
stopLoss = 0.01  // 止损1%
takeProfit = 0.005  // 止盈0.5%

// 判断是否已有仓位
isLong = strategy.position_size > 0  // 当前是否为多头仓位
isShort = strategy.position_size < 0  // 当前是否为空头仓位

// 执行策略:做多时平空,做空时平多
if (longCondition and not isLong)  // 如果满足做多条件并且当前没有多头仓位
    if (isShort)  // 如果当前是空头仓位,先平空
        strategy.close("Short")
    strategy.entry("Long", strategy.long)  // 执行做多
    strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - stopLoss), limit=close * (1 + takeProfit))

if (shortCondition and not isShort)  // 如果满足做空条件并且当前没有空头仓位
    if (isLong)  // 如果当前是多头仓位,先平多
        strategy.close("Long")
    strategy.entry("Short", strategy.short)  // 执行做空
    strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + stopLoss), limit=close * (1 - takeProfit))

// 在表格中显示信号
var table myTable = table.new(position.top_right, 1, 1)
if (longCondition and not isLong)
    table.cell(myTable, 0, 0, "Buy Signal", text_color=color.green)
if (shortCondition and not isShort)
    table.cell(myTable, 0, 0, "Sell Signal", text_color=color.red)