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.3

Recherche 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.05

Filtre 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ètreDescription
id
 Texte
 Obligatoire
Nom unique identifiant la série SAR ; le bloc expose une série numérique portant cet identifiant.
start
 Dé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)
increment
 Dé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_value
 Dé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)
symbol
 Texte
 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.
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

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 :

VariableDescription
sar ou sar[0]
Décimal
Valeur actuelle du SAR.
sar[n]
Décimal
Valeur du SAR il y a n bougies.
sar.start
Décimal
Valeur initiale du facteur d’accélération utilisée pour sar.
sar.increment
Décimal
Incrément du facteur d’accélération utilisé pour sar.
sar.max_value
Décimal
Plafond du facteur d’accélération utilisé pour sar.
sar.high_source
sar.low_source
sar.close_source
Texte
Nom des séries d’entrée high, low et close utilisées par la série SAR.
sar.symbol
Texte
Symbole de marché utilisé pour la série SAR.
sar.timeframe
Texte
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.