Estrategia de seguimiento de medias móviles


Fecha de creación: 2023-10-20 17:02:52 Última modificación: 2023-10-20 17:03:32
Copiar: 2 Número de Visitas: 614
1
Seguir
1617
Seguidores

Estrategia de seguimiento de medias móviles

Descripción general

La estrategia de seguimiento de promedios móviles es una estrategia de seguimiento de tendencias basada en promedios móviles simples. La estrategia utiliza promedios móviles simples de 200 días de longitud para determinar la dirección de la tendencia de los precios, haciendo más cuando los precios atraviesan la media móvil por encima, y haciendo huecos cuando los precios atraviesan la media móvil por debajo, para lograr el seguimiento de la tendencia.

Principio de estrategia

La estrategia se basa principalmente en los siguientes principios:

  1. Utiliza una media móvil simple de 200 días de duración para determinar la dirección de la tendencia de los precios.
  2. Cuando el cierre se acerca a un MA lento, se considera que el mercado está empezando a subir, por lo que se hace más.
  3. Cuando el precio de cierre se cierra por debajo de la MA lenta, se considera que el mercado comienza a caer y, por lo tanto, queda en blanco.
  4. Las variables last_long y last_short registran el último tiempo de sobre y bajo trabajo.
  5. La función de cruce determina el cruce de last_long y last_short para generar una señal de transacción.
  6. En el período de tiempo de retroalimentación, se hace más cuando se recibe una señal de long_signal y se hace más cuando se recibe una señal de short_signal.

La estrategia se basa principalmente en la medias móviles para determinar la dirección de la tendencia y hacer operaciones inversas en el momento oportuno en que se produce un giro en la línea de paridad para obtener ganancias de seguimiento de la tendencia.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. La estrategia es simple, clara, fácil de entender y de implementar.
  2. El uso de promedios móviles de larga duración puede filtrar eficazmente el ruido y bloquear las principales tendencias.
  3. Las operaciones de reversión en tiempo real pueden capturar fluctuaciones de precios significativas en los puntos de cambio de tendencia.
  4. Solo se necesita un indicador de media móvil para eliminar la complejidad de la combinación de varios indicadores.
  5. Las reglas de entrada y salida son claras y no requieren demasiada intervención humana.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. Las medias largas son insensibles a los ajustes a corto plazo y pueden perder oportunidades de medias cortas.
  2. La capacidad de reconocer tendencias de grandes ciclos es débil y es susceptible a pérdidas de inversión.
  3. El sistema no detendrá los daños, lo que podría llevar a una mayor retirada.
  4. Los parámetros son fijos y la adaptabilidad a las diferentes variedades y al entorno del mercado es débil.
  5. El riesgo de sobreadaptación puede existir si se hace una prueba de estrategia basándose únicamente en datos históricos.

En cuanto a los riesgos, se pueden optimizar y mejorar en los siguientes aspectos:

  1. Combinado con la media de corto período, pero teniendo en cuenta las tendencias de largo y corto período.
  2. Aumentar las condiciones de la cartera de precios para evitar falsas rupturas.
  3. Se añade un filtro de indicadores de tendencia para mejorar la capacidad de reconocimiento de cambios de tendencia.
  4. Aumentar el mecanismo de suspensión de pérdidas dinámicas para controlar las pérdidas individuales.
  5. El uso de métodos de optimización de parámetros para mejorar la adaptabilidad de los parámetros.
  6. Realizar pruebas de replicación en diferentes entornos de mercado para comprobar la solidez de la estrategia.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de los parámetros periódicos de las medias móviles, buscando la combinación óptima de parámetros. Se pueden utilizar métodos de optimización de parámetros como Walk Forward Analysis.

  2. Aumentar las medias móviles a corto plazo para formar una estrategia de líneas medias múltiples, mientras se siguen las tendencias a corto plazo.

  3. La combinación de indicadores de tendencia, como el MACD, mejora la capacidad de identificar cambios de tendencia.

  4. Incorporar mecanismos de detención de pérdidas, como el seguimiento de las pérdidas, la suspensión de las pérdidas, etc., para controlar las pérdidas individuales.

  5. Realizar pruebas de replicación, estrategias de prueba en diferentes variedades y en diferentes períodos de tiempo, para mejorar la estabilidad.

  6. Utilizando métodos como el aprendizaje automático, la adaptación de los parámetros de la estrategia y la optimización de la estrategia.

Resumir

La estrategia de seguimiento de promedios móviles es una estrategia de seguimiento de tendencias sencilla y práctica, con ideas claras y fáciles de implementar, que puede capturar oportunidades de tendencias. Sin embargo, la estrategia también tiene algunos problemas, como la insensibilidad a los ajustes a corto plazo, la capacidad de control de riesgos débiles, etc. Podemos optimizar en muchos aspectos para que la estrategia sea más sólida, los parámetros sean más optimizados y el control de riesgos sea más completo. En general, la estrategia de seguimiento de promedios móviles tiene un buen valor de aplicación y es una idea estratégica importante para el comercio cuantitativo.

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

//@version=4
strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)

/////////////// Time Frame ///////////////
testStartYear = input(2012, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() => true

///////////// MA 200 /////////////
slowMA = sma(close, input(200))

/////////////// Strategy ///////////////
long = close > slowMA
short = close < slowMA

last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])

long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

/////////////// Execution /////////////// 
if testPeriod()
    strategy.entry("Long Entry",  strategy.long, when=long_signal)
    strategy.entry("Short Entry", strategy.short, when=short_signal)
    strategy.exit("Long Ex", "Long Entry")
    strategy.exit("Short Ex", "Short Entry")

/////////////// Plotting /////////////// 
plot(slowMA, color = long ? color.lime : color.red, linewidth=2)
bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80)
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)