If

[[if]] permet de créer un branchement dans la stratégie selon le résultat de condition. Quand l’expression est vraie, l’exécution passe au bloc indiqué par then_block_id. Quand l’expression est fausse ou qu’elle vaut NaN, l’exécution passe au bloc indiqué par else_block_id. Dans les deux cas, l’enchaînement se fait immédiatement, sans attendre la bougie suivante.

[[if]] ne peut pas être utilisé dans la clé condition_ids d’un bloc [[and]] ou [[or]]. Pour combiner plusieurs conditions avant de choisir une branche, utilisez d’abord [[and]] ou [[or]], puis enchaînez vers [[if]].

Déclaration du bloc

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

Exemples

Choisir entre deux branches

Cet exemple utilise [[if]] parce que les deux cas sont définis : la stratégie enchaîne vers enter_long lorsque la condition est vraie, sinon vers enter_short.

[[if]]
id            = "trend_switch"
condition     = "rsi_fast > rsi_slow"
then_block_id = "enter_long"
else_block_id = "enter_short"

Une seule branche avec condition

Cet exemple utilise [[condition]] parce qu’il n’y a pas de branche à exécuter lorsque la condition est fausse. Tant que close > resistance est faux, la stratégie passe à la bougie suivante et réévalue la condition. Dès que l’expression devient vraie, elle enchaîne vers enter_breakout.

[[condition]]
id            = "breakout_guard"
condition     = "close > resistance"
next_block_id = "enter_breakout"

Paramètres du bloc

ParamètreDescription
id
 Texte
 Obligatoire
Identifiant unique du bloc.
condition
 Expression
 Obligatoire
Expression de condition évaluée sur chaque bougie. 0.0 et NaN sont considérés comme faux ; toute autre valeur non nulle est considérée comme vraie.
then_block_id
 Texte
 Obligatoire
Identifiant du bloc exécuté lorsque la condition est vraie.
else_block_id
 Texte
 Obligatoire
Identifiant du bloc exécuté lorsque la condition est fausse.