Trend nach Strategie mit Stop-Loss

Schriftsteller:ChaoZhang, Datum: 2024-01-12 14:55:40
Tags:

img

Übersicht

Diese Strategie identifiziert Preistrends durch Berechnung des Supertrend-Indikators und setzt bei Trendänderungen Long- oder Short-Positionen ein.

Strategieprinzipien

Diese Strategie verwendet die Funktion ta.supertrend(), um den Supertrend-Indikator zu berechnen. Der Supertrend kombiniert durchschnittlichen wahren Bereich und durchschnittlichen Preis, um zu bestimmen, ob die Preise in einem Aufwärtstrend oder einem Abwärtstrend sind. Wenn sich die Preise von einem Abwärtstrend in einen Aufwärtstrend ändern, erkennt die Strategie die Richtungsänderung mithilfe von ta.change() und setzt eine Long-Position ein. Wenn die Preise von einem Aufwärtstrend in einen Abwärtstrend wechseln, wird eine Short-Position eingenommen.

Die Stop-Loss-Levels stop_loss und take profit-Levels profit werden eingestellt, um Stop-Loss-Orders und Take-Profit-Orders zu platzieren, nachdem Positionen eingegeben wurden, um Risiken zu kontrollieren.

Insbesondere wird die Strategie durch folgende Schritte umgesetzt:

  1. Berechnung der Richtung des Supertrend-Indikators
  2. Überprüfen Sie, ob sich die Preise von einem Abwärtstrend zu einem Aufwärtstrend verändert haben, und setzen Sie eine Long-Position ein, wenn ja
  3. Überprüfen Sie, ob sich die Preise von einem Aufwärtstrend in einen Abwärtstrend verwandelt haben, und nehmen Sie eine Leerposition ein, wenn ja
  4. Setzen Sie den Stop-Loss- und den Take-Profit-Preis für die Long-Position, nachdem sie festgelegt wurde
  5. Festlegen des Stop-Loss-Preises und des Take-Profit-Preises für die Short-Position, nachdem sie festgelegt wurde

Die oben genannten Schritte können Trends ändern und Positionen zu geeigneten Momenten einnehmen. Die Stop-Loss- und Take-Profit-Einstellungen helfen, Risiken zu kontrollieren. Insgesamt ist es ein relativ stabiler Trend nach Strategie.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht in der Möglichkeit, Trendänderungen automatisch zu verfolgen, ohne manuelle Beurteilungen zu benötigen.

Darüber hinaus ermöglichen die vordefinierten Stop-Loss- und Take-Profit-Levels automatische Stop-Loss- und Profit-Taking, wodurch die Verluste bei einzelnen Geschäften effektiv begrenzt und die Gewinne gesperrt werden.

Im Vergleich zu einfachen gleitenden Durchschnittsstrategien verfügt diese Strategie über überlegene Fähigkeiten bei der Trendenkennung und eignet sich besser für Trending-Märkte.

Risikoanalyse

Das größte Risiko dieser Strategie liegt in der unsachgemäßen Parameter-Tuning des Supertrend-Indikators. Wenn die Parameter nicht angemessen eingestellt werden, wird die Wirksamkeit des Indikators bei der Erkennung von Trendänderungen beeinträchtigt. Eine zu lange ATR-Periode oder ein zu kleiner Faktor können sowohl die Reaktion des Supertrends auf Kursbewegungen verzögern als auch verpasste Einstiegsmöglichkeiten verursachen.

Auch die Stop-Loss- und Take-Profit-Ebenen beeinflussen die Strategieleistung erheblich. Ein zu enge Stop-Loss würde leicht vorzeitig gestoppt werden. Ein zu breiter Take-Profit kann ideale Ausgangspunkte verpassen. Umfassende Optimierung ist erforderlich, um die optimalen Parameterwerte für verschiedene Marktbedingungen und Handelsinstrumente zu finden.

Schließlich können wie bei allen Strategien, die einem Trend folgen, plötzliche Trendumkehrungen und Whipsaws immer noch Verluste verursachen, die durch eine ordnungsgemäße Geldverwaltung kontrolliert werden müssen.

Möglichkeiten zur Verbesserung

Die folgenden Aspekte der Strategie können verbessert werden:

  1. Optimieren Sie die Parameter des Supertrend-Indikators, einschließlich der ATR-Periode und des Faktors, durch Backtesting.

  2. Einbeziehung von Positionsgrößenregeln auf der Grundlage von Leistungsindikatoren wie Rendite und Drawdowns.

  3. Augmentation mit Modellen des maschinellen Lernens, um bei der Identifizierung von Trends zu helfen.

  4. Zusätzliche Filter basierend auf anderen Indikatoren wie gleitenden Durchschnitten und Volatilitätsmessungen, um falsche Signale zu vermeiden.

  5. Dynamische Optimierung von Stop-Loss- und Gewinnniveaus basierend auf Marktvolatilität und Positionsgrößen.

Diese Verbesserungen können die Rentabilität, Stabilität und das Risikomanagement der Strategie verbessern.

Schlussfolgerung

Im Allgemeinen ist dies eine sehr praktische Trend-Folge-Strategie. Sie verfolgt automatisch Trendänderungen und nutzt Stop-Loss und Take-Profit, um Risiken zu kontrollieren. Im Vergleich zu einfachen gleitenden Durchschnittsstrategien hat sie eine überlegene Trend-Identifikationsfähigkeit und eignet sich besser für Trending-Märkte. Mit einer gewissen Parameteroptimierung und Maschinellen Lernverstärkung kann diese Strategie noch bessere Stabilität und Gewinne erzielen. Sie verdient weitere Forschung und Anwendung.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity)

// Stop loss and profit amount
stop_loss = input(300, title="Stop Loss Amount")
profit = input (800, title="Profit Amount")

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

long_condition = ta.change(direction) <0
short_condition = ta.change(direction) >0
long_condition_1= (long_condition)?1:0
short_condition_2 = (short_condition)?1:0

stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0)
profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0)
stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0)
profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0)

if (long_condition)
    strategy.entry("Michael3 Long Entry Id", strategy.long)

if (short_condition)
    strategy.entry("Michael3 Short Entry Id", strategy.short)


if (strategy.position_size>0)
    strategy.exit("exit_long",from_entry="Michael3 Long Entry Id",limit=profit_price_long,stop=stop_price_long)

if (strategy.position_size<0)
    strategy.exit("exit_short",from_entry="Michael3 Short Entry Id",limit=profit_price_short,stop=stop_price_short)    
    


//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Mehr