Die Strategie der doppelten Umkehrung

Schriftsteller:ChaoZhang, Datum: 2024-02-26 12:07:32
Tags:

img

Übersicht

Die Dual-Reversal-Strategie ist eine quantitative Strategie, die das 123 Reversal- und das Drei-Bar-Reversal-Muster kombiniert, um die Signalqualität zu verbessern und das Risiko zu reduzieren.

Strategieprinzip

Die doppelte Umkehrstrategie vereint zwei verschiedene Arten von Handelsstrategien. Die erste ist die 123 Umkehrstrategie, die Preisunterschiedsindikatoren einsetzt und auslöst, wenn sich die Preise über zwei aufeinanderfolgende Tage umkehren und stochastische Indikatoren Schwellenwerte überschreiten. Die zweite ist die Drei-Bar-Umkehrmusterstrategie, die sich an einem Drei-Tage-Candlestick-Chart anschaut und auslöst, wenn der mittlere Tag das niedrigste Tief und der letzte Tag über das Vortagshoch schließt. Die Strategie tritt in eine Long- oder Short-Position ein, wenn beide Strategien gleichzeitig ein Signal in die gleiche Richtung ausgeben.

Insbesondere verwendet die 123 Umkehrstrategie einen 9-tägigen stochastischen Oszillator, um Überkauf- und Überverkaufszustände zu identifizieren. Es erzeugt ein Kaufsignal, wenn die Preise zwei Tage hintereinander fallen und die stochastischen Messwerte unter 50 sinken, und ein Verkaufssignal, wenn die Preise zwei Tage hintereinander steigen und die stochastische Spitze 50 erreicht. Die Drei-Bar-Umkehrmusterstrategie erkennt, ob die Preise über drei Tage ein Hoch-Niedrig-Hoch-Muster gebildet haben, was auf einen kurzfristigen Überverkauf hinweist, der durch die Dynamik umgekehrt wird.

Die Dual-Reversal-Strategie erfordert, dass sich die beiden Strategien einig sind, bevor man Positionen einnimmt.

Analyse der Vorteile

Im Vergleich zu Systemen mit einer einzigen Strategie hat die doppelte Umkehrstrategie folgende Vorteile:

  1. Verbesserte Signalqualität, weniger falsche Signale
  2. Bestätigung der doppelten Indikatoren, geringeres Auslastungsrisiko
  3. Erfasst sowohl kurz- als auch mittelfristige Umkehrchancen
  4. Einfach zu verstehen und umzusetzen

Risiken und Lösungen

Das Hauptrisiko der Dual-Reversal-Strategie besteht darin, einige profitable Chancen zu verpassen. Aufgrund seiner strengen Signalanforderungen werden einige von einzelnen Indikatoren identifizierte Handelschancen übersprungen. Dies kann durch Anpassung von Parametern gemildert werden, um die Bedingungen eines Indikators zu lockern und die Handelsfrequenz zu erhöhen.

Ein weiteres Risiko besteht darin, dass beide Indikatoren gleichzeitig unter extremen Marktbedingungen versagen, was zu einer höheren Rate falscher Signale führt. In solchen Fällen können Stop-Loss-Mechanismen hinzugefügt werden, um Positionen schnell zu lösen und Verluste zu begrenzen. Alternativ können Handelssignale während historisch erwiesener ungünstiger extremer Marktbedingungen deaktiviert werden, um Positionen zu vermeiden.

Optimierungsvorschläge

Weitere Optimierungen für die Dual-Reversal-Strategie sind:

  1. Anpassung der Stochastikindikatorparameter zur Verbesserung der Genauigkeit der Überkauf-/Überverkaufsanalyse
  2. Prüfung der Wirksamkeit verschiedener Handelsinstrumente zur Feststellung der besten Anpassung von Vermögenswerten
  3. Einbeziehung von Modellen des maschinellen Lernens zur Unterstützung der Signalvalidierung und Verbesserung der Genauigkeit
  4. Kombinieren Sie mehr Marktstatistiken wie Volumenänderungen, Intraday-Volatilität, um den optimalen Einstiegszeitpunkt zu bestimmen.

Schlussfolgerung

Die Dual-Reversal-Strategie kombiniert erfolgreich die Prinzipien der Mittelumkehrung mit der Candlestick-Muster-Analyse und erfasst vollständig die Zyklikalität der Preise. Im Vergleich zu einfachen Trend-Folgende Methoden erreicht sie ein Gleichgewicht zwischen Risiko und Belohnung. Mit kontinuierlichen Verbesserungen wird der Wert der Strategie im Laufe der Zeit validiert.


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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/04/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
// This startegy based on 3-day pattern reversal described in "Are Three-Bar 
// Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in 
// January,2000 issue of Stocks&Commodities magazine.
// That pattern conforms to the following rules:
// - It uses daily prices, not intraday or weekly prices;
// - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed;
// - The last day must have a close above the prior day's high, with no ties allowed;
// - Each day must have a nonzero trading range. 
//
// 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

BarReversalPattern() =>
    pos = 0.0
    pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1,
	         iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategies 123 Reversal and 3-Bar-Reversal-Pattern", shorttitle="Combo Backtest", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
pos3BarReversalPattern = BarReversalPattern()
pos = iff(posReversal123 == 1 and pos3BarReversalPattern == 1 , 1,
	   iff(posReversal123 == -1 and pos3BarReversalPattern == -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