Doppelfaktorische Strategie zur quantitativen Rückkehrverfolgung

Schriftsteller:ChaoZhang, Datum: 2023-12-20 17:26:38
Tags:

img

Übersicht

Diese Strategie kombiniert das 123 Umkehrmuster und den Awesome Oscillator Indikator, um den quantitativen Umkehrverfolgungshandel mit zwei Faktoren zu implementieren.

Die Strategie eignet sich hauptsächlich für den mittelfristig-kurzfristigen Umkehrhandel.

Strategieprinzip

  1. 123 Umkehrmuster

    Beurteilen Sie die Beziehung zwischen den Schlusskurs der letzten zwei Tage und dem aktuellen Schlusskurs, um ein Muster hoch-hoch-niedrig oder niedrig-niedrig-hoch zu bilden, das auf ein mögliches Umkehrsignal hinweist.

    Gleichzeitig muss der Stochastische Indikator im Überkauf- oder Überverkaufsbereich sein, um das Umkehrsignal weiter zu bestätigen und falsche Umkehrungen auszufiltern.

  2. Ein toller Oszillator.

    Der Awesome Oscillator ist ein Momentum-Indikator, der auf der Differenz zwischen mittelfristigen gleitenden Durchschnitten und kurzfristigen gleitenden Durchschnitten basiert.

    Diese Strategie verwendet das Urteil des Indikators über einen Auf- oder Abwärtstrend zur Bestimmung von Kauf- und Verkaufspunkten.

  3. Doppelfaktorbestätigung

    Durch die doppelte Bestätigung des Umkehrmusters 123 und des Awesome Oscillators können falsche Umkehrungen effektiv herausgefiltert und die Genauigkeit der Eintrittszeit verbessert werden.

Vorteile der Strategie

  1. Die Verwendung von zwei Faktoren zur Bestimmung von Umkehrpunkten kann falsche Umkehrsignale effektiv herausfiltern.

  2. Als Impulsindikator kann der Awesome Oszillator die Genauigkeit der Einstiegszeit verbessern.

  3. Durch die Einführung des Stochastischen Indikators kann das Risiko vermieden werden, dass man am Spitzenpunkt kauft und am Tiefpunkt verkauft.

  4. Die Umkehrstrategien selbst haben Vorteile in höherer Gewinnrate und Risiko-Rendite-Verhältnis.

Risiken der Strategie

  1. Die Verwendung von Doppelfaktoren kann die Wahrscheinlichkeit verringern, dieses Risiko jedoch nicht vollständig vermeiden.

  2. Risiko einer Überoptimierung: Die Indikatorparameter müssen für verschiedene Märkte getestet und optimiert werden, um eine Überoptimierung zu verhindern.

  3. Das Risiko des Handels gegen den Markttrend. In einem starken Trendmarkt sind Umkehrstrategien anfällig für entgegengesetzte Verluste. Stop-Loss kann eingestellt werden, um Risiken zu kontrollieren.

Optimierungsrichtlinien

  1. Test und Optimierung von Kombinationen von Indikatorparametern zur Verbesserung der Robustheit.

  2. Hinzufügen einer Stop-Loss-Strategie, um Einzelverluste zu kontrollieren.

  3. Kombination von Branchen- und Sektorenauswahl, um eine unangemessene Bestandsauswahl zu vermeiden.

  4. Optimieren Sie die Haltedauer, um einen blinden Trend zu verhindern.

  5. Versuche verschiedene gleitende Durchschnittssysteme als Hilfsbedingungen.

Schlussfolgerung

Zusammenfassend kann gesagt werden, dass diese zwei-Faktor-quantitative Umkehrverfolgungsstrategie eine gewisse Gewinnwahrscheinlichkeit und ein Risiko-Rendite-Verhältnis gewährleistet, Awesome Oscillator als Einstiegszeitungs-Tool verwendet und den Kauf am Gipfel durch den Stochastik-Indikator vermeidet, der die Risiken des Umkehrhandels effektiv kontrollieren kann und eine starke Praktikabilität aufweist.

Allerdings können die inhärenten Risiken von Umkehrstrategien nicht ignoriert werden. Es ist immer noch notwendig, die Indikatorparameter zu optimieren, Stop-Loss-Bedingungen zu setzen usw. um Risiken zu kontrollieren. Wenn diese Strategie richtig eingesetzt wird, kann sie den Anlegern stabile Überzählerrenditen bringen.


/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-14 05:00:00
period: 20m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/08/2021
// 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 is based on Bill Williams` recommendations from his book 
//    "New Trading Dimensions". We recommend this book to you as most useful reading.
//    The wisdom, technical expertise, and skillful teaching style of Williams make 
//    it a truly revolutionary-level source. A must-have new book for stock and 
//    commodity traders.
//    The 1st 2 chapters are somewhat of ramble where the author describes the 
//    "metaphysics" of trading. Still some good ideas are offered. The book references 
//    chaos theory, and leaves it up to the reader to believe whether "supercomputers" 
//    were used in formulating the various trading methods (the author wants to come across 
//    as an applied mathemetician, but he sure looks like a stock trader). There isn't any 
//    obvious connection with Chaos Theory - despite of the weak link between the title and 
//    content, the trading methodologies do work. Most readers think the author's systems to 
//    be a perfect filter and trigger for a short term trading system. He states a goal of 
//    10%/month, but when these filters & axioms are correctly combined with a good momentum 
//    system, much more is a probable result.
//    There's better written & more informative books out there for less money, but this author 
//    does have the "Holy Grail" of stock trading. A set of filters, axioms, and methods which are 
//    the "missing link" for any trading system which is based upon conventional indicators.
//    This indicator plots the oscillator as a histogram where periods fit for buying are marked 
//    as blue, and periods fit for selling as red. If the current value of AC (Awesome Oscillator) 
//    is over the previous, the period is deemed fit for buying and the indicator is marked blue. 
//    If the AC values is not over the previous, the period is deemed fir for selling and the indicator 
//    is marked red.
//
// 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


BWAO(nLengthSlow,nLengthFast) =>
    pos = 0.0
    xSMA1_hl2 = sma(hl2, nLengthFast)
    xSMA2_hl2 = sma(hl2, nLengthSlow)
    xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
    pos := iff(xSMA1_SMA2 > xSMA1_SMA2[1], 1,
    	      iff(xSMA1_SMA2 < xSMA1_SMA2[1], -1, nz(pos[1], 0)))   
    pos

strategy(title="Combo Backtest 123 Reversal & Awesome Oscillator (AO)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Awesome Oscillator (AO) ----")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBWAO = BWAO(nLengthSlow,nLengthFast)
pos = iff(posReversal123 == 1 and posBWAO == 1 , 1,
	   iff(posReversal123 == -1 and posBWAO == -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