Doppelt überverkauftes Umkehrdurchbruchsystem


Erstellungsdatum: 2023-10-27 16:22:08 zuletzt geändert: 2023-10-27 16:22:08
Kopie: 0 Klicks: 677
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelt überverkauftes Umkehrdurchbruchsystem

Überblick

Das Double Overflow Reversal Breakout System ist eine quantitative Strategie, die Trendverfolgung und Reversal Trading kombiniert. Die Strategie erzeugt ein Kaufsignal, indem sie berechnet, ob die Aktienkurse N Tage vor dem Schlusskurs in Folge überflutet wurden, um ein Kaufsignal zu erzeugen. In Kombination mit dem berechneten T3-Moving Average für bestimmte Parameter erzeugt es ein Verkaufsignal, um einen Gewinnschutz zu erzielen.

Strategieprinzip

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrung

Wie in dem Buch beschrieben, beobachtet das Reversing-System die Veränderung des Schlusskurses in den letzten N Tagen, und wenn der heutige Schlusskurs höher als der Vortag ist und der Schlusskurs zwei Tage niedriger als der Vortag ist, wird dies als zwei aufeinanderfolgende Tage Über-Ball-Signal betrachtet. Das System erzeugt außerdem ein Kaufsignal.

  1. T3 Moving Average

Der T3-Moving Average wird nach einer bestimmten Formel berechnet, in Verbindung mit dem Index Moving Average des Preises. Durch bestimmte Parameter wird die Sensitivität des Moving Averages auf Preisänderungen reguliert.

Die Strategie kombiniert die beiden oben genannten Signale, um ein echtes Handelssignal zu erzeugen, wenn gleichzeitig das Kaufsignal von 123 und das Verkaufssignal des T3-Moving Averages befriedigt werden.

Analyse der Stärken

  • Reverse-Trading-Strategien, geeignet für Bottom-Buying und die Verfolgung von Über- und Abwärtstrend-Rebellen
  • Moving-Average-Strategien zur Gewinnschließung und Risikovermeidung
  • Doppelsignal-Kombination kann die Signalwirksamkeit verbessern und Falschsignale reduzieren
  • Die Vorteile von Trend-Tracking und Reverse Trading
  • Die Parameter sind anpassbar und können flexibel an unterschiedliche Situationen angepasst werden

Risikoanalyse

  • Umkehrsignale können zu Fehleinschätzungen führen, die zu Verlusten führen
  • Unzureichende Parameter können zu hohen Transaktionsfrequenzen führen und zu höheren Transaktionskosten und Slip-Point-Kosten führen.
  • Die Verkaufssignale, die von den Moving Averages erzeugt werden, könnten zu früh Gewinne erzielen.
  • Die Gefahr von Schadenersatz bleibt bestehen, wenn sich die Situation drastisch verändert
  • Optimierungsparameter müssen eingestellt werden, um die besten Parameter für verschiedene Sorten zu wählen

Angesichts der Risiken können folgende Maßnahmen ergriffen werden:

  1. Anpassung der Parameter für den Umkehrhandel, um die Wirksamkeit des Signals zu gewährleisten
  2. Anpassung der Parameter für die Moving Averages und angemessene Verlängerung der Haltedauer
  3. Erhöhung der Stop-Loss-Strategie und Verringerung der Einzelschäden
  4. Optimierung der Parameterwahl für verschiedene Sorten

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Erhöhung der Filterbedingungen, um die Effektivität von Handelssignalen zu gewährleisten

Auf der Grundlage der ursprünglichen Strategie können andere technische Indikatoren als Filterbedingungen hinzugefügt werden, wie z. B. Durchbruchbedingungen für die Erhöhung der Transaktionsmenge, um Fehltransaktionen aufgrund von Geräusch zu vermeiden.

  1. Anpassung der Parameter-Einstellungen an die Marktumgebung

Es ist möglich, durch verschiedene Kombinationen von Parametern zurück zu testen, um die Kombination aus Parametern zu wählen, die der höchsten Rendite entsprechen, um die Effektivität der Strategie zu optimieren. Es ist auch möglich, dynamische Parameter einzustellen, die sich in Echtzeit an die Marktlage anpassen.

  1. Adaptive Optimierung von Strategien in Kombination mit maschinellen Lerntechnologien

Zum Beispiel können große Mengen an historischen Daten gesammelt und mit Hilfe von Trainingsmodellen für maschinelles Lernen die besten Kauf- und Verkaufszeiten vorhergesagt werden.

  1. Einheitliche Parameter für verschiedene Sorten

Jede Sorte hat unterschiedliche Eigenschaften, und die Parameter sind unterschiedlich. Sie können einzeln gemessen werden, um die Parameter für verschiedene Sorten zu bestimmen.

Zusammenfassen

Das Dual-Over-Down-Flip-Break-System kombiniert die Vorteile von Trend-Tracking und Reversal-Trading. Es ermöglicht den Kauf von niedrigeren Preisen in der Über-Down-Phase und die rechtzeitige Einstellung nach dem Gewinn des Trends. Die effektive Kombination von Reversal- und Trendsignalen der Strategie ermöglicht die effektive Gewinnung von Reversal-Gelegenheiten und die Sperrung von Gewinnen.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/09/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 plots the moving average described in the January, 1998 issue
// of S&C, p.57, "Smoothing Techniques for More Accurate Signals", by Tim Tillson.
// This indicator plots T3 moving average presented in Figure 4 in the article.
// T3 indicator is a moving average which is calculated according to formula:
//     T3(n) = GD(GD(GD(n))),
// where GD - generalized DEMA (Double EMA) and calculating according to this:
//     GD(n,v) = EMA(n) * (1+v)-EMA(EMA(n)) * v,
// where "v" is volume factor, which determines how hot the moving average’s response
// to linear trends will be. The author advises to use v=0.7.
// When v = 0, GD = EMA, and when v = 1, GD = DEMA. In between, GD is a less aggressive
// version of DEMA. By using a value for v less than1, trader cure the multiple DEMA
// overshoot problem but at the cost of accepting some additional phase delay.
// In filter theory terminology, T3 is a six-pole nonlinear Kalman filter. Kalman
// filters are ones that use the error — in this case, (time series - EMA(n)) — 
// to correct themselves. In the realm of technical analysis, these are called adaptive
// moving averages; they track the time series more aggres-sively when it is making large
// moves. Tim Tillson is a software project manager at Hewlett-Packard, with degrees in
// mathematics and computer science. He has privately traded options and equities for 15 years.  
//
// 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


T3A(Length, b) =>
    pos = 0.0
    xPrice = close
    xe1 = ema(xPrice, Length)
    xe2 = ema(xe1, Length)
    xe3 = ema(xe2, Length)
    xe4 = ema(xe3, Length)
    xe5 = ema(xe4, Length)
    xe6 = ema(xe5, Length)
    c1 = -b*b*b
    c2 = 3*b*b+3*b*b*b
    c3 = -6*b*b-3*b-3*b*b*b
    c4 = 1+3*b+b*b*b+3*b*b
    nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3
    pos:= iff(nT3Average > close, -1,
           iff(nT3Average < close, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & T3 Averages", 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, "---- T3 Averages ----")
LengthT3 = input(5, minval=1)
b = input(0.7, minval=0.01,step=0.01) 
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posT3A = T3A(LengthT3, b)
pos = iff(posReversal123 == 1 and posT3A == 1 , 1,
	   iff(posReversal123 == -1 and posT3A == -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 )