Estrategia de negociación de cruce de puntos de inflexión de medias móviles


Fecha de creación: 2024-01-29 11:15:42 Última modificación: 2024-01-29 11:15:42
Copiar: 8 Número de Visitas: 585
1
Seguir
1617
Seguidores

Estrategia de negociación de cruce de puntos de inflexión de medias móviles

Descripción general

La estrategia de intercambio de puntos de inflexión de la media móvil es una estrategia clásica de indicadores técnicos. La idea central de la estrategia es generar señales de compra y venta en combinación con las medias móviles de diferentes períodos y aprovechar los puntos de inflexión de la media móvil para optimizar aún más la salida de la operación.

Principio de estrategia

La estrategia utiliza principalmente dos medias móviles, una con un período más corto como línea rápida y otra con un período más largo como línea lenta. Se genera una señal de compra cuando la línea rápida se rompe con la línea lenta desde la parte inferior; se genera una señal de venta cuando la línea rápida se rompe con la línea lenta desde la parte superior. Este es el mecanismo de generación de señales de negociación de la clásica estrategia de cruce de medias móviles.

Además, la estrategia utiliza el punto de salida de la inversión de las medias móviles. Cuando la línea rápida pasa de alta a baja, el polinomio se desvía; cuando la línea rápida pasa de baja a alta, el polinomio se desvía. Los puntos de inflexión de las medias móviles pueden capturar los momentos de reversión de corto plazo del mercado, lo que ayuda a la estrategia a detener o detener los pérdidas a tiempo, lo que mejora la rentabilidad general.

Análisis de las ventajas

Las estrategias de comercio cruzado de puntos de inflexión de medias móviles tienen las siguientes ventajas:

  1. La estrategia utiliza sólo dos indicadores: el promedio móvil y el indicador ROC. La implementación del código no es compleja.

  2. Es resistente a pérdidas continuas. Las medias móviles por sí mismas se caracterizan por un cierto retraso en las tendencias de precios suaves, lo que puede filtrar parte del ruido y evitar que se produzcan demasiadas transacciones no válidas en las tendencias oscilantes.

  3. Puede controlar eficazmente las pérdidas unilaterales. El uso de los puntos de inflexión de las medias móviles para detener las pérdidas a tiempo puede reducir la aparición de pérdidas unilaterales importantes.

  4. Amplia aplicabilidad. El principio de la estrategia es simple y se puede aplicar a una variedad de variedades y diferentes marcos de tiempo de negociación, como líneas diarias, horarias, etc. El espacio para la optimización de parámetros es grande.

  5. La estabilidad de los ingresos. En comparación con la estrategia de perseguir los puntos calientes del mercado, la estrategia prefiere el control del riesgo y no busca rendimientos demasiado altos, pero puede obtener un rendimiento positivo estable.

Análisis de riesgos

Las estrategias de comercio de puntos de inflexión cruzados de medias móviles también tienen algunos riesgos, que se centran principalmente en:

  1. La latencia de las medias móviles. Cuando se trata de un movimiento rápido, las señales de cruce de las medias móviles tienen un cierto retraso y pueden perder el mejor momento de entrada.

  2. El tiempo de vacío es largo. Esta estrategia sale a tiempo, pero la señal de entrada es lenta. Esto puede causar que haya exceso de tiempo de vacío en algunas ocasiones. Durante el vacío se perderá cierta oportunidad de obtener ganancias en el mercado.

  3. La optimización de parámetros es muy difícil. La elección de parámetros como la longitud de la media móvil, el ciclo de ROC y otros pueden tener un gran impacto en el rendimiento de la estrategia. Sin embargo, la optimización de parámetros requiere una gran cantidad de datos históricos para realizar pruebas de retroalimentación, y la optimización es más difícil.

  4. Cuando hay una gran oscilación, el promedio móvil produce múltiples cruces no efectivos, lo que afecta el rendimiento de la estrategia.

Dirección de optimización

La estrategia de negociación se puede optimizar aún más en los siguientes aspectos:

  1. Combinación de indicadores de tendencia de las ondas. Añade indicadores como ADX, ATR, etc., para juzgar el estado de la tendencia. Cierre de la estrategia a través de la depreciación cuando no hay una tendencia clara, para evitar operaciones no válidas.

  2. Combinación de múltiples marcos de tiempo. En los marcos de tiempo más altos, juzgue la dirección de la tendencia principal y evite el comercio en contra.

  3. Optimización de la adaptabilidad de los parámetros. Permite que los parámetros como la longitud de la media móvil se adapten a la volatilidad del mercado en tiempo real, lo que mejora la robustez de los parámetros.

  4. Introducción a la identificación de patrones. Identificación de patrones de brillo en los puntos de intersección MA para filtrar las señales falsas.

Resumir

La estrategia de intercambio de puntos de inflexión de medias móviles es una estrategia de equilibrio de riesgos y ganancias en general. Tiene ventajas como la facilidad de implementación, la resistencia a las pérdidas continuas y la estabilidad de los ingresos, pero también tiene problemas como el retraso de las medias móviles, el tiempo de posición vacía excesivo.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy with MA Turning Point Exits", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("SMA", "1st MA Type", options=["SMA", "EMA"])

ma2 = input(50, title="2nd MA Length")
type2 = input("SMA", "2nd MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


longCondition = crossover(price1, price2)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(price1, price2)
if (shortCondition)
    strategy.entry("Short", strategy.short)

lookback1 = input(1, "Lookback 1")
roc1 = roc(price1, lookback1)

ma1up = false
ma1down = false
ma2up = false
ma2down = false

ma1up := nz(ma1up[1])
ma1down := nz(ma1down[1])
ma2up := nz(ma2up[1])
ma2down := nz(ma2down[1])

trendStrength1 = input(2, title="Minimum slope magnitude * 100", type=float) * 0.01

if crossover(roc1, trendStrength1)
    ma1up := true
    ma1down := false
    
if crossunder(roc1, -trendStrength1) 
    ma1up := false
    ma1down := true

shortexitCondition = ma1up and ma1down[1]
if (shortexitCondition)
    strategy.close("Short")

longexitCondition = ma1down and ma1up[1]
if (longexitCondition)
    strategy.close("Long")