Estrategia de negociación de medias móviles exponenciales múltiples


Fecha de creación: 2024-03-11 16:17:20 Última modificación: 2024-03-11 16:17:20
Copiar: 0 Número de Visitas: 523
1
Seguir
1617
Seguidores

Estrategia de negociación de medias móviles exponenciales múltiples

Descripción general

La estrategia utiliza un conjunto de indicadores de promedios móviles exponenciales (EMA) para identificar posibles entradas y salidas de los mercados. Para determinar la tendencia actual del mercado, compara EMA de diferentes períodos, interviene en la formación de la tendencia al comienzo de la operación y termina en posición cerrada al comienzo de la tendencia.

El principio de estrategia

La estrategia utiliza 4 EMA de diferentes períodos como indicadores centrales, respectivamente, EMA ultrarrápido (default 8), EMA corto (default 13), EMA medio (default 21) y EMA largo (default 55). Cuando el EMA largo está por debajo de los otros tres EMA, se considera que puede estar en el inicio de la tendencia alcista, y se abre una posición; cuando el EMA largo está por encima de los otros tres EMA, y se considera que puede estar en el inicio de la tendencia bajista, y se borra todas las posiciones excedentes.

Los EMA son más sensibles a los precios recientes que los medios móviles simples (SMA), por lo que los movimientos de los EMA son más sensibles y pueden reaccionar más rápidamente a los cambios de precios. La intersección de los EMA de diferentes períodos refleja la fortaleza y la debilidad de las tendencias en diferentes escalas de tiempo. Los EMA de largo plazo son los más sólidos y representan las tendencias más importantes del mercado.

Análisis de ventajas

  1. Amplia aplicabilidad: La estrategia se basa en el indicador EMA del precio en sí mismo y se aplica a la mayoría de las variedades con buena liquidez y un movimiento relativamente suave, como todo tipo de futuros, divisas, monedas digitales principales, etc.

  2. Seguimiento de tendencias: para juzgar las tendencias mediante la comparación de las relaciones de posición de los EMA de diferentes períodos, se puede capturar, hasta cierto punto, la formación de tendencias en sus inicios, seguimiento de tendencias.

  3. Flexibilidad de parámetros: los parámetros periódicos de la EMA se pueden ajustar de manera flexible según las características de la variedad, el horizonte de inversión, etc., con cierta adaptabilidad.

  4. Claridad de lógica: la estrategia genera señales de negociación basadas en combinaciones simples de EMAs con una lógica clara y fácil de entender y implementar.

Análisis de riesgos

  1. EMA retrasado: El EMA es esencialmente un indicador de seguimiento de tendencias, con una cierta latencia y una mayor probabilidad de falsas señales en mercados convulsivos.

  2. Sensibilidad a los parámetros: La elección de los parámetros del ciclo EMA tiene un gran impacto en el rendimiento de la estrategia, y la optimización de los parámetros no siempre mantiene un buen rendimiento en los datos fuera de la muestra.

  3. Falta de filtración: La estrategia carece de filtración adicional de las señales de negociación, las operaciones se realizan después de la generación de todas las señales, y es posible que se produzcan algunas operaciones de baja calidad.

  4. Posiciones fijas: La estrategia actual es fijar una unidad por cada posición abierta, la falta de control de posiciones dinámicas basadas en el riesgo y la gestión de riesgos no es lo suficientemente perfecta.

Dirección de optimización

  1. Introducción de filtros de tendencia: A partir de la señal EMA, se añaden indicadores de filtro de intensidad de tendencia como ATR, ADX, para filtrar las señales de tendencias débiles y períodos de oscilación.

  2. Introducción de filtros de fluctuación: Sobre la base del filtro de tendencia, se puede introducir un filtro de fluctuación adicional, como el ancho de banda de Brin, para filtrar las señales de baja calidad que pueden causar una alta fluctuación.

  3. Optimización de los paros: la estrategia actual carece de una lógica de paros clara, y se puede agregar un parón dinámico basado en el ATR o porcentaje, después de la introducción de filtros de tendencia y volatilidad, para controlar la pérdida máxima individual.

  4. Posiciones dinámicas: se puede controlar dinámicamente el número de posiciones abiertas en cada estrategia en función de la volatilidad de la variedad, el porcentaje de valor de la cuenta, etc., para buscar mayores ganancias absolutas a la vez que se reduce el riesgo.

  5. Parámetros de optimización: los parámetros óptimos de la EMA pueden ser diferentes para diferentes variedades y diferentes ciclos, por lo que es necesario optimizar los parámetros según las características de la variedad para mejorar la aplicabilidad de la estrategia.

Resumen de la película

La estrategia identifica los puntos de inflexión de la tendencia mediante la comparación de 4 diferentes períodos de EMA en una combinación de ordenamiento múltiple de espacios, captura la formación de tendencias en sus inicios, la idea es simple y clara. Sus ventajas son su amplio alcance, su claridad lógica y la flexibilidad de los parámetros, que permite un mejor seguimiento de la tendencia; pero también existe la latencia inherente a los indicadores EMA, así como la sensibilidad de los parámetros, la falta de filtros y posiciones fijas.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © n1ghthawk

//@version=5
strategy("donmo's 4ema", overlay=true, margin_long=100, margin_short=100)

float long = na
float short = na

lowestEMAPeriodInput = input.int(8, "Lowest EMA")
lowEMAPeriodInput = input.int(13, "Low EMA")
medEMAPeriodInput = input.int(21, "Med EMA")
highEMAPeriodInput = input.int(55, "High EMA")

lowestEMA = ta.ema(close, lowestEMAPeriodInput)
lowEMA = ta.ema(close, lowEMAPeriodInput)
medEMA = ta.ema(close, medEMAPeriodInput)
highEMA = ta.ema(close, highEMAPeriodInput)


emaLongCondition = highEMA<medEMA and highEMA<lowEMA and highEMA<lowestEMA
emaShortCondition = highEMA>medEMA and highEMA>lowEMA and highEMA>lowestEMA

longCondition = ta.change(emaLongCondition)
shortCondition = ta.change(emaShortCondition)

notInTrade = strategy.position_size <= 0
if longCondition and emaLongCondition and notInTrade
    long:=high
    strategy.entry("EL", strategy.long)

if shortCondition and emaShortCondition
    short:=low
    strategy.close("EL")


plot(long+3,title = 'long', color = color.green, linewidth = 4, style = plot.style_cross)
plot(short-3,title = 'short', color = color.red, linewidth = 4, style = plot.style_cross)

plot(lowestEMA, title = "lowestEMA", color=color.blue)
plot(lowEMA, title = "lowEMA", color=color.green)
plot(medEMA, title = "medEMA", color=color.orange)
plot(highEMA, title = "highEMA", color=color.red)