ROC
ROC en ProBuilder devuelve el Rate of Change, la diferencia porcentual entre el precio actual y el precio de N bars atrás. Sintaxis, fórmula, ejemplos.
Sintaxis
ROC[N](price)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
N | entero | ninguno | Distancia de retroceso en bars. Los valores habituales son 12 y 25. Los valores cortos siguen los swings rápidos de momentum, los valores largos siguen el ciclo más amplio. |
price | fuente de precio | close | La serie medida, normalmente close, también open, high, low, o una variable personalizada. |
Fórmula
ROC = ((price - price[N]) * 100) / price[N]El valor actual menos el valor N bars atrás, dividido por ese valor pasado, multiplicado por 100. Una lectura de 5 significa que el precio está un 5 por ciento por encima de donde estaba N bars antes.
Cómo funciona
El ROC es uno de los osciladores de momentum más simples. En cada bar responde a una sola pregunta: ¿qué porcentaje se ha movido el precio en los últimos N bars. Como la variación se expresa en porcentaje y no en puntos, las lecturas son comparables entre instrumentos con niveles de precio distintos, que es la principal diferencia práctica con Momentum, su equivalente basado en puntos.
La línea oscila alrededor de cero sin un límite superior o inferior fijo. Las lecturas positivas sostenidas caracterizan las tendencias alcistas, las lecturas negativas sostenidas caracterizan las tendencias bajistas, y el propio cruce de cero es una señal básica de cambio de tendencia. Como ROC compara exactamente dos puntos, una bar grande que sale por el final de la ventana puede mover el indicador tanto como una bar grande que entra por el principio, un efecto que conviene recordar cuando una lectura salta sin un movimiento de precio evidente en la bar actual.
El análisis de divergencias es el otro uso estándar. Cuando el precio marca un máximo más alto pero ROC marca un máximo más bajo, el avance se está desacelerando, y el caso espejo se aplica en los mínimos.
Ejemplos
Ejemplo 1, Medir la aceleración entre variaciones consecutivas (Indicador)
// One-bar rate of change on this bar and on the previous bar
i1 = ROC[1](close)
i2 = ROC[1](close[1])
// Ratio above 1 means the latest change is larger than the previous one
majorchange = i1 / i2
RETURN majorchangeCompara la última variación porcentual de un bar con la anterior. El ratio mide la aceleración de los cambios de precio. Ten en cuenta que i2 igual a cero, un bar anterior plano, produce una división por cero, por lo que el código de producción debe proteger el denominador.
Ejemplo 2, Entrada en tendencia filtrada por momentum (ProOrder)
DEFPARAM CumulateOrders = false
mom = ROC[12](close)
trend = Average[100](close)
// Long when the 12-bar momentum turns positive above the trend average
IF NOT LongOnMarket AND close > trend AND mom CROSSES OVER 0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Exit when momentum decays back through zero
IF LongOnMarket AND mom CROSSES UNDER 0 THEN
SELL AT MARKET
ENDIFEl cruce de cero de un ROC de 12 bars marca el timing de las entradas y las salidas, mientras que la media de 100 bars restringe la operativa al lado de la tendencia alcista.
Ejemplo 3, Buscando fuertes movimientos en 20 bars (ProScreener)
perf = ROC[20](close)
SCREENER[perf > 10](perf AS "ROC 20 %")Devuelve instrumentos que han ganado más de un 10 por ciento en las últimas 20 bars, con el valor de ROC mostrado como una columna ordenable, una pantalla mínima de ranking de momentum.
Interpretación
| Lectura | Significado |
|---|---|
| ROC > 0 | El precio está por encima de su nivel de N bars atrás, momentum al alza. |
| ROC < 0 | El precio está por debajo de su nivel de N bars atrás, momentum a la baja. |
| Lectura extremadamente alta | Potencialmente sobrecomprado, el precio está estirado en relación con su pasado reciente. |
| Lectura extremadamente baja | Potencialmente sobrevendido. |
| Divergencia alcista | El precio marca mínimos más bajos mientras ROC marca mínimos más altos, el momentum a la baja se debilita. |
| Divergencia bajista | El precio marca máximos más altos mientras ROC marca máximos más bajos, el momentum al alza se debilita. |
Lo que se considera extremo depende del instrumento y N, ya que el indicador no está acotado. Los instrumentos volátiles alcanzan de forma rutinaria niveles de ROC que serían excepcionales en otros, por lo que los umbrales necesitan calibrarse para cada mercado.
Errores y trampas habituales
- División por cero en ratios derivados. Expresiones como
ROC[1](close) / ROC[1](close[1])fallan siempre que el cambio anterior es exactamente cero. Protege los denominadores con una comprobación frente a 0 antes de dividir. - Escala no acotada. A diferencia de RSI, ROC no tiene un rango de 0 a 100. Los umbrales de sobrecompra y sobreventa copiados de la lógica de RSI, como 30 y 70, no tienen sentido aquí.
- Efecto de salida de la ventana. La lectura cambia cuando una bar extrema antigua sale de la ventana de N bars aunque el precio actual apenas se mueva. Los saltos repentinos de ROC no siempre reflejan compras o ventas nuevas.
- Whipsaw en el cruce de cero con N pequeño.
ROC[1]oROC[2]cambia de signo constantemente en mercados tranquilos. Los sistemas de cruce por cero necesitan o bien unNo un filtro de tendencia adicional.
Instrucciones relacionadas
RocnRoll, generador de señales construido sobre la tasa de variación y medias exponenciales.Momentum, el equivalente en puntos, el precio menos el precio de N bars atrás.RSI, oscilador de momentum acotado con umbrales fijos.Variation, variación porcentual entre el cierre anterior y el cierre actual.VolumeROC, el mismo cálculo de tasa de variación aplicado al volumen.MACD, momentum a partir del spread de dos medias exponenciales.CCI, oscilador basado en la desviación, otra alternativa de momentum.Stochastic, posición del cierre dentro del rango máximo-mínimo reciente.