Die dynamische Stop-Loss-Trail-Strategie berechnet den durchschnittlichen wahren Bereich (ATR) von Aktien als Benchmark, kombiniert mit ATR-Koeffizienten, die von Benutzern festgelegt werden, um die Stop-Loss-Linien und Trail-Linien dynamisch festzulegen, um den Zweck des Stop-Loss-Trails zu erreichen.
Die Strategie verwendet hauptsächlich den technischen Indikator ATR zur Berechnung des durchschnittlichen wahren Aktienpreisbereichs und kombiniert ATR-Koeffizienten, die von Nutzern als Benchmarks für Aktien-Breakout-Käufe und Stop-Loss-Verkäufe eingegeben wurden. Insbesondere berechnet die Strategie zuerst den ATR-Wert der Aktie in den letzten 120 Tagen, multipliziert ihn dann mit dem vom Nutzer festgelegten Verkaufs-ATR-Koeffizienten, um den Verkaufs-Stop-Loss-Referenzpreis, d.h. die Stop-Loss-Linie, zu erhalten; multipliziert ihn mit dem Kauf-ATR-Koeffizienten, um den Kauf-Referenzpreis, d.h. die Trail-Linie, zu erhalten.
Die Strategie zeichnet auch Stop-Loss-Linien und Trail-Linien. Die Positionen dieser beiden Linien ändern sich je nach Schwankungen der Aktienkurse, mit einigen dynamischen Tracking-Fähigkeiten. Der ATR-Indikator kann den durchschnittlichen wahren Schwankungsbereich einer Aktie besser widerspiegeln.
Zusammenfassend ist dies eine typische Stop-Loss-Trail-Strategie. Die Kernidee besteht darin, Stop-Loss-Linien und Trail-Linien basierend auf ATR-Indikatoren für die Trendverfolgung festzulegen. Die Vorteile dieser Strategie sind, dass der Zwei-Wege-Handel aktiviert und die Positionen flexibel sind; ATR-Indikatoren helfen, Risiken zu kontrollieren, was sie für hochvolatile Aktien geeignet macht. Es gibt jedoch einige Blind-Tracking-Risiken aufgrund eher einfacher Handelsregeln; unsachgemäße Parameter-Einstellungen beeinflussen auch die Effektivität der Strategie. Zukünftige Optimierungen können sich auf die Verbesserung der Handelszeit, die Kontrolle der Positionsgrößen, die Verringerung von Überschusshandel usw. konzentrieren, um die Strategieleistung robuster zu machen.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © phobo3s //@version=4 strategy("ATR Stop Buy Strategy",shorttitle="ATR-ST",initial_capital=1000, overlay = true, default_qty_type = strategy.percent_of_equity, pyramiding = 5, default_qty_value = 20, commission_type = strategy.commission.cash_per_order, commission_value = 1, calc_on_every_tick = true) daysBack = input(defval=120, title="Days Back", type=input.integer) sellCoeff = input(defval=1.5, title="Selling Coefficent For ATR", type=input.float, minval= 0.01, step=0.1) buyCoeff = input(defval=1.2, title = "Buying Coefficent For ATR", type=input.float, minval= 0.01, step=0.1) fromDate = timenow - (daysBack*24*60*60*1000) toDate = timenow ATR = atr(14) stopLossPoint = ATR * sellCoeff buyPoint = ATR * buyCoeff StoplossLine = close[1] - stopLossPoint[1] BuyLine = close[1] + buyPoint[1] if (high > BuyLine and time >= fromDate and time <= toDate ) strategy.entry("GG", strategy.long, comment="Gir") if (low < StoplossLine and strategy.position_avg_price < close and time >= fromDate and time <= toDate ) strategy.entry("GG", strategy.short, comment="Çık") //longFlags = close < StoplossLine //shortFlags = close > BuyLine //plotshape(shortFlags, style=shape.triangledown, location=location.abovebar, color=color.red) //plotshape(longFlags, style=shape.triangleup, location=location.belowbar, color=color.blue) plot(StoplossLine) plot(BuyLine)