Die Doppel-ATR-Schleppschluss-Strategie ist eine Short-Line-Trading-Strategie, die auf der mittleren realen Breite (ATR) basiert. Die Strategie setzt gleichzeitig eine schnelle ATR-Linie und eine langsame ATR-Linie ein, um Ein- und Ausgänge auf der Grundlage der Kreuzung der beiden Stop-Lines zu beurteilen. Die Strategie ist einfach zu verstehen, reagiert schnell und eignet sich für einen stark volatilen Markt.
Die Strategie verwendet hauptsächlich die ATR-Indikatoren, um zwei Stop-Lines zu setzen. Die eine ist eine schnelle ATR-Linie, ATR-Zyklus kurz, multipliziert klein, schnell reagiert; die andere ist eine langsame ATR-Linie, ATR-Zyklus lang, multipliziert groß, und wirkt als Filter. Ein Kaufsignal wird erzeugt, wenn die schnelle ATR-Linie die langsame ATR-Linie durchquert.
Die Logik des Betriebs ist: Berechnung der schnellen ATR-Linie und der langsamen ATR-Linie; wenn der Schnellen-Linie-Preis höher ist als der langsamen Linie, wird mit der schnellen Linie ein Stop-Off getätigt, ansonsten mit der langsamen Linie. Die Kline-Farbe zeigt die derzeit verwendete Stop-Off-Linie an, grün und blau zeigt den Stop-Off mit der schnellen Linie an, rot und gelb zeigt den Stop-Off mit der langsamen Linie an.
Eine doppelte ATR-Follow-Loss-Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Diese Risiken können durch die Optimierung der ATR-Zyklen, die Anpassung der ATR-Multiplikation und die Filterung anderer Indikatoren verringert werden.
Weitere Optimierungsmöglichkeiten für eine doppelte ATR-Follow-Loss-Strategie sind:
Die Doppel-ATR-Folge-Loss-Strategie ist insgesamt einfach zu verstehen und zu implementieren. Sie eignet sich insbesondere für Szenarien mit hoher Volatilität und ermöglicht eine effektive Risikokontrolle. Der Optimierungsraum ist groß und kann durch Parameteranpassung, Hinzufügen von Filtern usw. verbessert werden.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © ceyhun
//@version=4
strategy("ATR Trailing Stop Strategy by ceyhun", overlay=true)
/////////notes////////////////////////////////////////
// This is based on the ATR trailing stop indicator //
// width addition of two levels of stops and //
// different interpretation. //
// This is a fast-reacting system and is better //
// suited for higher volatility markets //
//////////////////////////////////////////////////////
SC = input(close, "Source", input.source)
// Fast Trail //
AP1 = input(5, "Fast ATR period", input.integer) // ATR Period
AF1 = input(0.5, "Fast ATR multiplier", input.float) // ATR Factor
SL1 = AF1 * atr(AP1) // Stop Loss
Trail1 = 0.0
Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1)))
// Slow Trail //
AP2 = input(10, "Slow ATR perod", input.integer) // ATR Period
AF2 = input(2, "Slow ATR multiplier", input.float) // ATR Factor
SL2 = AF2 * atr(AP2) // Stop Loss
Trail2 = 0.0
Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0), min(nz(Trail2[1], 0), SC + SL2), iff(SC > nz(Trail2[1], 0), SC - SL2, SC + SL2)))
// Bar color for trade signal //
Green = Trail1 > Trail2 and close > Trail2 and low > Trail2
Blue = Trail1 > Trail2 and close > Trail2 and low < Trail2
Red = Trail2 > Trail1 and close < Trail2 and high < Trail2
Yellow = Trail2 > Trail1 and close < Trail2 and high > Trail2
// Signals //
Bull = barssince(Green) < barssince(Red)
Bear = barssince(Red) < barssince(Green)
Buy = crossover(Trail1, Trail2)
Sell = crossunder(Trail1, Trail2)
TS1 = plot(Trail1, "Fast Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.blue : color.yellow, linewidth=2)
TS2 = plot(Trail2, "Slow Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.green : color.red, linewidth=2)
fill(TS1, TS2, Bull ? color.green : color.red, transp=90)
plotcolor = input(true, "Paint color on chart", input.bool)
bcl = iff(plotcolor == 1, Blue ? color.blue : Green ? color.lime : Yellow ? color.yellow : Red ? color.red : color.white, na)
barcolor(bcl)
if Buy
strategy.entry("Buy", strategy.long, comment="Buy")
if Sell
strategy.entry("Sell", strategy.short, comment="Sell")