Estrategia de ruptura de cruces


Fecha de creación: 2023-10-12 16:47:55 Última modificación: 2023-10-12 16:47:55
Copiar: 0 Número de Visitas: 584
1
Seguir
1617
Seguidores

Descripción general

La estrategia de cruce de la media móvil es una estrategia de comercio cuantitativa muy común. Utiliza la media móvil para determinar la tendencia y obtener ganancias. Cuando se cruza la media móvil a corto plazo, indica que el precio de la acción comienza a subir y se puede hacer más; cuando se cruza la media móvil a corto plazo, indica que el precio de la acción comienza a bajar y se puede hacer menos.

Principio de estrategia

La estrategia se basa en el movimiento de la línea media para determinar el momento de compra y venta.upOrDownylongOrShortDos parámetros de entrada de tipo Boole para juzgar el exceso de vacío; usopercentInputIntroducción de parámetros para establecer el porcentaje de desvalorización de los cambios en el precio de las acciones; usoclosePositionDaysIntroduzca los parámetros para establecer el número de días que tendrá la posición.

La lógica central de la estrategia es: Calcular la desvalorización de hoy con respecto a la de ayer, si se alcanza el porcentaje de desvalorización de las entradas, se emite una señal de negociación. Si es de alza, hacer más cuando hoy en relación a la desvalorización de ayer supera la desvalorización; Si es de baja, hacer un vacío cuando hoy en relación a la desvalorización de ayer supera la desvalorización.

Después de hacer más vacío, se marcará el día y los siguientes 4 días en el gráfico con diferentes colores.

Ventajas estratégicas

  • El uso de un tenedor de oro horizontal móvil para determinar la tendencia del mercado es un método probado y confiable
  • La lógica de la estrategia es simple, clara y fácil de entender.
  • Se puede controlar la frecuencia de la estrategia ajustando los parámetros
  • El mecanismo de suspensión automática de pérdidas puede controlar el riesgo de manera efectiva

Riesgo estratégico

  • Las medias móviles son retrasadas y pueden perderse momentos de cambios rápidos en los precios.
  • Los precios de las acciones podrían sufrir grandes fluctuaciones en el corto plazo, lo que provocaría señales de cruce innecesarias
  • La configuración incorrecta de los parámetros de ParameterSet también puede afectar el efecto de la política
  • Incapacidad para responder eficazmente a los impactos de las emergencias

Medidas de control de riesgos:

  1. Optimización de los parámetros de la media móvil, con un ciclo de extensión adecuado para ayudar a filtrar el ruido
  2. Aumentar el porcentaje de devaluación de las acciones y reducir las transacciones innecesarias
  3. Prueba de diferentes días de tenencia para controlar las pérdidas individuales
  4. Signos de tendencia confirmados junto con otros indicadores

Dirección de optimización de la estrategia

  • Se puede considerar cambiar la media móvil por la media móvil de índices como EMA, DMA, etc., para que sea más sensible a los cambios en los precios
  • Aumentar los mecanismos de suspensión de pérdidas, como la suspensión inmediata de pérdidas en caso de ruptura de la línea media
  • Añadir otros indicadores técnicos para la combinación, como MACD, KDJ, etc., para aumentar la ganancia de la estrategia
  • Se puede probar un método de aprendizaje automático para optimizar los parámetros
  • Optimización de los tiempos de entrada y salida, como el breakout entrada

Resumir

La estrategia de cruce de la línea de equilibrio móvil es una estrategia de comercio cuantitativa muy sencilla y práctica. Se aprovecha de la tendencia de los precios de las acciones al juzgar la relación entre las tendencias a corto y largo plazo. La estrategia es fácil de implementar, tiene una lógica clara y es la base de muchas estrategias de comercio cuantitativas.

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

//@version=3
//  Created by Leon Ross

strategy(title = "DaysAfterCertainPercentChangev1", shorttitle = "DACPCv1", overlay = true, 
  pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, 
  calc_on_every_tick=true, initial_capital=100000)
  
//Inputs
longOrShort = input(title="Long=Checked Short=Unchecked", type=bool, defval=true) //long=true, down=false
upOrDown = input(title="Direction of Today vs. Previous day: Up=Checked Down=Unchecked", type=bool, defval=true) //up=true, down=false: this is the direction of days vs previous day
percentInput = input(title="Percent", type=float, defval=4.5)
closePositionDays = input(title="How Many Days to Close Position", defval=4)

//Conditions
//percentUpValue = (close / close[1]) - 1
//percentUp = percentUpValue >= (percentInput/100.0)
//upConditions = percentUp
//percentDownValue = 1- (close / close[1])
//percentDown = percentDownValue >= (percentInput/100.0)
//downConditions = percentDown
upValue = (close / close[1]) - 1
downValue = 1 - (close / close[1])
allConditions = if(upOrDown)
    upValue >= (percentInput/100.0)
else
    downValue >= (percentInput/100.0)
    
//Plots
bgcolor(allConditions ? (upOrDown ? green : red) : na, transp=70)
bgcolor(allConditions ? silver : na, transp=70, offset=1)
bgcolor(allConditions ? silver : na, transp=70, offset=2)
bgcolor(allConditions ? silver : na, transp=70, offset=3)
bgcolor(allConditions ? silver : na, transp=70, offset=4)
//bgcolor(downConditions == 1 ? red : na, transp=70)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=1)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=2)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=3)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=4)

//Entires
if(longOrShort)
    strategy.entry(id = "Long", long = true, when = allConditions) 
else
    strategy.entry(id = "Short", long = false, when = allConditions)

//Exits
if (barssince(allConditions) == closePositionDays)
    if(longOrShort)
        strategy.close("Long")
    else
        strategy.close("Short")