Die Ressourcen sind geladen. Beförderung...

Multi-EMA-Automatisiertes Handelssystem mit Gewinnabsperrung

Schriftsteller:ChaoZhang, Datum: 2024-12-04 15:35:32
Tags:EMA- Nein.

img

Übersicht

Diese Strategie ist ein automatisiertes Handelssystem, das auf mehreren exponentiellen gleitenden Durchschnitten (EMAs) basiert und Handelssignale durch hierarchische Analyse von 5-Perioden-, 20-Perioden- und 50-Perioden-EMAs erstellt.

Strategieprinzipien

Die Strategie stützt ihre Handelsentscheidungen auf mehrfache Zeitrahmen-EMA-Kreuzungen und Positionsbeziehungen.

  1. Verwendet 5-Perioden-, 20-Perioden- (basierend auf hohen, niedrigen und Schlusskurs) und 50-Perioden-EMA
  2. Die Eintrittsbedingungen erfordern, dass alle Indikatoren eine deutliche bullische Ausrichtung aufweisen: 50EMA < 20EMA(Niedrig) < 20EMA(Nahe) < 20EMA(Hoch) < 5EMA
  3. Erfordert, dass der aktuelle Preis über allen EMA liegt, was einen starken Trend bestätigt
  4. Der Exit nutzt einen doppelten Mechanismus: Gewinngewinn, wenn der Preis unter die 5-Perioden-EMA fällt, oder Stop-Loss, wenn er die 20-Perioden-EMA-Tief erreicht

Strategische Vorteile

  1. Hierarchischer Filtermechanismus reduziert Fehlsignale erheblich
  2. Mehrfache EMA-Crossover-Bestätigung verbessert die Genauigkeit des Handels
  3. Dynamische Stop-Loss-Positionen werden an die Marktvolatilität angepasst
  4. Ein vollautomatisiertes System eliminiert emotionale Störungen.
  5. Der Mechanismus der Gewinnverzögerung schließt den Gewinn effektiv ein.

Strategische Risiken

  1. Kann zu häufigen Geschäften während seitlicher Märkte führen
  2. Die EMAs sind von Natur aus nachlässige Indikatoren, die möglicherweise die Markteinführungspunkte verpassen.
  3. Mehrere Bedingungen können dazu führen, dass einige Handelsmöglichkeiten verpasst werden
  4. Der Stop-Loss bei 20EMA-Tiefpunkt könnte relativ locker sein.

Optimierungsrichtlinien

  1. Kann Volumenbestätigungsmechanismus hinzufügen, um die Signalzuverlässigkeit zu verbessern
  2. Überlegen Sie die Einbeziehung von Volatilitätsindikatoren für die dynamische Positionsgrößerung
  3. Einführung flexiblerer Gewinnspielräume, wie zum Beispiel eine teilweise Positionsreduktion
  4. Kann mit Oszillatoren wie RSI kombiniert werden, um den Einstiegszeitpunkt zu optimieren
  5. Überlegen Sie, ob Sie die Trendstärke für schwache Märkte filtern können

Zusammenfassung

Dies ist ein streng entwickeltes Multiple Moving Average Trading System, das das Risiko durch hierarchisches Filtern und dynamischen Stop-Loss effektiv kontrolliert. Obwohl es einige schnelle Marktbewegungen verpassen kann, funktioniert es in Trendmärkten konsequent. Es wird empfohlen, die Parameter nach verschiedenen Marktmerkmalen anzupassen und das Hinzufügen von Volumen und anderen Hilfsindikatoren zur Verbesserung der Zuverlässigkeit in Betracht zu ziehen. Diese Strategie eignet sich für Anleger, die nach stabilen Renditen in mittelfristigen bis langfristigen Investitionen suchen.


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

//@version=5
strategy("Automated EMA Strategy with Hierarchical Conditions", overlay=true)

// Inputs for EMA lengths
length_5 = 5
length_20 = 20
length_50 = 50

// Calculating EMAs
ema_5 = ta.ema(close, length_5)
ema_20_high = ta.ema(high, length_20)
ema_20_low = ta.ema(low, length_20)
ema_20_close = ta.ema(close, length_20)
ema_50 = ta.ema(close, length_50)

// Buy condition: 50 EMA < 20 EMA (Close) < 20 EMA (High) < 20 EMA (Low) < 5 EMA
// and LTP above all EMAs
buy_condition = ema_50 < ema_20_low and ema_20_low < ema_20_close and ema_20_close < ema_20_high and ema_20_high < ema_5 and close > ema_5 and close > ema_20_close and close > ema_20_high and close > ema_20_low and close > ema_50

// Stop-loss and target levels
stop_loss = ema_20_low

// Target condition: Close below 5 EMA
target_condition = close < ema_5

// Check if there's an open position
is_in_position = strategy.position_size > 0

// Execute Buy Signal only if no position is open
if (buy_condition and not is_in_position)
    strategy.entry("Buy", strategy.long)

// Exit conditions: Stop-loss or target (close below 5 EMA)
if (is_in_position and (target_condition or close < stop_loss))
    strategy.close("Buy")

// Plotting the EMAs
plot(ema_5, color=color.blue, title="5 EMA")
plot(ema_20_high, color=color.green, title="20 EMA (High)")
plot(ema_20_low, color=color.red, title="20 EMA (Low)")
plot(ema_20_close, color=color.purple, title="20 EMA (Close)")
plot(ema_50, color=color.orange, title="50 EMA")


Verwandt

Mehr