Estrategia de cruce de las medias móviles del índice

El autor:¿ Qué pasa?, Fecha: 2023-10-17 16:55:10
Las etiquetas:

指数移动平均交叉策略

Resumen

Esta es una estrategia de trading automático basada en el cruce de dos medias móviles de indicadores en diferentes períodos de tiempo. Utiliza indicadores técnicos simples y es muy adecuado para el aprendizaje y la práctica de los principiantes.

El principio

Esta estrategia utiliza dos medias móviles de índices, una media del ciclo de tiempo y otra media del ciclo actual. Cuando la media del ciclo actual atraviese la media del ciclo, haga más; cuando la media del ciclo actual atraviese la media del ciclo, haga un espacio.

En concreto, la estrategia primero define dos parámetros de línea recta:

  1. tf - Gran ciclo de tiempo, por defecto línea de día
  2. len - longitud del ciclo de la línea media, por defecto 3

Luego se calculan dos EMA por separado:

  1. ma1 - EMA de 3 días en el calendario de la mayor ciclo
  2. ma2 - EMA del día 3 del ciclo actual

Por último, a la lógica de la transacción:

  • Cuando ma2 es más que ma1, haz más.
  • Cuando ma2 < ma1, entonces vacío.

De esta manera, el comercio automático se realiza mediante el cruce de líneas uniformes de diferentes períodos de tiempo para determinar la dirección de la tendencia.

Las ventajas

La estrategia tiene las siguientes ventajas:

  1. Los principios son simples, fáciles de entender y implementar, muy adecuados para los principiantes.
  2. El comercio en línea, siguiendo la tendencia, puede obtener mejores ganancias.
  3. El uso de una media móvil de índices es más sensible a los cambios de precios y permite captar los cambios de tendencia en el momento oportuno.
  4. La combinación de diferentes líneas uniformes de ciclo puede aprovechar sus ventajas individuales para mejorar la estabilidad del sistema.
  5. No requiere demasiados parámetros, es fácil de probar y optimizar, y es fácil de operar.

El riesgo

La estrategia también tiene algunos riesgos:

  1. El seguimiento de las tendencias es débil y puede ser encerrado por la conmoción del mercado.
  2. El cruce de dos líneas equiláteras tiene un retraso en el tiempo y puede perder algunas oportunidades.
  3. No se puede filtrar de manera efectiva el desorden transversal de dos líneas uniformes.
  4. La industria de la información se basa en una línea media simple y es difícil de adaptar a un mercado complejo.

El riesgo puede reducirse mediante la configuración de un stop loss, la optimización de la combinación de parámetros o la incorporación de otros indicadores.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Prueba diferentes parámetros de la línea recta de gran ciclo para encontrar la mejor combinación.
  2. Aumentar el filtrado de los indicadores de transacción y evitar señales falsas.
  3. La combinación de indicadores de tendencia mejora la capacidad de tenencia y la eficiencia operativa.
  4. El punto de stop de ajuste se establece para controlar las pérdidas individuales.
  5. Optimiza la gestión de posiciones y ajusta el tamaño de las posiciones según el mercado.
  6. En la actualidad, la mayoría de los usuarios de Twitter están utilizando el sistema de aprendizaje automático (MLM) para crear sus propias estrategias.

Resumen

La estrategia de cruce de media móvil del índice utiliza tendencias de captura de indicadores simples y es adecuada para la práctica de aprendizaje novedosa. El espacio de optimización es grande, se puede introducir más indicadores técnicos y modelos para mejorar y desarrollar estrategias de negociación cuantitativas con un efecto más fuerte.


/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Noro's Singapore Strategy", shorttitle = "Singapore str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
tf = input("D", title = "Big Timeframe")
len = input(3, minval = 1, title = "MA length")
src = input(close, title = "MA Source")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MAs
ma1 = request.security(syminfo.tickerid, tf, sma(src, len))
ma2 = sma(src, len)
plot(ma1, linewidth = 2, color = blue, title = "Big TF MA")
plot(ma2, linewidth = 2, color = red, title = "MA")

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]

if ma2 > ma1
    strategy.entry("L", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if ma2 < ma1
    strategy.entry("S", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Más contenido