Esta estrategia juzga las grandes tendencias mediante la integración de varios indicadores, y genera decisiones comerciales basadas en cambios simultáneos en las señales de la combinación de indicadores. La estrategia combina la velocidad de las medias móviles, el indicador STOCH y el indicador MACD para formar un mecanismo de seguimiento de tendencias más completo y sólido.
La estrategia se basa en los siguientes indicadores para determinar las tendencias:
Velocidad de la media móvil: indicador de tendencia que refleja la velocidad de cambio de los precios.
El índice STOCH: las zonas de sobreventa y sobrecompra juzgan el cambio de tendencia.
El indicador MACD: la diferencia entre las líneas de media doble refleja el cambio de tendencia.
Las reglas de transacción son las siguientes:
La media móvil se mueve hacia arriba para dar más señales.
El índice STOCH ha entrado en zona de sobreventa y ha dado una señal de baja.
La línea media del MACD se cruza, lo que da una señal de pluralidad.
Tomar la decisión de entrada correspondiente cuando cualquier 2 señales indicadoras están en el mismo sentido.
El cambio en el indicador se desvanece.
La estrategia integra varios factores de tendencia, que se combinan para formar un sistema de operaciones estables con un fuerte poder de confirmación mediante la filtración de señales y factores engañosos.
La combinación de estas estrategias tiene las siguientes ventajas frente a un solo indicador:
El juicio integral mejora la precisión.
El filtro combinado reduce el error de transacción.
La combinación de indicadores de tendencia y de reversión ofrece una visión global.
Con la fuerza de confirmación de la señal de dirección, se evita la falsa ruptura.
Las reglas son sencillas, claras y fáciles de aplicar.
La flexibilidad de ajuste de parámetros y la adaptabilidad son importantes.
El uso de diferentes períodos de tiempo es generalizado y extenso.
Se puede introducir el peso de los indicadores de entrenamiento de aprendizaje automático.
La estabilidad general y la rentabilidad son mejores que un indicador en solitario.
A pesar de las ventajas de la estrategia, los riesgos que se deben considerar son:
La complejidad de los indicadores aumenta la complejidad de la estrategia.
La optimización de parámetros y la configuración de pesos son más difíciles.
Puede haber señales contradictorias entre los diferentes indicadores.
En algunos indicadores, el retraso no permite evitar las pérdidas.
El tiempo de mantenimiento de una posición unilateral es incierto, hay un componente de suerte.
Las señales combinadas no eliminan la vigilancia inherente a las operaciones de tendencia.
La alta frecuencia de las transacciones es susceptible a las tarifas de las transacciones.
Se debe tener en cuenta el índice de retiro de ganancias.
De acuerdo con el análisis anterior, la estrategia podría mejorar:
Evaluar el efecto de los diferentes indicadores en los diferentes mercados.
Aumentar las pruebas de estabilidad de los parámetros para evitar la optimización excesiva.
Optimización de la configuración de las ponderaciones de los indicadores para reducir la conflictividad de las señales.
La mayoría de las compañías de seguros están en la misma situación que las compañías de seguros.
El uso de salidas de tiempo para controlar posiciones unilaterales sin objetivos.
Evaluar el impacto de la frecuencia de las transacciones en los costos de las transacciones.
Introducción de restricciones en los indicadores de riesgo.
Pruebas de robustez en varios mercados.
Las estrategias de verificación continuada para evitar la caducidad.
Esta estrategia determina las tendencias mediante la integración de múltiples indicadores, formando un sistema de señales combinadas estables. Sin embargo, cualquier estrategia necesita ser optimizada y mejorada constantemente, centrándose en los indicadores de riesgo y evitando la adaptación excesiva. La negociación cuantitativa es un proceso de aprendizaje continuo e iterativo.
/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// By TradeStation
//@version=5
strategy("Mov Avg Speed Strategy", overlay=true)
src = input(close, title="Source")
// MA Speed
avg_len = input.int(50, minval=1, title="Avg Length", group="MA Speed")
roc_len = input.int(1, minval=1, title="Rate of Change Length", group="MA Speed")
avg_roc_len = input.int(10, minval=1, title="Avg Rate of Change Length", group="MA Speed")
// Stochastic
stoch_len = input.int(14, minval=1, title="Stochastic Length", group="Stochastic")
smooth_k = input.int(3, minval=1, title="Stochastic Smooth K", group="Stochastic")
overbought = input.float(80, title="Stochastic Overbought", group="Stochastic")
oversold = input.float(20, title="Stochastic Oversold", group="Stochastic")
// MACD
fast_length = input(12, title="Fast Length", group="MACD")
slow_length = input(26, title="Slow Length", group="MACD")
macd_avg_length = input.int(9, title="MACD Avg Length", minval=1, group="MACD")
// MA Speed
avg = ta.sma(src, avg_len)
roc = ta.roc(avg, roc_len)
avg_roc = ta.sma(roc, avg_roc_len)
avg_roc_signal = avg_roc > 0 ? 1 : avg_roc < 0 ? -1 : 0
// Stochastic k
k = ta.sma(ta.stoch(close, high, low, stoch_len), smooth_k)
stochastic_signal = k <= oversold ? 1 : k >= overbought ? -1 : 0
// MACD
fast_ma = ta.ema(src, fast_length)
slow_ma = ta.ema(src, slow_length)
macd = fast_ma - slow_ma
macd_avg = ta.ema(macd, macd_avg_length)
macd_signal = macd_avg > macd_avg[1] ? 1 : macd_avg < macd_avg[1] ? -1 : 0
// set the signal couint
long_count = 0
short_count = 0
if macd_signal == 1
long_count += 1
else if macd_signal == -1
short_count += 1
if stochastic_signal == 1
long_count += 1
else if stochastic_signal == -1
short_count += 1
if avg_roc_signal == 1
long_count += 1
else if avg_roc_signal == -1
short_count += 1
if (long_count >= 2)
strategy.entry("Long", strategy.long)
if (short_count >= 2)
strategy.entry("Short", strategy.short)