Estrategia de cruce dorado y cruce mortal
Resumen
Esta estrategia utiliza el principio del cruce dorado y la cruz de la muerte de las medias móviles simples para implementar posiciones largas y cortas en acciones. Cuando la línea rápida supera al alza la línea lenta, se toma una posición larga; cuando la línea rápida cruza a la baja la línea lenta, se toma una posición corta.
Principio de la estrategia
La estrategia primero define el período de inicio y fin del backtesting, luego establece los parámetros de cálculo de las dos medias móviles, incluyendo el tipo de media y la longitud del período.
Mediante la función getMAType() se calculan los valores de las dos medias móviles. Donde fastMA es la media de período corto y slowMA es la media de período largo.
La lógica central de la estrategia es:
- Cuando
fastMAcruza al alzaslowMA, se genera una señal larga (long). - Cuando
fastMAcruza a la bajaslowMA, se genera una señal corta (short).
Finalmente, durante el período de backtesting, ante una señal larga se adopta una estrategia de posición larga; ante una señal corta, se adopta una estrategia de posición corta.
Análisis de ventajas
- La idea de la estrategia es clara y simple, fácil de entender e implementar.
- Utiliza el principio ampliamente usado del cruce de medias móviles, aplicable a la mayoría de las acciones.
- Permite personalizar el tipo y los parámetros de la media móvil, con alta adaptabilidad.
- Adopta una estructura de estrategia integrada, con funciones claras en cada parte, facilitando optimizaciones posteriores.
Análisis de riesgos
- El cruce de medias móviles tiene cierto rezago, pudiendo perder algunas oportunidades de trading.
- No puede filtrar eficazmente los mercados laterales, siendo propenso a quedar atrapado.
- La optimización de parámetros no es lo suficientemente completa y sistemática, requiriendo experiencia manual adicional.
- No puede controlar eficazmente el riesgo y las pérdidas de cada operación individual.
Frente a estos riesgos, se puede optimizar desde los siguientes aspectos:
- Agregar otros indicadores técnicos como filtro para identificar tendencias.
- Incorporar una estrategia de stop loss para controlar las pérdidas individuales.
- Introducir indicadores de volumen, etc., para evitar quedar atrapado en mercados laterales.
- Establecer un mecanismo de optimización de parámetros para encontrar automáticamente la mejor combinación.
Direcciones de optimización
Esta estrategia puede optimizarse aún más desde los siguientes aspectos:
- Agregar una estrategia de stop loss, como un stop loss fijo o un trailing stop, para controlar las pérdidas.
- Añadir una estrategia de gestión de posición, como posición fija o dinámica, para controlar el riesgo de las operaciones.
- Incorporar filtros, combinando otros indicadores técnicos para identificar tendencias y mejorar la tasa de aciertos.
- Optimizar la configuración de parámetros mediante búsqueda en cuadrícula, regresión lineal, etc., para encontrar los parámetros óptimos.
- Expandir las estrategias de largo y corto, como ruptura y reversión, construcción de posiciones por etapas, etc., para enriquecer las tácticas de trading.
- Añadir indicadores de volumen para evitar quedar atrapado en mercados laterales.
- Diversificar los instrumentos de trading, extendiéndose a futuros de índices, divisas, criptomonedas, etc.
Conclusión
Esta estrategia se basa en el principio del cruce de medias móviles para seleccionar posiciones largas y cortas en acciones. La idea es simple y clara, ampliamente utilizada, con alta adaptabilidad y cierto valor práctico. Sin embargo, también tiene desventajas como cierto rezago y la incapacidad de filtrar eficazmente los mercados laterales. En el futuro, se puede optimizar mejorando el stop loss, optimizando parámetros y añadiendo filtros, para que la estrategia sea más ventajosa.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy("Golden X BF Strategy", 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 ///////////////- 1
