Quantifizierte Umkehrverfolgungsstrategie mit zwei Treibern

Schriftsteller:ChaoZhang, Datum: 2024-02-18 10:03:14
Tags:

img

Übersicht

Die Quantifizierte Umkehrverfolgungsstrategie mit zwei Treibern kombiniert einfache gleitende Durchschnittsindikatoren und zufällige Indikatoren, um eine effiziente und stabile kurzfristige Handelsstrategie zu erreichen, die schnelle Umkehrungen des Marktes erfassen und gleichzeitig die Opportunitätskosten für fehlende Signale reduziert.

Strategieprinzip

Die Strategie besteht aus zwei Teilen: 123 Umkehrmusterteil und adaptivem gleitenden Durchschnittsteil. Der 123 Umkehrmusterteil beurteilt, ob es eine Umkehrmöglichkeit gibt, indem er die Schlusskursbeziehung zwischen den beiden vorherigen Handelstagen berechnet. Wenn der Schlusskurs am vorherigen Tag niedriger ist als der am 2. vorherigen Tag und der Schlusskurs am aktuellen Handelstag höher ist als der am vorherigen Tag und die langsame zufällige Linie unter 50 liegt, wird ein Kaufsignal generiert. Wenn der Schlusskurs am vorherigen Tag höher ist als der am 2. vorherigen Tag und der Schlusskurs am aktuellen Handelstag niedriger als der vorherige Tag und die schnelle Linie über 50 liegt, wird ein Verkaufssignal generiert. Dies kann kurzfristige Umkehrmöglichkeiten erfassen. Der andere Teil ist der bewegliche Durchschnittssignal, der schnell reagiert, wenn der Markt inaktiv ist und schnell reagiert, was das Geräusch und die Trendsignalen vermeiden kann, wenn die wichtigsten

Vorteile der Strategie

Der größte Vorteil der Dual-Driver Quantized Reversal Tracking Strategie besteht darin, dass sie Umkehrmuster und Trendfilterung kombiniert, um schnelle Umkehrungen zu erfassen und gleichzeitig zu vermeiden, in einem Schockmarkt gefangen zu sein. Es gibt zwei Haupteinnahmequellen: Erstens kann die Identifizierung des 123-Musters schnell Chancen erkennen, wenn die Preise schnell die Richtung umkehren, was viele stabile Strategien nicht tun können. Zweitens sorgt die Anwendung von adaptiven gleitenden Durchschnitten dafür, dass die Handelsrichtung mit dem Haupttrend übereinstimmt, was das Rauschen effektiv filtert und unnötige Verluste reduziert.

Risiken der Strategie

Das Hauptrisiko dieser Strategie besteht darin, dass unsachgemäße Parameter-Einstellungen zu einer übermäßig hohen Handelsfrequenz oder einer unzureichenden Signalidentifikationsfähigkeit führen können. Wenn die Parameter des 123-Musters zu empfindlich sind, kann dies zu häufigem Handel in volatilen Marktbedingungen führen, was zu mehr Schlusserlusten führt. Wenn die adaptive gleitende Durchschnittsparameter zu langsam festgelegt werden, können Umkehrmöglichkeiten verpasst werden. Darüber hinaus führt das Verfolgen neuer Höchststände und der Verkauf von Tiefständen in einem Trendmarkt auch zu größeren Kapitalschwankungen.

Optimierung der Strategie

Die Strategie kann auf verschiedene Arten optimiert werden: Erstens, die Parameter des 123 Musters anpassen, um klare Umkehrungen zu erkennen, ohne zu empfindlich auf falsche Signale zu reagieren. Zweitens, optimieren Sie adaptive gleitende Durchschnittsparameter, um das beste Gleichgewicht zwischen Stabilität und Empfindlichkeit zu finden. Drittens können Stop-Loss-Strategien eingeführt werden, um einzelne Verluste zu kontrollieren. Viertens können Marktsentiment-Indikatoren kombiniert werden, um die Entscheidungsqualität zu verbessern.

Zusammenfassung

Durch die kontinuierliche Optimierung der Parameter-Einstellungen und die Verbesserung der Stop-Loss- und Risikokontrolle-Mechanismen hat diese Strategie das Potenzial, zu einer effizienten quantitativen Handelsstrategie zu werden, die leicht zu profitieren ist und kontrollierte Risiken birgt.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/12/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
// Everyone wants a short-term, fast trading trend that works without large
// losses. That combination does not exist. But it is possible to have fast
// trading trends in which one must get in or out of the market quickly, but
// these have the distinct disadvantage of being whipsawed by market noise
// when the market is volatile in a sideways trending market. During these
// periods, the trader is jumping in and out of positions with no profit-making
// trend in sight. In an attempt to overcome the problem of noise and still be
// able to get closer to the actual change of the trend, Kaufman developed an
// indicator that adapts to market movement. This indicator, an adaptive moving
// average (AMA), moves very slowly when markets are moving sideways but moves
// swiftly when the markets also move swiftly, change directions or break out of
// a 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

KAMA(Length) =>
    pos = 0.0
    nAMA = 0.0
    xPrice = close
    xvnoise = abs(xPrice - xPrice[1])
    nfastend = 0.666
    nslowend = 0.0645
    reverse = input(false, title="Trade reverse")
    nsignal = abs(xPrice - xPrice[Length])
    nnoise = sum(xvnoise, Length)
    nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
    nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
    nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
    pos := iff(close[1] > nAMA, 1,
    	     iff(close[1] < nAMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Kaufman Moving Average Adaptive", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthKAMA = input(21, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKAMA = KAMA(LengthKAMA)
pos = iff(posReversal123 == 1 and posKAMA == 1 , 1,
	   iff(posReversal123 == -1 and posKAMA == -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