Trendfolgestrategie mit mehreren Zielen für gleitende Durchschnitte und Crossover

EMA SL TP
Erstellungsdatum: 2025-02-08 15:22:15 zuletzt geändert: 2025-02-08 15:22:15
Kopie: 6 Klicks: 391
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgestrategie mit mehreren Zielen für gleitende Durchschnitte und Crossover

Überblick

Die Strategie ist ein Trend-Tracking-System auf Basis von EQUAL- (EMA) -Kreuzungssignalen. Sie verwendet die 34-Zyklus-EMA als Haupttrendindikator, kombiniert mit einer Gewinne- und Risikokontrolle, um einen vollautomatischen Handel zu ermöglichen. Im Mittelpunkt der Strategie steht die Erfassung des Trendstartpunkts durch die Kreuzung von Preisen und EMAs und die Maximierung der Gewinnchancen durch das Setzen von Multiple-Gewinn-Zielen.

Strategieprinzip

Die Strategie basiert hauptsächlich auf folgenden Kernprinzipien:

  1. Verwenden von 34-Zyklus-EMA als Trend-Anzeige
  2. Wenn der Preis die EMA nach oben überschreitet, wird eine Position in der EMA-Preisposition gehalten
  3. Mit einem Triple-Profit-Ziel (5%, 10%, 15%) wird die Erreichung der Batch-Stop-Methode erreicht.
  4. Setzen Sie 7% Stop-Loss, um das Risiko zu kontrollieren.
  5. 10%-Positionen als langfristige Haltestelle zur Erfassung der großen Trends
  6. Vermeiden Sie Übertriebenheit mit einem Minimalintervall von 8 Stunden
  7. Beide Arten der Unterstützung von festen Handelsvolumen und dynamischen Positionsgrößen

Strategische Vorteile

  1. Mehrfach profitabel und in unterschiedlichen Marktumgebungen funktioniert
  2. Sie können die Vorteile der großen Trends genießen, indem Sie einige Positionen als langfristige Positionen behalten.
  3. Unterstützt Leverage-Trading, angepasst an Risikopräferenzen
  4. Mechanismen zur Verhinderung von Überhandel
  5. Flexibilität bei der Positionsverwaltung mit Fest- oder Dynamikpositionen
  6. Vollständig automatisiert, ohne menschliche Intervention
  7. Die Parameter sind anpassungsfähig und passen sich an verschiedene Handelsstile an

Strategisches Risiko

  1. EMA als Rückstandsindikator könnte zu Verzögerungen bei der Eintrittszeit führen
  2. Mehrfache Stop-Losses in einem wackligen Markt
  3. Verlust durch Nutzung von Hebel
  4. Ein fester Stop-Loss-Prozentsatz könnte in einem stark bewegten Markt nicht flexibel genug sein
  5. Multiple-Profit-Ziele könnten zu einem vorzeitigen Ausstieg aus dem Trend führen Gegenmaßnahmen:
  • Empfohlen für Märkte mit klaren Trends
  • Die Stop-Loss-Rate wird an Marktschwankungen angepasst.
  • Vorsicht bei der Nutzung von Hebeln
  • Regelmäßige Rückmessung der Optimierungsparameter

Richtung der Strategieoptimierung

  1. Erhöhung der Trendstärken-Filter und Verbesserung der Einstiegsqualität
  2. Einführung von dynamischen Stop-Loss-Mechanismen wie ATR-Stop
  3. Hinzugefügt
  4. Entwicklung eines anpassungsfähigen Gewinnziel-Mechanismus
  5. Hinzufügen eines Moduls zur Marktrechnung
  6. Dynamische Anpassungsmechanismen zur Optimierung von Transaktionsintervallen Diese Optimierungen können die Stabilität und Profitabilität der Strategie verbessern und die Auswirkungen von Falschsignalen verringern.

Zusammenfassen

Es ist eine Strategie, die einen Trend zu verfolgen, der vernünftig und logisch klar ist. Die Strategie ist sehr anpassungsfähig und eignet sich für Händler mit unterschiedlichen Risikopräferenzen. Obwohl es einige inhärente Risiken gibt, können durch vernünftige Parameter-Einstellungen und Risikomanagement stabile Gewinne erzielt werden.

Strategiequellcode
/*backtest
start: 2024-02-08 00:00:00
end: 2025-02-06 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA25 Long Strategy", overlay=true)

// Inputs
initial_capital = input.float(50000, title="Initial Capital ($)")
leverage = input.int(1, title="Leverage")
mode = input.string("Fixed Volume", title="Position Sizing Mode", options=["Fixed Volume", "Current Balance"])
ema_length = input.int(34, title="EMA Length")
stop_loss_percent = input.float(7, title="Stop Loss (%)", step=0.1) / 100
take_profit_1_percent = input.float(5, title="Take Profit 1 (%)", step=0.1) / 100
take_profit_2_percent = input.float(10, title="Take Profit 2 (%)", step=0.1) / 100
take_profit_3_percent = input.float(15, title="Take Profit 3 (%)", step=0.1) / 100
position_size_percent = input.float(100, title="Position Size (%)", step=1) / 100
long_term_hold_percent = input.float(10, title="Long Term Hold (%)", step=1) / 100
trade_delay = input.int(8, title="Trade Delay (hours)", minval=1) * 60  // Convert hours to minutes

// Calculate EMA
ema = ta.ema(close, ema_length)
// Plot EMA
plot(ema, title="EMA25", color=color.blue)

// Determine if a new trade can be placed
var float last_trade_time = na
can_trade = na(last_trade_time) or (time - last_trade_time) > trade_delay * 60 * 1000

// Determine position size based on selected mode
var float position_size = na
if (mode == "Fixed Volume")
    position_size := initial_capital * leverage * position_size_percent / close
else
    position_size := strategy.equity * leverage * position_size_percent / close

// Entry Condition
var float entry_price = na
price_crossed_ema_up = ta.crossover(close, ema)
price_crossed_ema_down = ta.crossunder(close, ema)

if ((price_crossed_ema_up or price_crossed_ema_down) and can_trade)
    entry_price := ema
    strategy.entry("Long", strategy.long, qty=position_size, limit=entry_price)
    last_trade_time := time
    label.new(bar_index, entry_price, text="Entry", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)

// Stop Loss
strategy.exit("Stop Loss", from_entry="Long", stop=entry_price * (1 - stop_loss_percent))

// Take Profits
take_profit_1_price = entry_price * (1 + take_profit_1_percent)
take_profit_2_price = entry_price * (1 + take_profit_2_percent)
take_profit_3_price = entry_price * (1 + take_profit_3_percent)

strategy.exit("Take Profit 1", from_entry="Long", limit=take_profit_1_price, qty=position_size / 3)
strategy.exit("Take Profit 2", from_entry="Long", limit=take_profit_2_price, qty=position_size / 3)
strategy.exit("Take Profit 3", from_entry="Long", limit=take_profit_3_price, qty=position_size / 3)

// Long Term Hold (10% of position)
hold_qty = position_size * long_term_hold_percent
if (strategy.position_size > hold_qty)
    strategy.close("Long Term Hold")