Rate of Change (roc)
[[roc]] compare la valeur actuelle de source à celle observée length bougies plus tôt et exprime leur écart relativement à cette valeur de départ. Dans la lecture habituelle d’une source de prix positive, +10 signifie que la valeur actuelle est 10 % plus élevée qu’au début de l’intervalle, -10 qu’elle est 10 % plus basse, et 0 qu’elle est inchangée. La série évolue autour de zéro et n’a pas de bornes fixes.
Parce qu’il mesure une variation relative plutôt qu’un écart brut, le ROC ne dépend pas du niveau nominal du prix : des mouvements observés à des échelles de prix différentes se lisent sur la même échelle en pourcentage. length fixe la distance entre les deux valeurs comparées : une longueur courte couvre un intervalle récent, tandis qu’une longueur plus élevée couvre un intervalle plus long. Seules les deux extrémités sont comparées ; le chemin suivi entre elles n’entre pas dans la valeur.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[roc]]. Chaque bloc produit une série numérique unique, exposée sous l’id du bloc.
Exemples
Configuration minimale
Ce bloc calcule le ROC sur la série close. Comme source et length sont omis, les valeurs par défaut sont source = "close" et length = 9.
[[roc]]
id = "roc"Configuration fixe personnalisée
Ce bloc calcule le ROC sur hlc3 avec un décalage de 20 bougies.
[[roc]]
id = "roc"
source = "hlc3"
length = 20Recherche de la longueur optimale
Ce bloc explore plusieurs valeurs de length afin d’identifier le décalage le plus adapté à la stratégie.
[[roc]]
id = "roc"
source = "close"
length.start = 5
length.stop = 30
length.step = 5Filtre de momentum positif
Cet exemple utilise le ROC dans une condition. La condition devient vraie lorsque la source actuelle est au-dessus de sa valeur d’il y a length bougies.
[[roc]]
id = "roc"
[[condition]]
id = "positive_momentum"
condition = "roc > 0"
next_block_id = "..."Paramètres
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Identifiant unique de la série produite. |
sourceTexte ou Tableau Optionnel | Série d’entrée utilisée pour le calcul. Formats acceptés : source = "hl2" ou source = ["close", "hl2"].Chaque valeur peut être soit une source de prix standard ( open, close, high, low, hl2, hlc3, ohlc4, hlcc4, volume), soit l’id d’un autre indicateur.Valeur par défaut : "close" |
lengthEntier Optionnel | Décalage en nombre de barres, doit être compris entre 1 et 10000 lorsqu’il est renseigné.Si length est omis, la valeur par défaut est 9.Usage : • Fixe : length = valeur• Grille : – length.start = valeur_minimale– length.stop = valeur_maximale– length.step = valeur (optionnel, par défaut 1) |
symbolTexte ou Tableau Optionnel | Symbole(s) de marché utilisé(s) lorsque source ne contient que des prix standard (open, close, high, low, hl2, hlc3, ohlc4, hlcc4, volume).Si source mélange des prix standard et des identifiants d’indicateurs, symbol s’applique uniquement aux combinaisons basées sur des prix standard.Si source ne contient que des identifiants d’indicateurs, symbol est ignoré.Si symbol est omis, le bloc hérite du symbole défini dans [backtest].Pour le format, les tableaux et l’alignement, voir Exchanges, Symboles et Timeframes. |
timeframeTexte ou Tableau Optionnel | Timeframe sur lequel cet indicateur est calculé. Si timeframe est omis, le calcul se fait sur le timeframe principal de la grille défini dans [backtest].Pour les formats acceptés et les règles d’alignement entre timeframes, voir Exchanges, Symboles et Timeframes. |
Variables disponibles
Vous pouvez utiliser directement les identifiants ci-dessous dans vos expressions. Le bloc ROC expose une série numérique et sa longueur, ainsi que la source d’entrée, le symbole et le timeframe.
Supposons le bloc configuré ainsi :
[[roc]]
id = "roc"Alors :
| Variable | Description |
|---|---|
roc ou roc[0]Décimal | Taux de variation courant en pourcentage. Les premières length valeurs, plus l’échauffement éventuel de la source, sont NaN. |
roc[n]Décimal | Valeur du ROC il y a n bougies. |
roc.lengthDécimal | Longueur utilisée. |
roc.sourceTexte | Nom de la série d’entrée. |
roc.symbolTexte | Symbole de marché utilisé. |
roc.timeframeTexte | Timeframe utilisé. |
Notes
- Les variables numériques se combinent librement dans vos formules (arithmétique, comparaisons, opérateurs logiques).
- Les variables textuelles sont des chaînes destinées aux comparaisons d’égalité/inégalité uniquement.
- La lecture directionnelle du signe suppose que la valeur passée est positive. Si elle est négative, le dénominateur inverse cette lecture.
- Si la valeur de
sourcesituéelengthbougies plus tôt vaut zéro, le ROC est positif ou négatif infini selon le signe de la valeur courante. Si celle-ci vaut également zéro, le ROC vautNaN.