Threshold

[[threshold]] compare reference et comparison en appliquant l’écart relatif défini par threshold. Les expressions reference, comparison et threshold sont évaluées à chaque bougie, ce qui recalcule la condition à partir des valeurs courantes.

La condition est évaluée ainsi :

  • position = "above": la condition est vraie si referencecomparison×(1+threshold100).
  • position = "below": la condition est vraie si referencecomparison×(1-threshold100).

Lorsque la condition est vraie, l’exécution passe au bloc désigné par next_block_id.

Déclaration du bloc

Une stratégie peut contenir plusieurs blocs [[threshold]].

Exemples

Seuil fixe

Cet exemple enchaîne vers next_block lorsque close_price est au moins 5 % au-dessus de ma_slow.

[[threshold]]
id            = "my_threshold"
position      = "above"
reference     = "close_price"
comparison    = "ma_slow"
threshold     = 5
next_block_id = "next_block"

Seuil calculé par expression

Utilisez des guillemets lorsque le seuil est calculé à partir d’autres valeurs.

[[threshold]]
id            = "dynamic_threshold"
position      = "above"
reference     = "close_price"
comparison    = "ma_slow"
threshold     = "(atr / close_price) * 100"
next_block_id = "next_block"

Seuil optimisable avec [[constant]]

Cet exemple définit entry_gap_pct comme plage de recherche puis l’utilise comme valeur de seuil.

[[constant]]
id    = "entry_gap_pct"
start = 1.0
stop  = 3.0
step  = 0.5

[[threshold]]
id            = "gap_filter"
position      = "above"
reference     = "close_price"
comparison    = "ma_slow"
threshold     = "entry_gap_pct"
next_block_id = "next_block"

Paramètres du bloc

ParamètreDescription
id
 Texte
 Obligatoire
Identifiant unique du bloc.
position
 Texte
 Obligatoire
Sens de la comparaison : "above" ou "below".
reference
 Texte
 Obligatoire
Valeur de référence à comparer (par exemple close_price).
comparison
 Texte
 Obligatoire
Expression à opposer à la référence (par exemple une moyenne mobile).
threshold
 Expression numérique
 Obligatoire
Pourcentage de marge autorisé.
Accepte un nombre sans guillemets (ex: 5) ou une expression entre guillemets (ex: "(atr / close_price) * 100").
next_block_id
 Texte
 Conditionnel
Obligatoire lorsque le bloc [[threshold]] est utilisé seul. Doit être omis lorsqu’il est utilisé comme enfant d’un bloc [[and]] ou [[or]].

Ce bloc ne produit aucune variable spécifique ; il se contente de contrôler l’exécution selon l’écart observé.

Equivalent avec [[condition]]

Le bloc [[threshold]] est un raccourci lisible pour une expression de condition.

Equivalent pour position = "above" :

[[condition]]
id            = "gap_filter"
condition     = "close_price >= ma_slow * (1 + entry_gap_pct / 100)"
next_block_id = "next_block"

Equivalent pour position = "below" :

[[condition]]
id            = "gap_filter"
condition     = "close_price <= ma_slow * (1 - entry_gap_pct / 100)"
next_block_id = "next_block"

Pièges fréquents

  • Un threshold négatif inverse l’effet attendu sur le niveau cible et rend la condition plus permissive. En pratique, utilisez un seuil positif ou nul sauf besoin explicite.
  • Si comparison est nul ou négatif, l’interprétation “écart en pourcentage” devient moins intuitive. Vérifiez que ce comportement est bien celui recherché.