Stochastic Oscillator (stoch)
[[stoch]] vous indique où se situe la clôture actuelle à l’intérieur du range récent défini par les plus hauts et les plus bas. Il vous aide à lire le rythme du marché lorsque le prix se rapproche des extrêmes de sa fenêtre de calcul.
Le bloc expose deux séries numériques sur une échelle de 0 à 100. La série %K est la ligne principale de l’oscillateur. La série %D est une moyenne mobile simple de %K, qui lisse la lecture.
Les zones de surachat et de survente ne sont pas figées. Vous définissez ces seuils dans votre stratégie, puis vous pouvez les explorer via la recherche par grille. Les niveaux 80 et 20 servent souvent de point de départ, mais ils restent des paramètres à ajuster selon votre logique.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[stoch]]. Chaque bloc génère deux séries numériques représentant %K et %D.
Le bloc [[stoch]] n’accepte pas de clé source et utilise toujours les séries de prix standards high, low et close.
Exemples
Configuration minimale
[[stoch]]
k_id = "stoch_k"
d_id = "stoch_d"
# k_length = 14
# d_length = 3Longueurs fixes personnalisées
Ce bloc utilise des valeurs personnalisées pour k_length et d_length.
[[stoch]]
k_id = "stoch_k"
d_id = "stoch_d"
k_length = 12
d_length = 4Recherche des longueurs optimales
Ce bloc explore les combinaisons possibles de k_length et d_length afin d’identifier la configuration la plus performante.
[[stoch]]
k_id = "stoch_k"
d_id = "stoch_d"
k_length.start = 10
k_length.stop = 20
d_length.start = 2
d_length.stop = 6Recherche des zones de surachat et de survente
Cet exemple combine le bloc [[stoch]] avec deux blocs [[constant]] pour optimiser les seuils de surachat et de survente.
La contrainte oversold < overbought garantit des combinaisons cohérentes, et les conditions utilisent %K et %D pour limiter le bruit.
[[constant]]
id = "overbought"
start = 70
stop = 90
step = 5
[[constant]]
id = "oversold"
start = 10
stop = 30
step = 5
[[stoch]]
k_id = "stoch_k"
d_id = "stoch_d"
# k_length = 14
# d_length = 3
[constraints]
condition = "oversold < overbought"
[[condition]]
id = "stoch_overbought"
condition = "stoch_k > overbought and stoch_d > overbought"
next_block_id = "..."
[[condition]]
id = "stoch_oversold"
condition = "stoch_k < oversold and stoch_d < oversold"
next_block_id = "..."Paramètres
| Paramètre | Description |
|---|---|
k_idd_idTexte Obligatoire | Identifiants uniques pour les lignes %K et %D. |
k_lengthEntier ou Table Optionnel | Fenêtre utilisée pour calculer %K (nombre de bougies) ; doit être ≥ 1 lorsqu’elle est renseignée. Si k_length est omis, la valeur par défaut est 14.Usage : • Fixe : k_length = 14• Grille : – k_length.start = valeur_minimale– k_length.stop = valeur_maximale– k_length.step = valeur (optionnel, par défaut 1) |
d_lengthEntier ou Table Optionnel | Longueur de la moyenne mobile de %K (nombre de bougies) ; doit être ≥ 1 lorsqu’elle est renseignée. Si d_length est omis, la valeur par défaut est 3.Usage : • Fixe : d_length = 3• Grille : – d_length.start = valeur_minimale– d_length.stop = valeur_maximale– d_length.step = valeur (optionnel, par défaut 1) |
symbolTexte ou Tableau Optionnel | Symbole(s) de marché depuis lequel ce bloc lit ses bougies (high, low, close). Si symbol est omis, le bloc utilise le symbole principal défini dans [backtest]. Pour le format des symboles, l’utilisation de tableaux et les règles d’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. |
La clé source n’est pas acceptée dans le bloc [[stoch]].
L’oscillateur utilise toujours les séries de prix high, low et close du marché et du timeframe choisis.
Variables disponibles
Le bloc stoch expose deux séries numériques (%K et %D), les longueurs utilisées pour le calcul, ainsi que le symbole et le timeframe.
Supposons le bloc configuré ainsi :
[[stoch]]
k_id = "stoch_k"
d_id = "stoch_d"Alors :
| Variable | Description |
|---|---|
stoch_k oustoch_k[0]Décimal | Valeur actuelle de %K. |
stoch_d oustoch_d[0]Décimal | Valeur actuelle de %D. |
stoch_k[n]Décimal | Valeur de %K il y a n bougies. |
stoch_d[n]Décimal | Valeur de %D il y a n bougies. |
stoch_k.k_lengthDécimal | Longueur utilisée pour calculer %K (fenêtre stochastique). |
stoch_k.d_lengthDécimal | Longueur utilisée pour lisser %K et produire %D. |
stoch_k.symbolTexte | Symbole de marché utilisé pour %K. |
stoch_d.symbolTexte | Symbole de marché utilisé pour %D. |
stoch_k.timeframeTexte | Timeframe utilisé pour %K. |
stoch_d.timeframeTexte | Timeframe utilisé pour %D. |
Notes :
- Les variables numériques se combinent librement dans les expressions (arithmétique, comparaisons, opérateurs logiques).
- Les variables textuelles sont des chaînes destinées aux comparaisons d’égalité et d’inégalité.