Esta estrategia está diseñada sobre la base de indicadores de oscilador de aceleración dual EMA y AC. El indicador dual EMA se utiliza para determinar la dirección de la tendencia del precio, mientras que el indicador AC se utiliza para confirmar la señal de tendencia para el efecto de filtrado.
La estrategia consta de dos módulos:
Modulo EMA doble
Construye un indicador de EMA dual utilizando EMA de 2 días y EMA de 20 días. Una señal de compra se genera cuando el precio cruza por encima de la EMA de 2 días. Una señal de venta se genera cuando el precio cruza por debajo de la EMA de 20 días.
Este módulo determina las direcciones de tendencia a corto y mediano plazo para seguir la tendencia básica.
Módulo de CA
Utilice los valores positivos y negativos del oscilador de aceleración CA para confirmar las señales de tendencia.
Este módulo filtra las señales falsas y mejora la fiabilidad.
En resumen, esta estrategia integra un doble EMA para detectar las principales tendencias y un indicador AC para filtrar las falsas rupturas, formando una tendencia sistemática siguiendo la metodología.
Las ventajas de esta estrategia son:
La doble EMA rastrea las tendencias a mediano y largo plazo mientras que la CA filtra el ruido a corto plazo, un gran efecto combinado.
Excelente efecto de filtración para evitar vender después de obtener ganancias largas o comprar después de obtener ganancias cortas.
Ajuste de parámetros flexible y adaptable a diferentes productos y entornos de mercado.
Lógica estratégica clara, fácil de entender, optimizar y mejorar.
Tendencia decente después del potencial de ganancia para los productos de tendencia.
Hay algunos riesgos en esta estrategia:
La configuración incorrecta de dos parámetros de la EMA puede hacer que se pierdan tendencias más cortas o generar operaciones redundantes.
Un ajuste incorrecto de los parámetros de CA puede filtrar señales válidas pero más débiles o no filtrar suficiente ruido.
Incapaz de adaptarse a los mercados que cambian rápidamente, como los bruscos choques de estilo acantilado.
La rentabilidad insuficiente en mercados variados, debe utilizarse como estrategia de seguimiento de tendencias.
La estrategia se puede optimizar en los siguientes aspectos:
Prueba más combinaciones de parámetros para encontrar parámetros óptimos que se ajusten a las diferentes características del producto.
Añadir módulo de stop loss para salir en pérdidas de gran tamaño.
Filtra las señales con más indicadores.
Desarrollar estrategias de combinación a largo y corto plazo para rastrear tendencias a mediano y largo plazo, utilizando operaciones a corto plazo para reducir o agregar posiciones a lo largo de la tendencia.
La idea de combinar la doble EMA para tendencia y la AC para filtro de ruido vale la pena aprender. Esta estrategia tiene señales de calidad y confiabilidad, adecuadas para el seguimiento de productos de tendencia. Con el ajuste adecuado de parámetros, se pueden lograr grandes ganancias al montar tendencias utilizando esta 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)