ROC
ROC en ProBuilder renvoie le Rate of Change, la différence en pourcentage entre le prix actuel et le prix d'il y a N bars. Syntaxe, formule, exemples.
Syntaxe
ROC[N](price)Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
N | entier | aucun | Distance de rétrospection en bars. Les valeurs courantes sont 12 et 25. Les valeurs courtes suivent les oscillations rapides du momentum, les valeurs longues suivent le cycle plus large. |
price | source de prix | close | La série mesurée, généralement close, également open, high, low, ou une variable personnalisée. |
Formule
ROC = ((price - price[N]) * 100) / price[N]La valeur actuelle moins la valeur N barres, divisée par cette valeur passée, multipliée par 100. Une lecture de 5 signifie que le prix est 5 pour cent au-dessus de son niveau d'il y a N bars plus tôt.
Comment ça marche
Le ROC est l'un des oscillateurs de momentum les plus simples. À chaque bar il répond à une seule question : de quel pourcentage le prix a-t-il bougé sur les derniers N bars. Comme la variation est exprimée en pourcentage plutôt qu'en points, les lectures sont comparables entre instruments de niveaux de prix différents, ce qui constitue la principale différence pratique avec Momentum, son équivalent en points.
La ligne oscille autour de zéro sans borne supérieure ni inférieure fixe. Des lectures positives soutenues caractérisent les tendances haussières, des lectures négatives soutenues caractérisent les tendances baissières, et le croisement du zéro lui-même est un signal de base de changement de tendance. Comme ROC compare exactement deux points, une grande bar qui sort par l'arrière de la fenêtre peut faire bouger l'indicateur autant qu'une grande bar qui arrive à l'avant, un effet qu'il vaut la peine de garder à l'esprit lorsqu'une lecture bondit sans mouvement de prix évident sur la bar en cours.
L'analyse des divergences est l'autre usage standard. Lorsque le prix inscrit un plus haut supérieur mais que ROC inscrit un plus haut inférieur, la hausse décélère, et le cas inverse s'applique sur les plus bas.
Exemples
Exemple 1, Mesurer l'accélération entre des variations consécutives (Indicateur)
// 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 majorchangeCompare la dernière variation en pourcentage sur une bar avec la précédente. Le ratio mesure l'accélération des variations de prix. Notez que i2 égal à zéro, c'est-à-dire un bar précédent plat, produit une division par zéro ; le code de production doit donc protéger le dénominateur.
Exemple 2, Entrée en tendance filtrée par le 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
ENDIFLe croisement du zéro d'un ROC à 12 bars cale les entrées et les sorties, tandis que la moyenne à 100 bars limite le trading au côté de la tendance haussière.
Exemple 3, Recherche des fortes variations sur 20 bars (ProScreener)
perf = ROC[20](close)
SCREENER[perf > 10](perf AS "ROC 20 %")Renvoie les instruments ayant gagné plus de 10 pour cent sur les 20 dernières bars, avec la valeur de ROC affichée dans une colonne triable, un écran de classement par momentum minimal.
Interprétation
| Lecture | Signification |
|---|---|
| ROC > 0 | Le prix est au-dessus de son niveau d'il y a N bars, momentum haussier. |
| ROC < 0 | Le prix est en dessous de son niveau d'il y a N bars, momentum baissier. |
| Lecture extrêmement haute | Potentiellement suracheté, le prix est étiré par rapport à son passé récent. |
| Lecture extrêmement basse | Potentiellement survendu. |
| Divergence haussière | Le prix inscrit des plus bas décroissants tandis que ROC inscrit des plus bas croissants, le momentum baissier s'essouffle. |
| Divergence baissière | Le prix inscrit des plus hauts croissants tandis que ROC inscrit des plus hauts décroissants, le momentum haussier s'essouffle. |
Ce qui compte comme extrême dépend de l'instrument et N, car l'indicateur n'est pas borné. Les instruments volatils atteignent couramment des niveaux de ROC qui seraient exceptionnels ailleurs ; les seuils doivent donc être calibrés marché par marché.
Erreurs et pièges courants
- Division par zéro dans les ratios dérivés. Les expressions comme
ROC[1](close) / ROC[1](close[1])échouent dès que la variation précédente est exactement nulle. Protégez les dénominateurs par un test contre 0 avant de diviser. - Échelle non bornée. Contrairement au RSI, ROC n'a pas de plage de 0 à 100. Les seuils de surachat et de survente copiés de la logique du RSI, comme 30 et 70, n'ont aucun sens ici.
- Effet de sortie de fenêtre. La lecture change lorsqu'une ancienne bar extrême quitte la fenêtre de N bars, même si le prix actuel bouge à peine. Les sauts soudains de ROC ne reflètent pas toujours de nouveaux achats ou de nouvelles ventes.
- Faux signaux au croisement du zéro avec un N petit.
ROC[1]ouROC[2]change de signe sans arrêt dans les marchés calmes. Les systèmes à croisement de zéro nécessitent soit une période plus longueNou un filtre de tendance supplémentaire.
Instructions liées
RocnRoll, générateur de signaux construit sur le taux de variation et les moyennes exponentielles.Momentum, l'équivalent exprimé en points, le prix moins le prix d'il y a N bars.RSI, oscillateur de momentum borné avec des seuils fixes.Variation, variation en pourcentage entre la clôture précédente et la clôture actuelle.VolumeROC, le même calcul de taux de variation appliqué au volume.MACD, momentum issu de l'écart entre deux moyennes exponentielles.CCI, oscillateur basé sur l'écart, une autre alternative de momentum.Stochastic, position de la clôture dans l'amplitude récente entre plus haut et plus bas.