Die Strategie verwendet einen dynamischen Stop-Loss-Punkt zum Handel. Der Stop-Loss-Punkt wird in Echtzeit an den aktuellen Preis und die Volatilität angepasst.
Die spezifische Transaktionslogik:
Berechnen Sie die durchschnittliche reale Schwankungsbreite ATR für einen bestimmten Zeitraum (z. B. 20 Tage)
Der Stop-Loss-Punkt ist der höchste Preis abzüglich der ATR-Multiplikatoren, wenn er im bullish ist.
Der Stop-Loss-Punkt ist der Minimalpreis plus ATR-Multiplikator, wenn der Preis im Rückgang ist.
Umkehrhandel, wenn der Preis den Stop-Loss-Punkt überschreitet
Wenn der Preis den Stop-Loss-Punkt überschreitet, ändert sich der Trend
Anpassung der Stop-Loss-Position an den neuen Status
Die Strategie nutzt die automatische Einstellung von Stop-Loss-Positionen von ATR, um eine dynamische Verfolgung zu ermöglichen. Die Strategie ermöglicht es, Gewinne rechtzeitig zu sperren und Verluste zu vermeiden.
ATR berechnet automatisch den Stop-Loss
Dynamische Anpassungen, Preise in Echtzeit verfolgen
Schadensbegrenzung und Risikokontrolle
Die ATR-Parameter müssen wiederholt getestet werden.
Zu nahe und leicht zu stoppen.
Aufmerksamkeit für die Echtzeit-Veränderung der ATR-Werte
Die Strategie verwendet ATR, um die Stop-Loss-Leistung dynamisch einzustellen und die automatische Nachverfolgung zu ermöglichen. Optimierte ATR-Parameter können bessere Stop-Loss-Effekte erzielen.
/*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)