Cycle
Cycle en ProBuilder extrait la composante cyclique d'une série de prix, oscillant autour de zéro pour mettre en évidence les rythmes répétitifs du marché. Syntaxe et exemples.
Syntaxe
Cycle(price)Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
price | source de prix | close | Série à laquelle l'extraction de cycle est appliquée, comme close, open, high, low, ou une variable personnalisée. |
Il n'y a pas de paramètre de période. La longueur du cycle est déterminée en interne par ProRealTime™.
Formule
ProRealTime™ ne publie pas d'expression analytique pour cet indicateur. Sur le plan conceptuel, la fonction retire la composante de tendance de la série d'entrée et renvoie la composante oscillante restante, de sorte que la sortie oscille autour d'une ligne zéro. La méthode exacte de détendancement et de lissage est interne à la plateforme et ne peut pas être configurée.
Comment ça marche
Les prix de marché sont souvent modélisés comme la somme d'une tendance, d'une composante cyclique et d'un bruit. Cycle isole la partie intermédiaire : les swings répétés qui se produisent autour de la tendance dominante. La sortie est un oscillateur non borné centré sur zéro. Quand la composante cyclique est au-dessus de zéro, la série se trouve dans la moitié haute du swing détecté, quand elle est en dessous de zéro, dans la moitié basse.
Comme le calcul est figé, l'indicateur est utilisé davantage comme détecteur de phase que comme oscillateur paramétrable. Les applications typiques sont le timing des entrées à l'intérieur d'une tendance établie, ou le repérage des moments où un swing est probablement étiré. Les croisements de la ligne zéro marquent la transition d'une phase du cycle à l'autre.
L'analyse cyclique suppose que le marché oscille réellement. Pendant les tendances fortes et unidirectionnelles, la composante cyclique devient faible par rapport à la tendance, et ses croisements portent moins d'information. Associer l'oscillateur à un filtre de tendance, comme dans l'exemple 3, est le contournement courant.
Exemples
Exemple 1, Phases de cycle haussières et baissières (Indicateur)
// 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)Affiche une ligne en escalier verte à 1 tant que la composante cyclique est positive et une ligne en escalier rose à -1 tant qu'elle est négative, ce qui donne une carte visuelle rapide des phases.
Exemple 2, Scan de cycle en retournement haussier (ProScreener)
// List instruments whose cycle component just crossed above zero
c = Cycle(close)
SCREENER[c CROSSES OVER 0](c AS "Cycle")Renvoie les instruments qui entrent dans la phase positive de leur cycle sur le bar courant, une liste de départ pour des entrées swing.
Exemple 3, Timing du cycle avec un filtre de tendance (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 moyenne à 200 périodes limite le trading aux tendances haussières, et les croisements de la ligne zéro par la composante cyclique déterminent le moment des entrées et des sorties à l'intérieur de cette tendance.
Interprétation
- Au-dessus de zéro. Le cycle détecté est dans sa phase ascendante. Des valeurs en hausse suggèrent que la phase de hausse se développe encore, des valeurs positives en baisse suggèrent qu'elle arrive à maturité.
- En dessous de zéro. Le cycle est dans sa phase descendante, à lire de façon symétrique.
- Croisements de la ligne zéro. Marquent les transitions de phase et constituent le déclencheur de trade le plus courant construit sur cet indicateur.
- Amplitude. La sortie n'est pas bornée, les valeurs extrêmes sont donc relatives à l'historique récent propre à l'instrument plutôt qu'à des seuils fixes.
Le signe seul ne mesure pas la force de la tendance. Associez l'oscillateur à un filtre directionnel pour cela.
Erreurs et pièges courants
- Ajouter une période entre crochets.
Cycle[20](close)ne compile pas. La fonction ne prend que l'argument de prix entre parenthèses et n'a pas de période définie par l'utilisateur. - Pas de niveaux fixes de surachat ou de survente. Contrairement au RSI ou au Stochastic, la sortie n'est pas bornée. Des conditions comme
Cycle(close) > 70sont arbitraires ; comparez plutôt à zéro ou aux extrêmes récents de l'indicateur lui-même. - Signaux faibles dans les tendances fortes. Lorsque le prix tend fortement dans une direction, la composante cyclique s'aplatit et les croisements de la ligne zéro deviennent du bruit. Filtrez par direction de tendance avant d'agir sur les croisements.
- Pas une prévision. La fonction décrit la position cyclique actuelle de la série. Elle ne prédit pas que le cycle se répétera avec la même longueur ou la même amplitude.
Instructions liées
DPO, oscillateur de prix détendancé, une autre façon de retirer la tendance et de faire apparaître les cycles.TRIX, oscillateur de momentum à triple lissage autour d'une ligne zéro.Stochastic, oscillateur borné qui situe la clôture dans la plage récente.RSI, oscillateur de momentum borné avec des seuils fixes.Momentum, différence brute de prix sur N bars.ROC, taux de variation en pourcentage.Average, moyenne mobile, utilisée comme filtre de tendance dans l'exemple 3.