Parabolic SAR (sar)
[[sar]] calcule le Parabolic SAR (Stop and Reverse), un niveau de suivi qui produit une série numérique autour du prix. Pendant une phase haussière, il se déplace sous le prix ; pendant une phase baissière, il se déplace au-dessus. Lorsque le prix franchit le niveau calculé, le SAR change de côté et une nouvelle phase commence.
Le déplacement accélère lorsque la phase inscrit de nouveaux extrêmes. start fixe l’accélération initiale, increment l’augmente à chaque nouvel extrême et max_value en limite la progression. Le niveau se rapproche ainsi plus rapidement du prix à mesure que le mouvement se prolonge, puis l’accélération repart de sa valeur initiale après un changement de côté.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[sar]]. Chaque bloc produit une série numérique unique, nommée par id.
Le bloc [[sar]] n’a pas de paramètre source : il est toujours calculé à partir des prix high, low et close des bougies du symbole et du timeframe sélectionnés.
Exemples
Configuration minimale
Ce bloc utilise les paramètres par défaut : start = 0.02, increment = 0.02 et max_value = 0.2.
[[sar]]
id = "sar"Configuration fixe personnalisée
Ce bloc utilise un SAR plus réactif que la configuration par défaut.
[[sar]]
id = "sar"
start = 0.03
increment = 0.04
max_value = 0.3Recherche des paramètres optimaux
Ce bloc explore plusieurs valeurs de départ et plusieurs plafonds du facteur d’accélération, tout en conservant un incrément fixe.
[[sar]]
id = "sar"
start.start = 0.01
start.stop = 0.04
start.step = 0.01
increment = 0.02
max_value.start = 0.1
max_value.stop = 0.3
max_value.step = 0.05Filtre de contexte haussier
Cet exemple utilise le SAR comme filtre de tendance et optimise max_value pour tester plusieurs niveaux de réactivité. La stratégie ne passe au bloc suivant que lorsque le prix de clôture est au-dessus du SAR, ce qui correspond généralement à un contexte haussier.
[[sar]]
id = "sar"
start = 0.02
increment = 0.02
max_value.start = 0.1
max_value.stop = 0.3
max_value.step = 0.05
[[condition]]
id = "price_above_sar"
condition = "close > sar"
next_block_id = "..."Symbole et timeframe dédiés
Ce bloc calcule le SAR sur les bougies journalières de BINANCE:ETHUSDT. Les prix high, low et close sont extraits de ce symbole et de ce timeframe, indépendamment du symbole et du timeframe principaux définis dans [backtest]. Voir la page Exchanges, Symboles et Timeframes pour les règles d’alignement.
[[sar]]
id = "sar"
symbol = "BINANCE:ETHUSDT"
timeframe = "D"Paramètres
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Nom unique identifiant la série SAR ; le bloc expose une série numérique portant cet identifiant. |
startDécimal Optionnel | Valeur initiale du facteur d’accélération ; doit être strictement supérieure à 0 lorsqu’elle est renseignée.Si start est omis, la valeur par défaut est 0.02.Usage : • Fixe : start = valeur• Grille : – start.start = valeur_minimale– start.stop = valeur_maximale– start.step = valeur (optionnel, par défaut 1.0) |
incrementDécimal Optionnel | Incrément ajouté au facteur d’accélération lorsque la tendance marque un nouveau point extrême ; doit être strictement supérieur à 0 lorsqu’il est renseigné.Si increment est omis, la valeur par défaut est 0.02.Usage : • Fixe : increment = valeur• Grille : – increment.start = valeur_minimale– increment.stop = valeur_maximale– increment.step = valeur (optionnel, par défaut 1.0) |
max_valueDécimal Optionnel | Valeur maximale du facteur d’accélération ; doit être strictement supérieure à 0 lorsqu’elle est renseignée.Si max_value est omis, la valeur par défaut est 0.2.max_value peut être inférieur à start ; Whale-E accepte cette configuration.Usage : • Fixe : max_value = valeur• Grille : – max_value.start = valeur_minimale– max_value.stop = valeur_maximale– max_value.step = valeur (optionnel, par défaut 1.0) |
symbolTexte ou Tableau Optionnel | Symbole de marché à partir duquel le SAR lit les bougies (prix high, low, close). Pour le format et les règles d’alignement, voir le guide 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
Le bloc SAR expose une série numérique ainsi que ses paramètres, en plus des sources d’entrée, du symbole et du timeframe.
Supposons le bloc configuré ainsi :
[[sar]]
id = "sar"Alors :
| Variable | Description |
|---|---|
sar ou sar[0]Décimal | Valeur actuelle du SAR. |
sar[n]Décimal | Valeur du SAR il y a n bougies. |
sar.startDécimal | Valeur initiale du facteur d’accélération utilisée pour sar. |
sar.incrementDécimal | Incrément du facteur d’accélération utilisé pour sar. |
sar.max_valueDécimal | Plafond du facteur d’accélération utilisé pour sar. |
sar.high_sourcesar.low_sourcesar.close_sourceTexte | Nom des séries d’entrée high, low et close utilisées par la série SAR. |
sar.symbolTexte | Symbole de marché utilisé pour la série SAR. |
sar.timeframeTexte | Timeframe utilisé pour la série SAR. |
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.