
La estrategia es una combinación de la estrategia de seguimiento de tendencias inversa con la estrategia de los indicadores de guía de Ehlers, con el objetivo de obtener una señal de negociación más confiable. La estrategia de seguimiento de tendencias inversa determina los puntos de reversión de la tendencia y la estrategia de guía de guía de Ehlers determina los puntos de inflexión periódica. La combinación de señales determina con mayor precisión el momento de entrar en el mercado.
Esta estrategia proviene de Ulf Jensen, en su libro Cómo triplicar el capital en el mercado de futuros, página 183. Se trata de una estrategia de tipo inverso. Hacer más cuando el precio de cierre es superior al precio de cierre del día anterior durante 2 días consecutivos y la línea lenta estocástica es inferior a 50 en el día 9. Hacer un vacío cuando el precio de cierre es inferior al precio de cierre del día anterior durante 2 días consecutivos y la línea rápida estocástica es superior a 50 en el día 9.
La estrategia utiliza datos intradiarios para trazar el precio sintético deteriorado de un día (Detrended Synthetic Price, DSP) y el indicador líder de Ehlers (Ehlers Leading Indicator, ELI) en un día. El DSP puede capturar el ciclo de predominio de los precios, calculado mediante el método de las ondas de 2 pasos de Bar-Worth menos las ondas de 3 pasos.
La mayor ventaja de esta estrategia combinada es la combinación de un juicio de reversión de tendencia y un juicio de reversión periódica, la señal de negociación es más confiable. La estrategia de reversión de tendencia puede determinar el punto de reversión de tendencia que rompe el camino hacia arriba y hacia abajo. El indicador de guía de Ehlers también puede indicar con anticipación los mínimos y los máximos periódicos.
Otra ventaja es la flexibilidad de ajuste de parámetros. Los parámetros de los índices bursátiles en la estrategia de inversión de tendencia se pueden ajustar según el mercado; La longitud del ciclo en el indicador líder de Ehlers también se puede ajustar para adaptarse a diferentes períodos.
El mayor riesgo de esta estrategia es perder la tendencia persisting. Puesto que la estrategia espera que aparezca una señal de reversión para entrar en juego, es posible que se pierda la etapa temprana de una fuerte tendencia. Además, la señal de reversión puede ser una falsa ruptura, y también es posible que se encuentre.
La solución es ajustar los parámetros, reducir el ciclo de juicio de reversión y capturar la reversión de la tendencia a tiempo. También se puede introducir un stop loss para controlar las pérdidas.
La estrategia puede ser optimizada en los siguientes aspectos:
Introducir estrategias de stop loss para controlar las pérdidas individuales.
Optimizar los parámetros, ajustar el ciclo de la señal de retorno para adaptarse a los diferentes entornos del mercado.
Se añaden filtros para otros indicadores, mejorando la calidad de la señal y reduciendo las falsas.
Añadir un módulo de gestión de fondos para controlar la posición y el riesgo en general.
Prueba el efecto de los parámetros de las diferentes variedades y optimiza qué variedades son adecuadas.
Se ha añadido un módulo de aprendizaje automático para que los parámetros se ajusten a sí mismos.
Esta estrategia combina el juicio de reversión de tendencia y el juicio de giro periódico para capturar el momento de entrada en el mercado de manera más confiable. La mayor ventaja es que la calidad de la señal es buena y se puede ajustar. El mayor riesgo es perder la tendencia temprana, que se puede controlar mediante el ajuste de los parámetros y la parada.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 26/11/2019
// 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 a single
// Daily DSP (Detrended Synthetic Price) and a Daily ELI (Ehlers Leading
// Indicator) using intraday data.
// Detrended Synthetic Price is a function that is in phase with the dominant
// cycle of real price data. This one is computed by subtracting a 3 pole Butterworth
// filter from a 2 Pole Butterworth filter. Ehlers Leading Indicator gives an advanced
// indication of a cyclic turning point. It is computed by subtracting the simple
// moving average of the detrended synthetic price from the detrended synthetic price.
// Buy and Sell signals arise when the ELI indicator crosses over or under the detrended
// synthetic price.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
//
// 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
D_ELI(Length) =>
pos = 0.0
xHL2 = security(syminfo.tickerid, 'D', hl2)
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
xResultEMA = ema(xEMA1_EMA2, Length)
nRes = xEMA1_EMA2 - xResultEMA
pos:= iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & D_ELI (Ehlers Leading Indicator)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthELI = input(7, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_ELI = D_ELI(LengthELI)
pos = iff(posReversal123 == 1 and posD_ELI == 1 , 1,
iff(posReversal123 == -1 and posD_ELI == -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 )