Estrategia de negociación de indicadores líderes de Ehlers

El autor:¿ Qué pasa?, Fecha: 2023-10-31 14:13:30
Las etiquetas:

img

Resumen general

Esta estrategia se basa en las ideas del maestro de análisis técnico John Ehlers, utilizando el Indicador Líder de Ehlers para juzgar el ciclo histórico de los precios y generar señales de compra y venta.

Principio de la estrategia

La estrategia calcula primero el precio sintético deteriorado (DSP), que se obtiene restando el valor de un filtro Butterworth de tercer orden de un filtro Butterworth de segundo orden para obtener una función que esté en fase con el ciclo dominante de los datos de precios reales.

A continuación, calcula el indicador principal de Ehlers (ELI), que se obtiene restando el promedio móvil simple del precio sintético derivado del precio sintético derivado en sí mismo, y puede dar una indicación avanzada de un punto de inflexión cíclico.

Finalmente, cuando la línea ELI cruza el DSP, se generan señales de compra y venta. Si ELI cruza por encima del DSP, se genera una señal de compra. Si ELI cruza por debajo del DSP, se genera una señal de venta.

Análisis de ventajas

La mayor ventaja de esta estrategia es el uso del indicador Ehlers Leading para juzgar los puntos de inflexión en las tendencias de precios con anticipación.

Además, la combinación del precio desacelerado para la generación de señales comerciales filtra la información de baja frecuencia irrelevante en los precios, lo que hace que la estrategia se centre más en los patrones cíclicos de los precios sin ser perturbada por el ruido del mercado a corto plazo.

Riesgos y optimización

El principal riesgo de esta estrategia es la posibilidad de que el ELI identifique incorrectamente las señales, lo que resulta en una entrada prematura y pérdidas.

Los comerciantes también deben tener en cuenta que esta estrategia solo se aplica a productos con patrones cíclicos obvios. Sería menos eficaz para productos con movimientos de precios caóticos. Se recomienda una evaluación adecuada de la ciclicidad de un producto antes de usar esta estrategia.

Los riesgos se pueden gestionar confirmando las señales con otros indicadores, o ajustando el tamaño de las posiciones y las estrategias de stop loss, por ejemplo, estableciendo órdenes de stop loss, reduciendo el tamaño de las posiciones, etc.

Resumen de las actividades

Esta estrategia identifica la ciclicidad en los precios utilizando el Indicador Principal de Ehlers, entrando en posiciones temprano antes de que comiencen los nuevos ciclos, por lo que es una estrategia típica de tendencia. Es muy eficaz para productos con una clara ciclicidad, pero también conlleva ciertos riesgos de señales falsas.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/03/2017
// 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. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading
////////////////////////////////////////////////////////////
strategy(title="D_ELI (Ehlers Leading Indicator)", shorttitle="D_ELI (Ehlers Leading Indicator)")
Length = input(7, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=red, linestyle=line)
xHL2 = request.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))) 
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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(request.security(syminfo.tickerid, "D", xEMA1_EMA2), color=blue, title="D_DSP")
plot(request.security(syminfo.tickerid, "D", nRes), color=green, title="D_ELI")

Más.