La estrategia de cruce de la media móvil de Galileo Galilei

El autor:¿ Qué pasa?, Fecha: 2023-12-18 12:07:07
Las etiquetas:

img

Resumen general

La estrategia de cruce de promedios móviles de Galileo Galilei es una estrategia de negociación basada en promedios móviles. Genera señales de negociación calculando la media móvil exponencial (EMA) durante un período especificado y comparando cruces entre la EMA y el precio. Las señales de venta se generan cuando el precio cae por debajo de la EMA desde arriba hacia abajo, mientras que las señales de compra se producen cuando el precio se rompe por encima de la EMA desde abajo hacia arriba.

Estrategia lógica

El núcleo de la estrategia de Galileo Galilei se encuentra en el promedio móvil exponencial (EMA).

EMA de hoy = (Precio de cierre de hoy × Factor de suavización) + (EMA de ayer × (1 − Factor de suavización))

Donde el factor de suavizado α = (2/(número de períodos + 1))

La estrategia calcula dinámicamente la EMA basándose en los parámetros del período de entrada del usuario. Luego compara los cruces entre el precio y la EMA para determinar las señales comerciales:

  1. Cuando el precio cae por debajo de la EMA desde arriba hacia abajo, se genera una señal de venta para la negociación corta.

  2. Cuando el precio se rompe por encima de la EMA desde abajo, se activa una señal de compra para la negociación larga.

La estrategia también traza la línea EMA en el gráfico, junto con marcadores de flechas que indican señales de compra y venta.

Análisis de ventajas

La estrategia de cruce de la media móvil de Galileo Galilei tiene las siguientes ventajas:

  1. Lógica simple que es fácil de entender e implementar, adecuada para principiantes.
  2. Una respuesta más rápida a los cambios de precios mediante el uso de la EMA.
  3. Señal de cruce claro sin exceso de golpes.
  4. Flexibilidad para adaptarse a los diferentes entornos de mercado mediante el ajuste de los parámetros de la EMA.
  5. Las señales de entrada y salida definidas proporcionan control de riesgos.

Análisis de riesgos

Los riesgos potenciales de esta estrategia incluyen:

  1. Una estrategia de stop loss podría ayudar a optimizar.
  2. La dependencia de un único indicador hace que sea vulnerable a la manipulación de precios.
  3. Efecto de retraso, especialmente después de eventos repentinos.
  4. Incapacidad para adaptarse a las tendencias de precios unilaterales prolongadas, una limitación común entre las estrategias de medias móviles.

Direcciones de optimización

Algunas maneras de optimizar la estrategia:

  1. Incorporar otros indicadores para construir una estrategia compuesta para aumentar la robustez frente a las falsas señales.

  2. Se añaden mecanismos de stop loss como el stop loss de seguimiento o el stop loss basado en el porcentaje para controlar el importe de la pérdida de una sola operación.

  3. Prueba las EMA con diferentes combinaciones de parámetros para encontrar ajustes óptimos.

  4. Evaluar la lógica de reingreso para capturar rebotes después de las inversiones iniciales de precios, mejorando la rentabilidad.

Conclusión

El cruce de la media móvil de Galileo Galilei es una estrategia simple pero práctica con lógica clara y facilidad de operación. Es adecuado para operadores de cantidades novatos. Con mejoras continuas, su rendimiento podría ser cada vez superior con el tiempo.


/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 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/
// © armigoldman

//@version=3
strategy(title="Galileo Galilei", shorttitle="Galileo Galilei", overlay=true, initial_capital = 100000, default_qty_type=strategy.cash, default_qty_value = 100000)
len = input(11, minval=1, title="Length")
src = input(open, title="Source")
out = ema(src, len)
plot(out, title="EMA", color=yellow)
//last8h = highest(close, 8)
//lastl8 = lowest(close, 8)

//plot(last8h, color=red, linewidth=2)
//plot(lastl8, color=green, linewidth=2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE

// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2020, title="From Year", minval=1970)

// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=12, title="To Month", minval=1, maxval=12)
toYear = input(defval=2021, title="To Year", minval=1970)

// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


bearish = cross(close, out) == 1 and close[1] > close
bullish = cross(close, out) == 1 and close[1] < close

plotshape(bearish, color=white, style=shape.arrowdown, text="BEAR", location=location.abovebar)
plotshape(bullish, color=white, style=shape.arrowup, text="BULL", location=location.belowbar)

buy = if cross(close, out) == 1 and close[1] < close
    strategy.entry("BUY", strategy.long, when=time_cond)
        //strategy.close_all(when=bearish)
        // strategy.exit("exit", "Long", profit =, loss = 35)


sell = if cross(close, out) == 1 and close[1] > close
    strategy.entry("SELL", strategy.short, when=time_cond)
        //sell = if bearish
        //strategy.close_all(when=bullish)
        // strategy.exit("exit", "Long", profit = bullish, loss = 100)

profit = strategy.netprofit
if not time_cond
    strategy.close_all()

//plotshape(true, style=shape.triangleup, location=location.abovebar)


Más.