Estrategia de seguimiento de tendencias basada en indicadores EMA doble y AC


Fecha de creación: 2024-01-15 12:02:54 Última modificación: 2024-01-15 12:02:54
Copiar: 3 Número de Visitas: 597
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en indicadores EMA doble y AC

Descripción general

Esta estrategia se basa en el diseño de los indicadores de doble EMA y el indicador de oscilación acelerada AC. En este caso, el indicador de doble EMA se utiliza para determinar la dirección de la tendencia de los precios, mientras que el indicador de AC se utiliza para confirmar la señal de tendencia y lograr un efecto de filtración.

Principio de estrategia

La estrategia se compone de dos módulos:

  1. Módulo de doble EMA

    • Construye un indicador de doble EMA con EMA de 2 días y EMA de 20 días. Se considera una señal de compra cuando el precio supera el EMA de 2 días; Se considera una señal de venta cuando el precio supera el EMA de 20 días.

    • Este módulo determina la dirección de la tendencia a corto y medio plazo de los precios, lo que permite un seguimiento de tendencias básico.

  2. Módulo de CA

    • Utiliza el valor positivo-negativo del indicador de oscilación acelerada AC para confirmar la señal de tendencia. La señal de negociación se produce solo cuando ambos indicadores EMA y AC están en la misma dirección.

    • Este módulo mejora la fiabilidad de la señal mediante la filtración de señales falsas.

En resumen, la estrategia integra las tendencias principales de los juicios de los dos EMA, así como las brechas falsas de filtración de los indicadores AC, formando un sistema sistemático de seguimiento de tendencias.

Análisis de las ventajas estratégicas

La estrategia tiene las siguientes ventajas:

  1. El doble EMA sigue la tendencia de la línea media larga, el AC elimina el ruido a corto plazo y la combinación es buena.

  2. La filtración de señales es muy eficaz, y evita que se haga mucho trabajo a ciegas después de obtener ganancias de más de una cabeza, o que se haga mucho trabajo a ciegas después de obtener ganancias de cabeza vacía.

  3. Los parámetros de ajuste son flexibles y se pueden adaptar a diferentes variedades y parámetros de ajuste del entorno del mercado.

  4. Las estrategias son claras y fáciles de entender, lo que facilita la optimización y mejora de los comerciantes cuantitativos.

  5. Se puede obtener un buen seguimiento y ganancias en variedades de tendencia.

Análisis de riesgos estratégicos

La estrategia también tiene sus riesgos:

  1. La configuración incorrecta de los parámetros de doble EMA puede perderse una tendencia más corta o generar un exceso de operaciones.

  2. La configuración incorrecta de los parámetros de AC puede filtrar una señal efectiva más débil o no filtrar suficiente ruido.

  3. La economía de los países en desarrollo no puede hacer frente a los cambios rápidos de los mercados, como la rápida caída de los acantilados.

  4. La estrategia de seguimiento de la tendencia debe utilizarse cuando no se puede obtener suficiente ganancia en un mercado inestable.

Dirección de optimización de la estrategia

Esta estrategia se puede optimizar en las siguientes dimensiones:

  1. Pruebe más combinaciones de parámetros para encontrar los mejores que mejor se ajusten a las características de las diferentes variedades.

  2. Se añade un módulo de parada de pérdidas y se retira de la parada de pérdidas cuando las pérdidas son excesivas.

  3. Optimización de la filtración de señales en combinación con más indicadores.

  4. Desarrollar estrategias de combinación de líneas largas y cortas, seguir las líneas largas y medias en la tendencia, y usar las líneas cortas para negociar de manera específica para reducir las posiciones de las líneas largas.

Resumir

Esta estrategia, combinada con el pensamiento de la tendencia de la sentencia de doble EMA y el ruido de la barra AC, es digna de aprender. La ventaja de esta estrategia es que la calidad de la señal es buena, la fiabilidad es alta y es adecuada para seguir variedades de tendencia. Si los parámetros se ajustan adecuadamente, se obtienen grandes ganancias en la tendencia.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-08 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/01/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// The Accelerator Oscillator has been developed by Bill Williams 
// as the development of the Awesome Oscillator. It represents the 
// difference between the Awesome Oscillator and the 5-period moving 
// average, and as such it shows the speed of change of the Awesome 
// Oscillator, which can be useful to find trend reversals before the 
// Awesome Oscillator does.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos

AC(nLengthSlow,nLengthFast) =>
    pos = 0.0
    xSMA1_hl2 = ta.sma(hl2, nLengthFast)
    xSMA2_hl2 = ta.sma(hl2, nLengthSlow)
    xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
    xSMA_hl2 = ta.sma(xSMA1_SMA2, nLengthFast)
    nRes =  xSMA1_SMA2 - xSMA_hl2
    cClr = nRes > nRes[1] ? color.blue : color.red
    iff_1 = nRes > 0 ? 1 : nz(pos[1], 0)
    pos := nRes < 0 ? -1 : iff_1           
    pos

strategy(title='Combo 2/20 EMA & Accelerator Oscillator (AC)', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Accelerator Oscillator  ═════●'
nLengthSlow = input(33,  title="Length Slow", group=I2)
nLengthFast = input(6, title="Length Fast", group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)

StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosAC = AC(nLengthSlow,nLengthFast)
iff_1 = posEMA20 == -1 and prePosAC == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosAC == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
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)