
El sistema de reversión de la ruptura de la doble reversión es una estrategia cuantitativa que combina el seguimiento de la tendencia y el comercio de reversión. La estrategia genera una señal de compra calculando si se producen señales de reversión consecutivas antes de la fecha de cierre de N días antes de la comparación de precios de las acciones; al mismo tiempo, en combinación con el cálculo de un promedio móvil T3 de determinados parámetros, genera una señal de venta para obtener protección de ganancias.
La estrategia tiene dos partes:
Según se describe en el libro, el sistema inverso observa los cambios en los precios de cierre de los últimos N días. Si el precio de cierre de hoy es más alto que el del día anterior y el precio de cierre de los dos días anteriores es más bajo, se considera una señal de ventaja de dos días consecutivos.
El promedio móvil T3 es un promedio móvil de índices calculado de acuerdo con una fórmula de cálculo, combinado con el precio. Se ajusta la sensibilidad del promedio móvil a los cambios de precio a través de ciertos parámetros. Cuando el precio atraviesa el promedio móvil T3, genera una señal de venta.
La estrategia combina las dos partes de la señal mencionadas anteriormente y produce una señal de negociación real cuando se satisface simultáneamente la señal de compra invertida de 123 y la señal de venta de la media móvil T3.
Las siguientes medidas pueden ser tomadas en relación con los riesgos:
La estrategia puede ser optimizada en los siguientes aspectos:
Se pueden añadir otros indicadores técnicos como condiciones de filtración, como condiciones de ruptura para aumentar el volumen de transacciones, en base a la estrategia original, para evitar transacciones erróneas causadas por el ruido.
Se puede realizar la retroalimentación a través de varias combinaciones de parámetros, seleccionando los parámetros que corresponden a la combinación de mayor rendimiento para optimizar el efecto de la estrategia. También se pueden establecer parámetros dinámicos que se ajustan en tiempo real según la situación del mercado.
Por ejemplo, se puede recopilar una gran cantidad de datos históricos, usar modelos de entrenamiento de aprendizaje automático para predecir el mejor momento de compra y venta y optimizar las estrategias en tiempo real.
Las características de las diferentes variedades varían, y los parámetros adecuados también varían. Se pueden realizar respuestas separadas de acuerdo con los datos de las diferentes variedades, y se pueden establecer parámetros independientes.
La combinación de la estrategia de señales de reversión y señales de tendencia permite obtener ganancias al mismo tiempo que se obtienen oportunidades de reversión. Aunque todavía existe un cierto riesgo, se puede mejorar mediante la optimización de parámetros, el aumento de las condiciones de filtración y otros métodos para adaptarse a diferentes entornos del mercado. La estrategia proporciona una vía de pensamiento eficaz para el comercio cuantitativo, que se puede optimizar aún más.
/*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 )