
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.
Die Strategie besteht aus zwei Teilen:
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.
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.
Angesichts der Risiken können folgende Maßnahmen ergriffen werden:
Diese Strategie kann in folgenden Bereichen optimiert werden:
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.
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.
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.
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.
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.
/*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 )