Strategie der doppelten Umkehrung Hoch-Niedrig

Schriftsteller:ChaoZhang, Datum: 2024-01-03 13:56:04
Tags:

img

Übersicht

Die Dual Reversal High-Low-Strategie ist eine quantitative Strategie, die zwei Signale kombiniert. Sie integriert eine umgekehrte Intraday-Strategie und eine Trendbeurteilung, die den Unterschied zwischen dem höchsten Preis von gestern und einem gleitenden Durchschnitt nutzt.

Grundsätze

Erstens, der Umkehrstrategie-Teil. Diese Strategie beurteilt die Bildung von Signalen, wenn es eine Umkehrung des Schlusskurses für zwei aufeinanderfolgende Tage gibt, während die Beurteilung von überkauften und überverkauften Zuständen mithilfe des stochastischen Indikators kombiniert wird. Insbesondere ist es ein Verkaufssignal, wenn der Schlusskurs sich für zwei aufeinanderfolgende Tage von einem Anstieg in einen Fall ändert, und der schnelle stochastische Indikator über dem langsamen stochastischen Indikator liegt; es ist ein Kaufsignal, wenn sich der Schlusskurs für zwei aufeinanderfolgende Tage von einem Fall in einen Anstieg ändert, und der schnelle stochastische Indikator unter dem langsamen stochastischen Indikator liegt.

Zweitens, der High-Low-Strategie-Teil. Diese Strategie verwendet die Differenz zwischen dem höchsten Preis von gestern und einem 13-Perioden-exponentiellen gleitenden Durchschnitt, um den Trend zu bestimmen. Es erzeugt ein Kaufsignal, wenn der höchste Preis über dem gleitenden Durchschnitt liegt; es erzeugt ein Verkaufssignal, wenn der höchste Preis unter dem gleitenden Durchschnitt liegt.

Schließlich integriert diese Strategie die beiden Signale. Es wird eine Kaufaktion durchgeführt, wenn beide Signale gleichzeitig ein Kaufsignal zeigen; es wird eine Verkaufsaktion durchgeführt, wenn beide Signale gleichzeitig ein Verkaufssignal zeigen.

Vorteile

Diese Doppelsignalstrategie kann fehlerhafte Signale und unnötige Trades effektiv reduzieren. Der Umkehrteil kann Überkauf- und Überverkaufszustände bestimmen, um Höhen und Verkaufstief zu vermeiden. Der Hoch-Niedrigteil kann Preistrenddivergenzen bestimmen, um falsche Ausbrüche zu vermeiden. Bei der Kombination der Urteile werden nur dann tatsächliche Handelssignale generiert, wenn die Doppelsignale in die gleiche Richtung sind, was die Zuverlässigkeit der Signale erheblich verbessern und ineffektive Trades reduzieren kann.

Darüber hinaus verwenden die Umkehrung und die hohen-niedrigen Teile verschiedene Arten von Indikatoren und Beurteilungskriterien, so dass sie dazu dienen können, sich gegenseitig zu validieren und falsche Signale weiter zu reduzieren.

Risikoanalyse

Das größte Risiko dieser Strategie besteht darin, dass anhaltende vernünftige einseitige Signale in einem starken Trending-Markt ignoriert werden können. Wenn der Trend sehr offensichtlich ist, kann das Signalurteil des Umkehrteils falsch sein, was dazu führen kann, dass die einseitigen Signale im High-Low-Teil nicht als Trades ausgeführt werden.

Darüber hinaus können auch unsachgemäße Parameter-Einstellungen die Strategie beeinflussen. Die Parameter-Einstellungen im Umkehrteil müssen das System des gleitenden Durchschnitts des Zyklus berücksichtigen, und die gleitende Durchschnittsperiode im hohen-niedrigen Teil muss koordiniert werden. Wenn die Perioden beider unsachgemäss sind, gibt es mittelmäßige falsche Signale oder einfach keine Signale.

Optimierung

Zunächst kann der Längeparameter des gleitenden Durchschnitts im Hoch-Niedrigteil getestet werden, um ihn besser mit den Zyklusindikatoren im Umkehrteil zu koordinieren.

Zweitens kann der Umkehrteil auch mit K-Linien-Einheiten statt nur mit dem Schlusskurs getestet werden, der leicht beeinflusst werden kann.

Der Anbieter kann auch versuchen, nur dann Geschäfte zu tätigen, wenn während der Sitzung Umkehrsignale auftreten, da die aktuelle Intraday-Holding-Methode höhere Risiken birgt.

Schlussfolgerung

Die Dual-Reversal-High-Low-Strategie integriert Signale aus mehreren Indikatoren und führt eine doppelte Verifizierung vor der Ausgabe von Kauf- und Verkaufssignalen durch. Dieser strenge Signalfiltermechanismus kann die Auswirkungen ungültiger und falscher Signale auf den tatsächlichen Handel effektiv reduzieren. Die Strategie kontrolliert erfolgreich die Häufigkeit ineffizienter Trades, macht jeden Handel zuverlässiger und vermeidet es, kurzfristigen Marktbewegungen blind zu folgen. Durch Parameteroptimierung kann sie in bestimmten Märkten eine bessere Performance erzielen.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/11/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
// This indicator plots the difference between the High (of the previous period)
// and an exponential moving average (13 period) of the Close (of the previous period).
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// It buy if indicator above 0 and sell if below.
//
// 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

    
HEMA(Length) =>
    pos = 0.0
    xPrice = close  // You can use any series
    xEMA = ema(xPrice, Length)
    nRes = high[1] - nz(xEMA[1])
    pos:= iff(nRes > 0, 1,
    	   iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High - EMA Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HEMA = input(13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHEMA = HEMA(Length_HEMA)
pos = iff(posReversal123 == 1 and posHEMA == 1 , 1,
	   iff(posReversal123 == -1 and posHEMA == -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