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 = 20

Recherche 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  = 5

Filtre 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ètreDescription
id
 Texte
 Obligatoire
Identifiant unique de la série produite.
source
 Texte
 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"
length
 Entier
 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)
symbol
 Texte
 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.
timeframe
 Texte
 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 :

VariableDescription
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.length
Décimal
Longueur utilisée.
roc.source
Texte
Nom de la série d’entrée.
roc.symbol
Texte
Symbole de marché utilisé.
roc.timeframe
Texte
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 source située length bougies 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 vaut NaN.