Kombinationsstrategie der doppelten Umkehrung des gleitenden Durchschnitts und des ATR Trailing Stop

Schriftsteller:ChaoZhang, Datum: 2024-01-26 11:26:40
Tags:

img

Übersicht

Die Kombinationsstrategie der doppelten gleitenden Durchschnittsumkehrung und des ATR-Trailing-Stops ist eine sehr praktische quantitative Handelsstrategie. Die Strategie verwendet zunächst das Todeskreuz und das goldene Kreuz, das durch die doppelten gleitenden Durchschnitte gebildet wird, um Markttrends und Umkehrpunkte zu bestimmen. Gleichzeitig kombiniert die Strategie auch die durchschnittliche wahre Bandbreite, um Trail-Stops zu setzen, um Gewinne zu erzielen und Risiken zu kontrollieren.

Strategieprinzip

Strategie zur Umkehrung des doppelten gleitenden Durchschnitts

Die doppelte gleitende Durchschnittsumkehrstrategie verwendet die Überschneidung von schnellen und langsamen Linien, um Markttrends zu bestimmen. Wenn die schnelle Linie unterhalb der langsamen Linie von oben nach unten kreuzt, bildet sie ein Todeskreuz, was darauf hindeutet, dass sich der Markttrend von oben nach unten ändert. Wenn die schnelle Linie über die langsame Linie von unten nach oben kreuzt, bildet sie ein goldenes Kreuz, was darauf hindeutet, dass sich der Markttrend von unten nach oben ändert.

Insbesondere verwendet die Strategie die 9-tägige STOCH-Schnelllinie als schnelle Linie und den 3-tägigen EMA als langsame Linie. Wenn Close niedriger ist als der vorherige Close und die schnelle Linie über 50 überschreitet, um über die langsame Linie zu gehen, wird die Position für den Short freigegeben. Wenn Close höher ist als der vorherige Close und die schnelle Linie unter 50 überschreitet, um unter die langsame Linie zu gehen, wird die Position für den Long freigegeben.

Strategie zur Verringerung des ATR-Ausweichens

Die ATR-Trailing-Stop-Strategie verwendet die durchschnittliche wahre Bandbreite, um Stop-Loss-Punkte zu setzen. Der ATR-Indikator kann die kurzfristige Volatilität des Marktes effektiv widerspiegeln. Die Strategie setzt einen Trail-Stop basierend auf dem Wert von ATR, um auszusteigen, wenn sich der Preistrend umkehrt.

Insbesondere verwendet die Strategie 5-Tage-ATR und setzt den Stop-Loss-Punkt bei einem Schlusspunkt von minus 3,5 mal ATR. Wenn der Preis den Stop-Loss-Punkt erreicht, schließt sie die Position für den Stop-Loss.

Analyse der Vorteile

Die Kombinationsstrategie der doppelten gleitenden Durchschnittsumkehrung und des ATR-Trailing Stop vereint den Vorteil der gleitenden Durchschnittsstrategie bei der Bestimmung von Trends und Umkehrungen mit dem Vorteil der ATR-Trail Stop-Strategie bei der Risikokontrolle und ist somit eine sehr praktische Strategie.

Die Strategie weist insbesondere folgende Vorteile auf:

  1. Verwenden Sie das durch zwei gleitende Durchschnitte gebildete Todeskreuz und das goldene Kreuz, um Trendumkehrpunkte zu bestimmen und Umkehrsignale genau zu identifizieren.

  2. Kombination des STOCH-Indikators zur Bestätigung der Umkehrsignale und zur Vermeidung falscher Signale.

  3. Der ATR Trailing Stop setzt flexibel Stop-Loss-Punkte anhand der Marktvolatilität, um die Gewinnbindung zu maximieren.

  4. Die Strategie umfasst mehrere Indikatoren und technische Analysemethoden, um die Strategie zu stärken.

  5. Die Strategieidee ist klar und leicht verständlich, die Parameter sind flexibel anpassbar und im Live-Handel einfach zu bedienen.

Risikoanalyse

Obwohl die Strategie viele Vorteile bietet, gibt es noch einige Risiken zu beachten:

  1. Die Signale, die durch doppelte gleitende Durchschnitte erzeugt werden, können sich verzögern und nicht in der Lage sein, an Umkehrpunkten genau zu kaufen und zu verkaufen.

  2. Der ATR-Indikator ist nicht anfällig für große Marktschwankungen und kann den Stop-Loss nicht rechtzeitig aktualisieren.

  3. Die Kombination von mehreren Parametern und Bedingungen erhöht die Komplexität der Strategie. Falsche Parameter können zu aggressivem Handel führen und Risiken erhöhen. Parameter müssen sorgfältig ausgewertet und schrittweise angepasst werden.

Optimierungsrichtlinien

Nach der vorstehenden Risikoanalyse kann die Strategie in folgenden Aspekten optimiert werden:

  1. Anpassung der gleitenden Durchschnittsperiodenparameter, um Perioden für die frühzeitige Erfassung von Umkehrchancen zu verkürzen.

  2. Hinzufügen anderer Indikatoren zur Bestimmung von Umkehrsignalen, wie MACD, KD usw., um mehrere Bestätigungen zu bilden.

  3. Dynamische Anpassung von ATR-Perioden oder Einführung von Marktvolatilität zur Echtzeit-Aktualisierung von Stop-Loss.

  4. Die Unterschiede zwischen Aktien- und Futuresmärkten zu bewerten und die Parameter entsprechend anzupassen, um sie für beide Märkte besser geeignet zu machen.

  5. Hinzufügen von Handelskosten und Slippage bei Backtesting, um die Strategie näher an die Live-Handelsumgebung anzupassen.

  6. Überlegen Sie, ob Sie maschinelle Lernmodelle hinzufügen, um mehrere Parameter dynamisch zu optimieren.

Zusammenfassung

Die Kombinationsstrategie der doppelten gleitenden Durchschnittsumkehrung und des ATR-Trailing-Stops ist eine effiziente und praktische quantitative Strategie. Sie kombiniert die doppelten Vorteile der Bestimmung der Marktumkehrung mit gleitenden Durchschnitten und der Kontrolle von Risiken durch Einstellung von ATR-Trail-Stops. Sie gewährleistet Gewinn und reduziert unnötige Verluste. Die Strategie verfügt über eine flexible Parameteranpassung und ist im Live-Handel einfach zu bedienen. Gleichzeitig kann sie auch in mehreren Aspekten erweitert und optimiert werden, um sich an umfangreichere Marktumgebungen anzupassen. Insgesamt bietet die Strategie einen ausgezeichneten strategischen Rahmen für den quantitativen Handel.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/05/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Secon strategy
// Average True Range Trailing Stops Strategy, by Sylvain Vervoort 
// The related article is copyrighted material from Stocks & Commodities Jun 2009 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


ATR_TrailingStop(nATRPeriod, nATRMultip) =>
    xATR = atr(nATRPeriod)
    nLoss = nATRMultip * xATR
    pos = 0.0
    xATRTrailingStop = 0.0
    xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
                         iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), 
                           iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
    pos := iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
    	     iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 

    pos

strategy(title="Combo Backtest 123 Reversal & Average True Range Trailing Stops", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
nATRPeriod = input(5)
nATRMultip = input(3.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posATR_TrailingStop = ATR_TrailingStop(nATRPeriod, nATRMultip)
pos = iff(posReversal123 == 1 and posATR_TrailingStop == 1 , 1,
	   iff(posReversal123 == -1 and posATR_TrailingStop == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 

Mehr