Einfache Stop & Buy-Strategie basierend auf Prozentsatz

Schriftsteller:ChaoZhang, Datum: 2024-01-19 14:30:59 Uhr
Tags:

img

Übersicht

Diese Strategie implementiert einen einfachen prozentualen Trailing Stop und Trailing Buy.

Strategie Logik

Die Strategie verwendet hauptsächlich zwei Metriken, um einen Trailing Stop Loss und einen Trailing Buy zu erreichen:

  1. Trailing Stop Line (TSL): Berechnet auf der Grundlage der letzten N-Bars der Schlusskurse und des vom Benutzer festgelegten Stop-Loss-Kompensationsprozentsatzes.

  2. Trailing Buy Line (TBL): Berechnet auf der Grundlage der letzten N-Bars der höchsten Preise und des vom Benutzer festgelegten Kauf-Offset-Prozentsatzes.

Durch den Vergleich des Preises mit diesen beiden Metriken werden die Stop-Loss- und Trailing-Kaufregeln implementiert.

Vorteile

Die Vorteile dieser Strategie sind:

  1. Einfach und intuitiv, leicht zu verstehen und umzusetzen.

  2. Flexible Stop-Loss- und Trailing-Kauf durch Parameteranpassung.

  3. Anwendbar auf allen Märkten und Zeitrahmen.

  4. Ermöglicht eine Trendverfolgung und einen zeitnahen Stop-Loss.

Risiken

Zu den Risiken dieser Strategie gehören:

  1. Eine unsachgemäße Einstellung der Parameter kann zu einem übermäßig aggressiven Stop Loss oder Kauf führen.

  2. Häufiger Handel und Verschleiß auf unterschiedlichen Märkten.

  3. erfordert eine Optimierung der Parameter für verschiedene Merkmale des Marktes.

Möglichkeiten zur Verbesserung

Die Strategie kann durch folgende Maßnahmen verbessert werden:

  1. Adaptive Algorithmen zur automatischen Optimierung von Stop- und Kaufparametern.

  2. Hinzufügung von Positionsgrößen und Risikomanagementmodulen.

  3. Einbeziehung anderer Indikatoren zur Beurteilung des Gesamttrends, um Schlagzeilen zu vermeiden.

Schlussfolgerung

Zusammenfassend ist dies ein sehr einfacher und intuitiver Trend nach Strategie. Mit Parameter-Tuning kann es über Märkte hinweg angepasst werden. Weitere Einbeziehung von anpassungsfähigen Algorithmen und zusätzlichen Filtern kann die Robustheit verbessern. Insgesamt bietet es einen grundlegenden, aber effektiven Rahmen für den quantitativen Handel.


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

//@version=2
//Developed from ©Finnbo code
strategy("Simple Trailing Buy & Stop Strategy", overlay=true)
offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1)
buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1)

sumbars = input(defval=6, title="Use last x bars for calculation",  minval=1)
srcts = input(title="Source Trailing Stop calculation",  defval=close)
srctb = input(title="Source Trailing Buy calculation",  defval=close)
srctrigger = input(title="Source Stop Trigger",  defval=low)
srctriggerbuy = input(title="Source Buy Trigger",  defval=high)
tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100))
tbuy = rma(srctb, sumbars)*(1+(buyoffset/100))
plot(tsl, color=(srctrigger<tsl)?red:green)
plot(tbuy, color=(srctriggerbuy>tbuy)?red:green)
//plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red)
alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL")
//plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green)
alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY")

longCondition =  crossover(srctriggerbuy,tbuy)
if (longCondition)
    strategy.entry("Long", strategy.long)
closeCondition = crossunder(srctrigger,tsl)
if (closeCondition)
    strategy.close("Long")


Mehr