Diese Strategie verwendet dynamische Gewinnziele und Stop-Losses, die sich anhand des aktuellen Preises und der Volatilität anpassen.
Die Logik lautet:
Berechnung des durchschnittlichen tatsächlichen Bereichs (ATR) über einen Zeitraum (z. B. 20 Tage)
Im Aufwärtstrend ist das Gewinnziel/Stop der höchste Preis minus ATR-Multiplikator
Bei einem Abwärtstrend ist das Gewinnziel/Stop der niedrigste Preis zuzüglich des ATR-Multiplikators
Umgekehrter Handel, wenn der Preis das Gewinnziel/Stop übersteigt
Trendänderungen, wenn der Preis das Gewinnziel/Stop überschreitet
Anpassung des Gewinnziels/Stopps auf der Grundlage des neuen Trendzustands
Die Strategie nutzt ATR, um automatisch dynamische Gewinnziele und Stopps festzulegen, um rechtzeitig Gewinne zu erzielen und übermäßige Verluste zu vermeiden.
ATR berechnet automatisch Gewinn/Stopp-Level
Dynamische Anpassungspuren Preis in Echtzeit
Zeitgemäße Gewinnaufnahme und Einstellung der Risikokontrolle
ATR-Parameter müssen optimiert werden
Wenn man zu nah anhält, läuft man Gefahr, ausgeschlossen zu werden.
Notwendigkeit, Echtzeit-ATR-Änderungen zu überwachen
Diese Strategie verwendet ATR, um dynamisch Profit/Stop-Levels für automatisches Trailing festzulegen.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Dhananjay Volatility stop strategy v1.0", overlay=true) length = input(20) mult = input(1) atr_ = atr(length) max1 = max(nz(max_[1]), close) min1 = min(nz(min_[1]), close) is_uptrend_prev = nz(is_uptrend[1], true) stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_ vstop_prev = nz(vstop[1]) vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop) is_uptrend = close - vstop1 >= 0 is_trend_changed = is_uptrend != is_uptrend_prev max_ = is_trend_changed ? close : max1 min_ = is_trend_changed ? close : min1 vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1 plot(vstop, color = is_uptrend ? green : red, style=line, linewidth=2) bearish = close < vstop bullish = close > vstop if (bullish) strategy.entry("Buy", strategy.long, 1) if (bearish) strategy.entry("Sell", strategy.short, 1)