EMA 200-basierte Gewinnaufnahme- und Stop-Loss-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-08 15:50:52
Tags:

img

Übersicht

Die EMA 200-basierte Trailing Take Profit und Trailing Stop Loss Strategie ist eine Handelsstrategie, die EMA 200 als Benchmark verwendet, kombiniert mit Trailing Stop Loss und Trailing Take Profit Mechanismen.

Strategie Logik

Die Strategie berechnet zunächst die 200-Perioden-EMA als Indikator, um den allgemeinen Trend zu beurteilen.

Nach dem Markteintritt verwendet die Strategie den ATR-Indikator zur Berechnung vernünftiger Stop-Loss- und Take-Profit-Zunahmen, die dem letzten Höchst- und letzten Tief hinzugefügt werden, um die obere und untere Schiene zu bilden. Wenn der Preis die obere Schiene überschreitet, profitieren Sie für lange Aufträge; wenn der Preis die untere Schiene bricht, stopfen Sie den Verlust für kurze Aufträge. Wenn sich der Preis bewegt, werden die Stop-Loss- und Take-Profit-Level auch dynamisch angepasst, wodurch der nachfolgende Stop-Loss und der nachfolgende Profit realisiert wird.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, den Trend zu vermeiden, indem der Trend mit der EMA 200 beurteilt wird. Gleichzeitig folgen die Stop-Loss- und Take-Profit-Level der Preisbewegung für rechtzeitige Stop-Loss- und Profit-Taking, wodurch die Risiken effektiv kontrolliert werden.

Darüber hinaus ist der ATR-Stop-Loss-Take-Profit eine Bewertung der Marktvolatilität und kann angemessene Stop-Loss- und Take-Profit-Niveaus festlegen, anstatt zu locker oder zu aggressiv zu sein.

Im Allgemeinen kombiniert diese Strategie Trend und Stop-Loss/Take-Profit, wobei maximale Gewinne erzielt und Risiken kontrolliert werden, was sie zu einer sehr ausgewogenen Strategie macht.

Risikoanalyse

Das Hauptrisiko dieser Strategie besteht darin, dass der EMA 200 möglicherweise nicht in der Lage ist, den Trend vollständig genau zu bestimmen, und es könnte zu falschen Ausbrüchen kommen.

Auch wenn die ATR-Stop-Loss- und Take-Profit-Regelung einige wissenschaftliche Gründe und Vorteile aufweist, können immer noch Situationen auftreten, die den normalen Volatilitätsbereich übersteigen.

Um diese Risiken zu verringern, sollten Sie andere Indikatoren kombinieren, um den Trend und die Volatilität zu bestätigen, z. B. Bollinger Bands, RSI usw., um falsche Signale zu vermeiden.

Optimierung der Strategie

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Die EMA-Periode kann auf 100 oder 150 angepasst werden, um eine stabilere Trendbeurteilung zu erhalten.
  2. Die ATR-Parameter können optimiert werden, um eine vernünftigere Darstellung der Marktvolatilität zu erhalten.
  3. Hinzufügen anderer Indikatoren wie Bollinger-Bänder, um den Trend und die Volatilität zu beurteilen.
  4. Der Stop-Loss und der Take-Profit können für flexiblere Stopps auf Integralem Vielfache des ATR angepasst werden, z. B. 2- oder 3-fache ATR.
  5. Hinzufügen eines Wiedereintrittsmechanismus, d. h. Wiedereintritt in den Trend, nachdem der Stop-Loss ausgelöst wurde.

Durch das Testen verschiedener Parameter, die Auswahl besserer Parameter, das Hinzufügen anderer Indikatoren für das Urteilen, die Optimierung des Stop-Loss-Mechanismus und mehr können die Stabilität und Rentabilität der Strategie erheblich verbessert werden.

Schlussfolgerung

Die EMA 200-basierte Trailing Take Profit und Stop Loss Strategie beurteilt den Gesamttrend mit EMA und verwendet ATR berechneten angemessenen Stop Loss/Take Profit, um Risiken zu kontrollieren.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ozgurhan

//@version=5
strategy("EMA 200 Based Trailing Take Profit", overlay=true, margin_long=100, margin_short=100, default_qty_value=1, initial_capital=100)

// EMA 200 tanımı
ema200 = ta.ema(close, 200)

// Orijinal long ve short koşulları
longConditionOriginal = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortConditionOriginal = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

// EMA 200'ün üzerinde ve altında long ve short koşulları
longCondition = longConditionOriginal and close > ema200
shortCondition = shortConditionOriginal and close < ema200

if longCondition
    strategy.entry("Long", strategy.long, comment="Long", alert_message="Long")

if shortCondition
    strategy.entry("Short", strategy.short, comment="Short", alert_message="Short")

atr_length=input.int(7, title="ATR Length")
atr_multiplier = input.float(1.5, title="ATR Multiplier")
atr_multiplied = atr_multiplier * ta.atr(atr_length)
ttp_top_bracket = strategy.position_size > 0 ? high[1] + atr_multiplied : na
ttp_bottom_bracket = strategy.position_size < 0 ? low[1] - atr_multiplied : na

plot(ttp_top_bracket, title="TTP Top Bracket", color=color.lime, style=plot.style_linebr, offset=1)
plot(ttp_bottom_bracket, title="TTP Bottom Bracket", color=color.red, style=plot.style_linebr, offset=1)

strategy.exit("Close Long", from_entry="Long", limit=ttp_top_bracket, alert_message="Close Long")
strategy.exit("Close Short", from_entry="Short", limit=ttp_bottom_bracket, alert_message="Close Short")





Mehr