Esta estrategia optimiza la estrategia original de tasa de cambio (ROC).
A través de estas medidas de optimización, se pueden filtrar muchas señales inválidas para hacer que la estrategia sea más estable y confiable.
El indicador central de esta estrategia es la tasa de cambio (ROC). ROC mide la tasa de cambio en los precios de las acciones durante un cierto período. Esta estrategia primero calcula el valor de ROC durante un período de 9. Luego registra el valor máximo de este indicador de ROC en los últimos 200 períodos y calcula el ROC actual como un porcentaje del ROC histórico máximo para obtener la fuerza relativa del impulso. Por ejemplo, si el ROC más alto en los últimos 200 días alcanzó el 100, entonces la fuerza relativa es del 80% cuando el ROC de hoy es 80.
La fuerza relativa se suaviza con una SMA de 10 períodos para filtrar las fluctuaciones a corto plazo y obtener una curva suave. Cuando la curva suave aumenta continuamente durante 3 días y el valor está por debajo del -80%, se considera que la caída del precio de la acción comienza a desacelerarse y aparece el signo de fondo, así que vaya largo; cuando la curva suave cae continuamente durante 3 días y el valor está por encima del 80%, se considera que el aumento del precio de la acción comienza a desacelerarse y aparece el signo superior, por lo que la posición cercana.
En comparación con la estrategia original de ROC, esta estrategia presenta las siguientes ventajas principales:
En general, esta estrategia procesa eficazmente el indicador ROC para hacerlo más adecuado para el comercio en vivo.
Los principales riesgos de esta estrategia son:
Para reducir los riesgos anteriores, considere combinar indicadores de tendencia para determinar las tendencias principales; ajustar los parámetros de umbral y probar los parámetros óptimos; optimizar los parámetros del ciclo SMA.
La estrategia se puede optimizar de las siguientes maneras:
Esta es una estrategia de optimización basada en el desarrollo secundario del indicador ROC. Introduce medios como comparación de valores máximos históricos, suavización de SMA y umbrales de compra y venta para filtrar señales inválidas y hacer que la estrategia sea más estable. La principal ventaja es la alta calidad de la señal, que es adecuada para el comercio en vivo. Se pueden realizar mejoras de seguimiento combinando tendencias, optimización de parámetros y así sucesivamente para mejorar aún más el rendimiento de la estrategia.
/*backtest start: 2024-02-12 00:00:00 end: 2024-02-19 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Rate Of Change Mod Strategy", shorttitle="ROC", format=format.price, precision=2) //length = input.int(9, minval=1) //source = input(close, "Source") //roc = 100 * (source - source[length])/source[length] //plot(roc, color=#2962FF, title="ROC") //hline(0, color=#787B86, title="Zero Line") length = input.int(9, minval=1, title="Length") maxHistory = input(200, title="Max Historical Period for ROC") lenghtSmooth = input.int(10, minval=1, title="Length Smoothed ROC") lenghtBUY = input.int(-80, title="Buy Threshold") lenghtSELL = input.int(80, title="Buy Threshold") source = close roc = 100 * (source - source[length]) / source[length] // Calculate the maximum ROC value in the historical period maxRoc = ta.highest(roc, maxHistory) // Calculate current ROC as a percentage of the maximum historical ROC rocPercentage = (roc / maxRoc) * 100 rocPercentageS = ta.sma(rocPercentage, lenghtSmooth) if ta.rising(rocPercentageS, 3) and rocPercentageS < lenghtBUY strategy.entry("Buy", strategy.long) if ta.falling(rocPercentageS, 3) and rocPercentageS > lenghtSELL strategy.close("Buy") plot(rocPercentage, color=color.new(color.blue, 0), title="Percentage ROC") plot(rocPercentageS, color=color.new(#21f32c, 0), title="Percentage ROC") hline(0, color=color.new(color.gray, 0), title="Zero Line")