SuperTrend
[[supertrend]] produit une ligne de suivi adaptée à la volatilité à partir de bandes calculées autour du prix avec l’Average True Range (ATR). Dans une phase haussière, la bande active se trouve sous le prix ; dans une phase baissière, elle se trouve au-dessus. Lorsque la clôture franchit la bande active, la ligne change de côté et la direction bascule.
La sortie principale est la valeur de cette ligne. Si direction_id est renseigné, le bloc expose aussi une série de direction : -1 pour la phase haussière et 1 pour la phase baissière. length règle l’horizon de l’ATR et factor la distance des bandes par rapport au prix.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[supertrend]]. Chaque bloc produit la ligne SuperTrend et, si direction_id est défini, une série de direction (1 = tendance baissiere, -1 = tendance haussiere). Ce bloc n’a pas de clé source car il utilise toujours high, low et close.
Exemples
Configuration minimale
Ce bloc utilise length = 10 et factor = 3.0. Il expose à la fois la ligne et la direction.
[[supertrend]]
id = "st"
direction_id = "st_dir"
# length = 10
# factor = 3.0Configuration fixe personnalisée
Ce bloc utilise des valeurs personnalisées pour length et factor.
[[supertrend]]
id = "st"
direction_id = "st_dir"
length = 14
factor = 2.5Recherche de la longueur optimale
Ce bloc explore une plage de valeurs pour length, en conservant factor = 3.0.
[[supertrend]]
id = "st"
length.start = 7
length.stop = 21
# length = 10
# factor = 3.0Recherche du facteur optimal
Ce bloc garde length = 10 et explore une plage de valeurs pour factor.
[[supertrend]]
id = "st"
length = 10
factor.start = 1.0
factor.stop = 5.0
factor.step = 0.5Paramètres
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Identifiant de la ligne SuperTrend. |
direction_idTexte Optionnel | Identifiant de la direction (1 = tendance baissiere, -1 = tendance haussiere). |
lengthEntier Optionnel | Fenêtre pour l’ATR et le lissage des bandes ; doit être >= 1 lorsqu’elle est renseignée. Valeur par défaut : 10.Usage : • Fixe : length = 10• Grille : - length.start = valeur_minimale- length.stop = valeur_maximale- length.step = valeur (optionnel, par défaut 1) |
factorDécimal Optionnel | Multiplicateur appliqué à l’ATR pour calculer les bandes, doit être > 0. Usage : • Fixe : factor = 3.0• Grille : - factor.start = valeur_minimale- factor.stop = valeur_maximale- factor.step = valeur (optionnel, par défaut 1)Valeur par défaut : 3.0. |
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. |
Variables disponibles
Vous pouvez utiliser directement les identifiants ci-dessous dans vos expressions. Le bloc SuperTrend expose la ligne et, si configurée, la direction (1 = tendance baissiere, -1 = tendance haussiere), ainsi que les paramètres (longueur, facteur), les sources d’entrée, le symbole et le timeframe.
Supposons le bloc configuré ainsi :
[[supertrend]]
id = "st"
direction_id = "st_dir"Alors :
| Variable | Description |
|---|---|
st oust[0]Décimal | Valeur actuelle du SuperTrend. |
st[n]Décimal | Valeur du SuperTrend il y a n bougies. |
st_dir oust_dir[0]Décimal | Direction actuelle (1 = tendance baissiere, -1 = tendance haussiere). |
st_dir[n]Décimal | Direction il y a n bougies. |
st.lengthDécimal | Longueur utilisée. |
st.factorDécimal | Facteur appliqué. |
st.high_srcst.low_srcst.close_srcst_dir.high_srcst_dir.low_srcst_dir.close_srcTexte | Noms des sources d’entrée utilisées (high, low et close) sur chaque sortie. |
st.symbolst_dir.symbolTexte | Symbole de marché utilisé pour chaque sortie. |
st.timeframest_dir.timeframeTexte | Timeframe utilisé pour chaque sortie. |
Notes
- Les variables numériques se combinent librement (arithmétique, comparaisons, opérateurs logiques).
- Les variables textuelles sont des chaînes destinées aux comparaisons d’égalité/inégalité uniquement.