123 Umkehrung gleitender Durchschnitt Konvergenz Divergenz Kombinationsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-22 14:49:41
Tags:

img

Übersicht

Diese Strategie kombiniert die 123 Umkehrhandelsstrategie, die Ulf Jensen in seinem Buch mit dem von Martin Pring vorgeschlagenen Moving Average Convergence Divergence Oscillator (KST) vorgeschlagen hat, um eine quantitative Strategie zu entwickeln, die Handelssignale durch die Verwendung von Umkehrmustern und Trendschwingungsindikatoren generiert.

Strategieprinzip

123 Umkehrungsmechanismus

Die Kernlogik dieses Teils der Strategie besteht darin, zu überwachen, ob sich der Schlusskurs der Aktie in den letzten zwei Tagen umgekehrt hat, insbesondere:

Wenn die Schlusskursentwicklung in den letzten 2 Tagen einen Abwärtstrend aufweist, d. h. der Schlusskurs des vorherigen Tages höher ist als der des vorherigen Tages, und der heutige Schlusskurs vom vorherigen Tag, der höher ist als der Schlusskurs des vorherigen Tages, nach oben zurückfällt, kann dies als Tiefstumkehr beurteilt werden und ein Kaufsignal erzeugt wird.

Im Gegenteil, wenn die Schlusskursentwicklung in den letzten 2 Tagen einen Aufwärtstrend aufweist, d. h. der Schlusskurs des vorherigen Tages niedriger ist als der vorherige Tag, und der heutige Schlusskurs vom vorherigen Tag abfällt, der niedriger ist als der Schlusskurs des vorherigen Tages, kann dies als eine Spitzenumkehr beurteilt werden und ein Verkaufssignal erzeugt wird.

Dieser Teil der Strategie kombiniert auch den Stochastischen Indikator, um festzustellen, ob er überkauft oder überverkauft ist, um nicht-umkehrbare Handelssignale auszufiltern.

KST-Indikatorprinzip

Im KST-Indikator stellt ROC die Preisänderungsrate dar, wobei die ROCs von 6 Tagen, 10 Tagen, 15 Tagen und 20 Tagen berechnet und eine gewichtete Summierung nach Glätzwertverflachtung für verschiedene Parameter durchgeführt wird, um den KST-Indikator zu erstellen.

Wenn die schnelle Linie über die langsame Linie überschreitet, wird sie als bullisch beurteilt; wenn die schnelle Linie unter die langsame Linie überschreitet, wird sie als bärisch beurteilt.

Diese Strategie verwendet KST>0 zur Beurteilung des Aufschwungs und KST<0 zur Beurteilung des Abwärts.

Signalverschmelzung

Die Judgment-Signale der Umkehrstrategie 123 und der KST-Indikator werden kombiniert:

  • Wenn beide Signale gleich sind, wird ein Handelssignal in diese Richtung generiert
  • Wenn die beiden Signale unterschiedlich sind, findet kein Handel statt.

Es kann festgestellt werden, dass diese Strategie umfassend zwei verschiedene Arten von technischen Indikatoren verwendet, das Umkehrmuster und das Indikator-Urteil, und ihre Signalstärken kombiniert, um eine fortschrittlichere quantitative Handelsstrategie zu entwerfen.

Vorteile der Strategie

  • Der Umkehrteil kann Wendepunkte effektiv identifizieren, und der Indikatorteil kann Trends verfolgen und sich gegenseitig ergänzen
  • Durch Filterung mit doppelten Signalindikatoren kann die Signalqualität verbessert und falsche Signale reduziert werden
  • Flexible Anpassung der KST-Parameter zur Optimierung für Bestände mit unterschiedlichen Zyklen
  • Kann sich an hochvolatile Bestände anpassen, kann auch für relativ stabile Bestände verwendet werden

Risiken der Strategie

  • Risiko eines Rückschaltfehlers, Rückschaltsignal kann auch ein falscher Ausbruch sein
  • Einige Möglichkeiten können nach der Signalverschmelzung verpasst werden
  • Fehlende KST-Parameter können die Ergebnisse stark beeinträchtigen
  • Wenn der Aktienpreis stark schwankt, KST zurückbleibt, können inkonsistente Signale auftreten

Methoden wie Parameteranpassung, Optimierung der Umkehrlogik, Einführung eines Stop-Loss-Mechanismus können zur Kontrolle von Risiken verwendet werden.

Optimierungsrichtung

  • Optimierung der Stochastischen Parameter
  • Optimieren Sie die Längenparameter der KST-Linie
  • Hinzufügen eines Handelsvolumens oder Volatilitätsindexfilters
  • Hinzufügen von Trendbeurteilungen, um gegen den Trend zu handeln
  • Einführung eines Stop-Loss-Mechanismus

Schlussfolgerung

Diese Strategie integriert mehrere verschiedene Arten von technischen Indikatoren. Durch die doppelte Bestätigung und Kombinationsoptimierung entwirft sie wissenschaftlich eine relativ starke quantitative Handelsstrategie und ist ein Modell für Strategiekombinationen. Ihre Leistung im Live-Handel muss noch weiter überprüft werden, aber aus der theoretischen Konzeptualisierungsperspektive berücksichtigt sie umfassend mehrere Szenarien, löst die Einschränkungen einzelner Indikatoren und ist eine weitere Forschung und Anwendung wert.


/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/03/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 really is the KST indicator presented by Martin Pring. 
// the KST indicator is a weighted summed rate of change oscillator that 
// is designed to identify meaningful turns. Various smoothed rate of change 
// indicators can be combined to form different measurements of cycles. 
//
// 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


MROC() =>
    pos = 0.0
    xROC6 = sma(roc(close, 6), 10)
    xROC10 = sma(roc(close, 10), 10)
    xROC15 = sma(roc(close, 15), 9)
    xROC20 = sma(roc(close, 20), 15)
    nRes = xROC6 + (2 * xROC10) + (3 * xROC15) + (4 * xROC20)
    pos := iff(nRes > 0, 1,
    	     iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & MovROC (KST indicator)", 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)
//-------------------------
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMROC = MROC()
pos = iff(posReversal123 == 1 and posMROC == 1 , 1,
	   iff(posReversal123 == -1 and posMROC == -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