
Die Strategie verwendet die Wilder Volatility Trailing Stop Methode, die in Kombination mit ATR-Indikatoren und verschiedenen Arten von Moving Averages eine sehr anpassungsfähige Trend-Trailing-Stop-Strategie ermöglicht.
Der Kern dieser Strategie ist der Algorithmus des Wilder Volatility Trailing Stops. Er berechnet zunächst die ATR-Anzeige, berechnet die Länge und die Multiplikation der ATR-Anzeige nach den eingegebenen Parametern und erhält eine dynamische Stop-Line.
Der Code umfasst zunächst die Funktion f_ma, um verschiedene Moving Averages wie RMA, EMA, SMA und Hull MA zu realisieren. Die ATR-Anzeige wird dann mit dem vom Benutzer festgelegten Multiplikator multipliziert, um eine Stop-Line zu erhalten, die auf der Volatilität basiert. Die Funktion “highest” und “lowest” verfolgen die Höchst- und Tiefpunkte der Stop-Line und handeln, wenn der Preis die Stop-Line durchbricht.
Die Strategie nutzt ATR-Indikatoren, verschiedene Arten von Mittellinien und Parameter-Einstellungen, um eine sehr anpassungsfähige Trend-Stopp-Strategie zu realisieren. Sie kann Trends effektiv verfolgen und bei größeren Marktrückgängen den Kurs abbrechen.
Die Strategie setzt zunächst auf den Wilder Volatility Trailing Stop-Algorithmus, eine bewährte und zuverlässige Methode zur Trendverfolgung.
Die Strategie verwendet die ATR-Anzeige, um die Stop-Line dynamisch zu berechnen, um zu verhindern, dass die Stop-Line zu steif ist. Die ATR-Anzeige kann die Volatilität und das Risiko des Marktes effektiv widerspiegeln.
Der Code ermöglicht die Auswahl von RMA, EMA, SMA und Hull MA, was die Anpassungsfähigkeit der Strategie erhöht.
Durch die Anpassung der ATR-Länge und der Multiplikationsparameter können die optimalen Parameter für verschiedene Märkte gefunden und die Effektivität der Strategie optimiert werden.
Die Strategie nutzt verschiedene Preisoptionen wie Höchst-, Tief- und Schlusskurs, um die Stop-Loss-Linie zu berechnen, die für verschiedene Sorten optimiert werden kann.
Insgesamt ist die Strategie eine zuverlässige, anpassungsfähige und leicht optimierbare Trend-Tracking-Stopp-Strategie.
Die Strategie beruht hauptsächlich auf Parameteroptimierung, die in verschiedenen Märkten und Sorten getestet werden muss, um die richtige Kombination von ATR und Multiplikatorparameter zu finden, ansonsten kann die Stop-Loss-Effektivität schwach sein.
In einem wackligen Umfeld kann es vorkommen, dass die ATR-Stopp-Linie häufig einen Stopp auslöst. Die Optimierung muss in Kombination mit einem Trend-Kennzeichen durchgeführt werden, um einen wackligen Trend zu vermeiden.
Eine zu lockere Stop-Line verpasst die Möglichkeit, einen Rückzug zu verhindern; eine zu enge Stopp-Line erhöht die Handelsfrequenz und die Kosten für die Gleitpunkte. Es muss sorgfältig getestet werden, um einen Ausgleichspunkt zu finden.
Die Auswahl von mehreren Durchschnittslinien kann zu einer Abweichung der Wirksamkeit der Strategie führen. Für die jeweilige Sorte sollte eine Hauptmittellinie ausgewählt werden, die anderen Mittellinien dienen nur als Hilfsreferenzen.
Die Strategie konzentriert sich auf Trendverfolgung und kann nicht direkt profitiert werden. Die Verwendung in Kombination mit anderen Markteintritts- und Ausstiegsstrategien oder Stop-Off-Strategien sollte in Betracht gezogen werden.
Wenn die Parameter nicht aktuell sind, kann die Strategie zu häufig gehandelt oder zu lange gehalten werden. Dies muss durch Optimierung behoben werden.
Es kann in Erwägung gezogen werden, Trendindikatoren einzusetzen, um zu beurteilen, ob ein Trend besteht, und um zu vermeiden, dass man in einer Erschütterung verwickelt wird.
Es kann getestet werden, dass ein Umkehrungselement hinzugefügt wird, um die Stop-Loss-Position schneller in die Richtung zu wechseln, wenn sich der Wind- und der Mehrkopf-Trend abwechseln.
Es kann versucht werden, die ATR-Längenparameter mit den Merkmalen der Handelsarten zu verknüpfen, wobei verschiedene Arten unterschiedliche ATR-Längen einstellen.
Es kann versucht werden, einen Handelsvolumenindikator hinzuzufügen, um die Stop-Loss-Linie zu verschärfen, wenn der Handelsvolumen deutlich zurückgeht.
Es kann in Betracht gezogen werden, die Rücknahmequote zu erhöhen, aber nicht zu eng, um zu verhindern, dass die normale Rücknahme zu stark beeinträchtigt wird.
Es ist möglich, die Urteilsfähigkeit mit anderen Indikatoren zu kombinieren und die Parameter zu optimieren, um die Stop-Loss-Range bei unzureichender Leistung angemessen zu erleichtern.
Die Strategie basiert auf der Idee des Wilder Volatility Trailing Stops und nutzt die ATR-Indikatoren, um eine sehr anpassungsfähige Trend-Tracking-Stopp-Strategie zu entwickeln. Sie kann durch Parameteroptimierung sehr gut an verschiedene Handelsarten angepasst werden und ist eine zuverlässige und praktische Stop-Strategie. Wir müssen jedoch auch auf das Risiko achten, indem wir Trendurteile und Handelsvolumen-Elemente hinzufügen, um sie weiter zu optimieren und zuverlässiger zu machen.
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Wilder's Volatility Trailing Stop Strategy with various MA's
// by SparkyFlary
//For Educational Purposes
//Results can differ on different markets and can fail at any time. Profit is not guaranteed.
strategy(title="Wilder's Volatility Trailing Stop Strategy with various MA's", shorttitle="Trailing Stop Strategy", overlay=true)
AtrMult = input(3.0, title="ATR multiplier")
ATRlength = input(7, title="ATR length")
ATRavgType = input("RMA", title="ATR moving average type", options=["RMA", "EMA", "SMA", "HULL"])
sicType = input("close", title="significant close type for trail calculation", options=["close", "high-low"])
//function for choosing moving averages
f_ma(type, src, len) =>
float result = 0
if type == "RMA" // Wilder's moving averaege or Running moving average
result := rma(src, len)
if type == "EMA" // Exponential moving average
result := ema(src, len)
if type == "SMA" // Simple moving average
result := sma(src, len)
if type == "HULL" // Hull moving average
result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))
result
ATR = f_ma(ATRavgType, tr, ATRlength)
upperTrail = lowest(sicType=="close"?close:low, ATRlength) + AtrMult * ATR
lowerTrail = highest(sicType=="close"?close:high, ATRlength) - AtrMult * ATR
float TS = 0
TS := close < TS[1] ? upperTrail[1] : close > TS[1] ? lowerTrail[1] : TS
//plot
plot(TS, title="trailing stop", color=close<TS?color.red:color.green)
//Strategy
buy = crossover(close, TS)
//sell = close < TS
short = crossunder(close, TS)
//cover = close > TS
strategy.entry(id="enter long", long=true, when=buy)
//strategy.close(id="enter long", comment="exit long", when=sell)
strategy.entry(id="enter short", long=false, when=short)
//strategy.close(id="enter short", comment="exit short", when=cover)