Strategie zur Umkehrung der Dynamik mit doppelter Bestätigung

Schriftsteller:ChaoZhang, Datum: 2024-02-20 15:27:02
Tags:

img

Übersicht

Die Reversal Momentum-Strategie kombiniert Preisumkehrsignale und Volatilitätsumkehrsignale, um den Trendhandel umzusetzen. Sie verwendet hauptsächlich das 123 Muster, um Preisumkehrpunkte zu bestimmen, während sie die Volatilität des Donchian Channel als Filter für falsche Signale verwendet. Diese Strategie eignet sich für mittelfristige bis langfristige Holdings. Durch die doppelte Bestätigung von Umkehrungen kann sie Marktwendepunkte effektiv erfassen und überschüssige Renditen erzielen.

Strategieprinzip

Der Preisumkehrteil verwendet das 123 Muster zum Beurteilen. Dieses Muster bedeutet, dass sich die Preise der ersten beiden K-Linien in entgegengesetzte Richtungen (nach oben oder unten) bewegen und die dritte K-Line wieder umkehrt (nach unten oder nach oben). Daher wird es das 123 Muster genannt. Wenn ein Preis mit drei K-Linien erscheint, die sich umkehren, signalisiert es normalerweise, dass sich ein kurzfristiger Trend drehen wird. Um die Zuverlässigkeit von Preisumkehrungen weiter zu überprüfen, verwendet diese Strategie auch einen stochastischen Indikator, um nur dann Trades auszulösen, wenn sich der stochastische Indikator ebenfalls umkehrt (die schnelle Linie fällt zurück oder steigt schnell).

Der Volatilitätsumkehranteil verwendet die Volatilität des Donchian-Kanals. Der Donchian-Kanal spiegelt hauptsächlich den Kursschwankungsbereich wider. Wenn die Preisvolatilität zunimmt, erweitert sich auch die Breite des Donchian-Kanals; wenn die Preisvolatilität abnimmt, schrumpft auch die Breite des Donchian-Kanals. Die Volatilität des Donchian-Kanals (Breite) kann den Grad der Marktschwankung und das Risikoniveau effektiv messen. Diese Strategie verwendet die Umkehrung der Volatilität des Donchian-Kanals, um falsche Signale auszufiltern, indem nur Handelssignale ausgegeben werden, wenn sich Volatilität und Preise gleichzeitig umkehren, um nicht in Rückrufoperationen gefangen zu werden.

Zusammenfassend lässt sich sagen, dass diese Strategie die Zuverlässigkeit der Handelssignale gewährleistet und die Risiken durch eine doppelte Umkehrvalidierung kontrolliert, was sie zu einer relativ robusten Trendstrategie macht.

Vorteile

  • Doppelfiltermechanismus stellt die Zuverlässigkeit der Handelssignale sicher und verhindert falsche Ausbrüche
  • Kontrolle der Risiken und Verringerung der Verlustwahrscheinlichkeit
  • Geeignet für mittelfristige bis langfristige Beteiligungen, vermeidet Marktlärm und erwirtschaftet überschüssige Renditen
  • Großer Optimierungsraum für Parameter, die für den optimalen Zustand angepasst werden können
  • Einzigartiger Stil funktioniert gut in Kombination mit gemeinsamen technischen Indikatoren

Risiken

  • Verlässt sich auf Parameteroptimierung, unsachgemäße Parameter beeinflussen die Strategieleistung
  • Die Stop-Loss-Strategie muss weiter verbessert werden, die maximale Auslastungskontrolle muss verbessert werden
  • Handelsfrequenz kann niedrig sein, kann sich nicht an den hochfrequenten algorithmischen Handel anpassen
  • Erfordert Auswahl geeigneter Produkte und Zeitrahmen, begrenzter Anwendungsbereich
  • Maschinelles Lernen kann zur Suche nach optimalen Parametern verwendet werden

Optimierungsrichtlinien

  • Erhöhen Sie das adaptive Stop-Loss-Modul, um den maximalen Drawdown erheblich zu reduzieren
  • Einführung eines Handelsvolumenindikators zur Gewährleistung des Einsatzes von Breakouts mit hohem Volumen
  • Optimierung der Parameter für beste Stabilität
  • Versuchen Sie verschiedene Produkte und Zeitrahmen, um die beste Lösung zu finden
  • Versuchen Sie, sie mit anderen Indikatoren oder Strategien für 1+1>2 Synergien zu kombinieren

Zusammenfassung

Die Reversal Momentum Strategie erreicht eine gute Risikokontrolle durch doppelte Bestätigung der Preisumkehrung und Volatilitätsumkehrung. Im Vergleich zu einzelnen Indikatoren filtert sie viel Lärm aus und hat eine bessere Stabilität. Durch die Verbesserung der Parameteroptimierung, die Einführung von Stop-Loss-Modulen, das Einführen von Volumen usw. kann diese Strategie die Signalqualität und die Gewinnstabilität weiter verbessern. Sie eignet sich als Bestandteil von mittelfristigen bis langfristigen Strategien für Aktien, Kryptowährungen usw. und kann bei richtiger Kombination mit anderen Modulen gute Überzinsrenditen erzielen.


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/03/2020
// This is combo strategies for get a cumulative signal. 
//
// 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.
//
// Second strategy
// The Donchian Channel was developed by Richard Donchian and it could be compared 
// to the Bollinger Bands. When it comes to volatility analysis, the Donchian Channel 
// Width was created in the same way as the Bollinger Bandwidth technical indicator was.
//
// As was mentioned above the Donchian Channel Width is used in technical analysis to measure 
// volatility. Volatility is one of the most important parameters in technical analysis. 
// A price trend is not just about a price change. It is also about volume traded during this 
// price change and volatility of a this price change. When a technical analyst focuses his/her 
// attention solely on price analysis by ignoring volume and volatility, he/she only sees a part 
// of a complete picture only. This could lead to a situation when a trader may miss something and 
// lose money. Lets take a look at a simple example how volatility may help a trader:
//
//    Most of the price based technical indicators are lagging indicators.
//    When price moves on low volatility, it takes time for a price trend to change its direction and 
// it could be ok to have some lag in an indicator.
//    When price moves on high volatility, a price trend changes its direction faster and stronger. 
// An indicator's lag acceptable under low volatility could be financially suicidal now - Buy/Sell signals could be generated when it is already too late.
//
// Another use of volatility - very popular one - it is to adapt a stop loss strategy to it:
//    Smaller stop-loss recommended in low volatility periods. If it is not done, a stop-loss could 
// be generated when it is too late.
//    Bigger stop-loss recommended in high volatility periods. If it is not done, a stop-loss could 
// be triggered too often and you may miss good trades.
//
// 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

DCW(length, smoothe) =>
    pos = 0.0
    xUpper = highest(high, length)
    xLower = lowest(low, length)
    xDonchianWidth = xUpper - xLower
    xSmoothed = sma(xDonchianWidth, smoothe)
    pos := iff(xDonchianWidth > xSmoothed, -1,
              iff(xDonchianWidth < xSmoothed, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Donchian Channel Width", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDCW = input(20, minval=1)
SmootheSCW = input(22, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDCW = DCW(LengthDCW, SmootheSCW)
pos = iff(posReversal123 == 1 and posDCW == 1 , 1,
	   iff(posReversal123 == -1 and posDCW == -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 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Mehr