Estrategia de cruce de la media móvil

El autor:¿ Qué pasa?, Fecha: 2023-09-28 15:15:54
Las etiquetas:

Resumen general

Esta estrategia utiliza la cruz de oro y la cruz de muerte de las medias móviles para determinar tendencias e identificar oportunidades potenciales de compra y venta.

Estrategia lógica

La estrategia emplea dos promedios móviles con diferentes marcos de tiempo. El primer MA tiene un marco de tiempo más corto, establecido en 20 días, para capturar los movimientos de precios a corto plazo. El segundo MA tiene un marco de tiempo más largo, establecido en 120 días, para medir la tendencia a largo plazo.

Cuando el MA más rápido cruza por encima del MA más lento, se produce una cruz de oro, lo que indica una tendencia al alza a corto plazo, y se genera una señal de compra.

La estrategia utiliza ta.crossover y ta.crossunder para detectar el cruce de los MA. Una vez que se identifica un cruce, se activa una señal de compra o venta correspondiente.

Análisis de ventajas

La mayor ventaja de esta estrategia es su simplicidad. Las medias móviles se encuentran entre las herramientas de análisis técnico más comunes y son fáciles de entender incluso para no profesionales.

En comparación con los indicadores más complejos, los MA son relativamente sencillos de implementar en una estrategia, sólo se requiere optimizar los períodos de MA para crear un sistema robusto.

Por otra parte, la estrategia de la OMA ofrece flexibilidad: los parámetros se pueden ajustar para diferentes productos y plazos, desde a largo plazo hasta a corto plazo.

Análisis de riesgos

El principal riesgo es que los whipssaws generen frecuentes señales falsas cuando la tendencia oscila.

Otro riesgo potencial es la naturaleza tardía de los MAs, que requieren tiempo para reflejar las nuevas tendencias, lo que puede provocar un deslizamiento.

Además, la estrategia no tiene en cuenta el impacto de eventos repentinos como las noticias importantes, que podrían invalidar la eficacia de los MA. Se deben implementar paradas para controlar los riesgos.

Direcciones de optimización

La estrategia puede reforzarse aún más mediante:

  1. Añadir filtros como el volumen para evitar señales falsas en los mercados de rango.

  2. El uso de MAs adaptativas que ajustan los períodos en función de la volatilidad.

  3. Combinando otros indicadores como el MACD y el Estocástico para confirmar las señales.

  4. Estableciendo canales de precios y considerando sólo las señales de las rupturas.

  5. Implementar stop loss y take profit para aumentar la robustez.

Conclusión

En resumen, la estrategia de cruce de MA genera señales cruzando MA rápidas y lentas. Es fácil de usar e identifica tendencias, pero también conlleva riesgos de señales falsas y retrasos. Con parámetros optimizados, filtros añadidos y combinaciones de indicadores, puede mejorar enormemente la viabilidad. En general, la estrategia de MA es un sistema práctico de seguimiento de tendencias que vale la pena estudiar y aplicar para los operadores.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © brandlabng

//@version=5
//study(title="Holly Grail FX", overlay = true)
strategy('HG|E30m', overlay=true)
src = input(close, title='Source')

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

ma2 = input(120, title='2nd MA Length')
type2 = input.string('EMA', '2nd MA Type', options=['EMA'])

price1 = if type1 == 'EMA'
    ta.ema(price, ma1)

price2 = if type2 == 'EMA'
    ta.ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=plot.style_line, title='1st MA', color=color.new(#219ff3, 0), linewidth=2)
plot(series=price2, style=plot.style_line, title='2nd MA', color=color.new(color.purple, 0), linewidth=2)


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

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

Más.