Trend nach Strategie mit Stop Loss und Take Profit

Schriftsteller:ChaoZhang, Datum: 2024-02-21 14:55:41
Tags:

img

Übersicht

Die Hauptidee dieser Strategie besteht darin, die Richtung von lang und kurz basierend auf dem wöchentlichen Preistrend zu bestimmen. In einem Aufwärtstrend geht es lang, wenn es ein bullisches Kerzenmuster gibt. Es macht Gewinn, wenn der Preis auf das vorgegebene Gewinnniveau steigt und Stoppt den Verlust, wenn er auf das vorgegebene Stop-Loss-Niveau fällt.

Strategie Logik

Die Strategie legt zunächst die Voraussetzungen für die Beurteilung der wöchentlichen Entwicklung fest:

isUptrend = close > close[1]
isDowntrend = close < close[1] 

Wenn der aktuelle Abschluss höher ist als der vorherige Abschluss, wird er als Aufwärtstrend beurteilt, andernfalls als Abwärtstrend.

Anschließend wird das Intraday-Handelssignal definiert:

buyCondition = getPrevDayClose() > getPrevDayOpen() and getPrevDayOpen() > getPrevDayClose()[1] and isUptrend

Das heißt, der vorherige Closing ist höher als der vorherige Open (Bullish Candle) und der vorherige Open ist höher als der Closing vor dem vorherigen Tag (Gap Up) und befindet sich in einem Aufwärtstrend.

Nach dem Eintritt in die Position wird der Stop Loss auf den vorherigen Schlusskurs minus 1.382 mal den tatsächlichen Wert des vorherigen Tages gesetzt:

stopLoss = getPrevDayClose() - 1.382 * (getPrevDayClose() - getPrevDayOpen())

Der Take Profit wird auf den vorherigen Closing plus das 2-fache der Differenz zwischen dem vorherigen Closing und dem Stop Loss gesetzt:

takeProfit = getPrevDayClose() + 2 * (getPrevDayClose() - stopLoss)

Dies verwirklicht die Stop-Loss- und Profit-Taking-Strategie.

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Der Trendhandel vermeidet die Risiken eines Gegentrend-Shortings
  2. Eintrittssignal kombiniert bullische Kerze und Gap-Up, um einen vorzeitigen Long-Entry zu vermeiden
  3. Stop-Loss-Positionen sind angemessen, um Einzelverluste zu kontrollieren
  4. Die Gewinnspanne ist groß mit hohem Gewinnpotenzial

Risikoanalyse

Es gibt auch einige Risiken:

  1. Nicht in der Lage, Trendumkehrpunkte zu bestimmen, kann sich eine Wendechancen entgehen lassen
  2. Stopp-Loss ist zu nah und die Wahrscheinlichkeit, dass man gefangen wird, ist höher.
  3. Keine Berücksichtigung der Kostenkontrolle, bei hoher Handelsfrequenz kann der Gewinn sinken

Um diese Risiken zu kontrollieren, können einige Optimierungen in Betracht gezogen werden:

  1. Setzen Sie Anhänger in der Nähe von Stop-Loss, um den Stop-Loss zu verfolgen
  2. Hinzufügen eines Kostenkontrollmoduls zur Begrenzung der Auftragshäufigkeit
  3. Hinzufügen des Urteils von HILF/Widerstand

Optimierungsrichtlinien

Die Strategie kann auch auf folgende Weise optimiert werden:

  1. Der Trend wird anhand mehrerer Faktoren wie MA-Richtung, Volumenänderung usw. ermittelt.
  2. Optimieren Sie Eingangssignale mit mehr Kerzenmustern
  3. Dynamische Stop-Loss- und Take-Profit-Verfahren entsprechend den Kursschwankungen
  4. Hinzufügen eines quantitativen Moduls zur Steuerung der Positionsgröße
  5. Kombinationen mehrerer Zeitrahmen zur Filterung auf der Grundlage höherer Trends

Zusammenfassung

Im Allgemeinen ist dies eine ziemlich praktische Strategie, die den Handel entlang der Trends hervorhebt und gleichzeitig Risiken kontrolliert. Es kann als grundlegende Intraday-Handelsstrategie dienen und kann modular für verschiedene Märkte und Produkte optimiert werden, um diversifizierte Handelsportfolios zu schaffen. In der tatsächlichen Anwendung bleibt die Kontrolle der Kosten und die Vermeidung von Fallen entscheidend, so dass die Aufrechterhaltung der richtigen Mentalität der Schlüssel ist.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Trend Following Strategy with Stop Loss and Take Profit", overlay=true)

// Function to get previous day's close and open
getPrevDayClose() =>
    request.security(syminfo.tickerid, "D", close[1])

getPrevDayOpen() =>
    request.security(syminfo.tickerid, "D", open[1])

// Determine weekly trend
isUptrend = close > close[1]
isDowntrend = close < close[1]

// Determine daily conditions for buy
buyCondition = getPrevDayClose() > getPrevDayOpen() and getPrevDayOpen() > getPrevDayClose()[1] and isUptrend

// Calculate stop loss and take profit
stopLoss = getPrevDayClose() - 1.382 * (getPrevDayClose() - getPrevDayOpen())
takeProfit = getPrevDayClose() + 2 * (getPrevDayClose() - stopLoss)

// Strategy logic
if (isUptrend)
    strategy.entry("Buy", strategy.long, when = buyCondition)
    strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLoss, profit=takeProfit)
    
if (isDowntrend)
    strategy.entry("Sell", strategy.short)

// Plotting the trend on the chart
plotshape(series=isUptrend, title="Uptrend", color=color.green, style=shape.triangleup, location=location.abovebar)
plotshape(series=isDowntrend, title="Downtrend", color=color.red, style=shape.triangledown, location=location.belowbar)

// Plotting stop loss and take profit levels on the chart
plot(stopLoss, color=color.red, title="Stop Loss", linewidth=2, style=plot.style_cross)
plot(takeProfit, color=color.green, title="Take Profit", linewidth=2, style=plot.style_cross)


Mehr