Cycle
Cycle en ProBuilder extrae el componente cíclico de una serie de precios, oscilando alrededor de cero para resaltar los ritmos repetitivos del mercado. Sintaxis y ejemplos.
Sintaxis
Cycle(price)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
price | fuente de precio | close | Serie a la que se aplica la extracción del ciclo, como close, open, high, low, o una variable personalizada. |
No hay parámetro de periodo. La longitud del ciclo la determina internamente ProRealTime™.
Fórmula
ProRealTime™ no publica una expresión cerrada para este indicador. Conceptualmente, la función elimina el componente de tendencia de la serie de entrada y devuelve el componente oscilante restante, por lo que la salida oscila alrededor de una línea cero. El método exacto de eliminación de tendencia y suavizado es interno de la plataforma y no se puede configurar.
Cómo funciona
Los precios de mercado se modelan a menudo como la suma de una tendencia, un componente cíclico y ruido. Cycle aísla la parte intermedia: los swings repetitivos que se producen alrededor de la tendencia predominante. La salida es un oscilador sin límites centrado en cero. Cuando el componente cíclico está por encima de cero, la serie está en la mitad superior de su swing detectado; cuando está por debajo de cero, en la mitad inferior.
Como el cálculo es fijo, el indicador se usa más como detector de fase que como oscilador ajustable. Las aplicaciones típicas son cronometrar entradas dentro de una tendencia establecida, o señalar cuándo es probable que un swing esté estirado. Los cruces de la línea cero marcan la transición de una fase del ciclo a la otra.
El análisis cíclico supone que el mercado realmente oscila. Durante tendencias fuertes en una sola dirección el componente cíclico se vuelve pequeño en relación con la tendencia, y sus cruces aportan menos información. Combinar el oscilador con un filtro de tendencia, como en el Ejemplo 3, es la solución habitual.
Ejemplos
Ejemplo 1, Fases alcista y bajista del ciclo (Indicador)
// Classify the current cycle phase from the sign of the output
c = Cycle(close)
IF c > 0 THEN
Bullish = 1
Bearish = 0
ELSE
Bullish = 0
Bearish = -1
ENDIF
RETURN Bullish coloured(0,128,0), Bearish coloured(255,20,147)Muestra una línea escalonada verde en 1 mientras el componente cíclico es positivo y una línea escalonada rosa en -1 mientras es negativo, lo que da un mapa visual rápido de la fase.
Ejemplo 2, Escaneo de ciclo girando al alza (ProScreener)
// List instruments whose cycle component just crossed above zero
c = Cycle(close)
SCREENER[c CROSSES OVER 0](c AS "Cycle")Devuelve los instrumentos que entran en la fase positiva de su ciclo en el bar actual, una lista inicial para entradas de swing.
Ejemplo 3, Cronometraje del ciclo con un filtro de tendencia (ProBacktest)
// Buy cycle upturns only while price is above the long-term average
trend = Average[200](close)
c = Cycle(close)
IF NOT LongOnMarket AND close > trend AND c CROSSES OVER 0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND c CROSSES UNDER 0 THEN
SELL AT MARKET
ENDIFLa media de 200 periodos restringe la operativa a las tendencias alcistas, y los cruces de la línea cero del componente cíclico cronometran las entradas y salidas dentro de esa tendencia.
Interpretación
- Por encima de cero. El ciclo detectado está en su fase ascendente. Los valores crecientes sugieren que el movimiento al alza aún se está desarrollando, los valores positivos decrecientes sugieren que está madurando.
- Por debajo de cero. El ciclo está en su fase descendente, leído de forma simétrica.
- Cruces de la línea cero. Marcan las transiciones de fase y son el disparador de operación más habitual construido sobre este indicador.
- Amplitud. La salida no está acotada, por lo que los valores extremos son relativos al propio historial reciente del instrumento más que a umbrales fijos.
El signo por sí solo no mide la fuerza de la tendencia. Combina el oscilador con un filtro direccional para eso.
Errores y trampas habituales
- Añadir un periodo entre corchetes.
Cycle[20](close)no compila. La función solo acepta el argumento de precio entre paréntesis y no tiene un periodo definido por el usuario. - Sin niveles fijos de sobrecompra o sobreventa. A diferencia del RSI o del Stochastic, la salida no está acotada. Condiciones como
Cycle(close) > 70son arbitrarios; compara mejor contra cero o contra los propios extremos recientes del indicador. - Señales débiles en tendencias fuertes. Cuando el precio tiende con fuerza en una dirección, el componente cíclico se aplana y los cruces de la línea cero se convierten en ruido. Filtra por dirección de la tendencia antes de actuar sobre los cruces.
- No es un pronóstico. La función describe la posición cíclica actual de la serie. No predice que el ciclo se repetirá con la misma longitud o amplitud.
Instrucciones relacionadas
DPO, oscilador de precio sin tendencia, otra forma de eliminar la tendencia y exponer los ciclos.TRIX, oscilador de momentum con triple suavizado alrededor de una línea cero.Stochastic, oscilador acotado que sitúa el cierre dentro del rango reciente.RSI, oscilador de momentum acotado con umbrales fijos.Momentum, diferencia bruta de precio de N bars.ROC, tasa de cambio en porcentaje.Average, media móvil, utilizada como filtro de tendencia en el Ejemplo 3.