If
Sur cette page
[[if]] est un bloc conditionnel qui évalue l’expression condition à chaque passage.
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 s’il est défini.
Si else_block_id n’est pas défini et que l’expression est fausse ou vaut NaN, le bloc n’est pas validé sur cette bougie. La stratégie reste sur le même bloc [[if]] et le réévalue à la bougie suivante.
Le champ condition du bloc [[if]] peut contenir directement la condition utilisée pour choisir entre then_block_id et else_block_id.
Ce bloc ne peut pas être référencé dans la clé conditions d’un bloc [[and]] ou [[or]].
Les blocs [[and]] et [[or]] attendent uniquement des blocs qui répondent à une question simple sur la bougie courante : la condition est vraie ou fausse. Le bloc [[if]] n’a pas ce rôle. Il ne sert pas à valider une condition pour un parent logique. Il sert à choisir lui-même la suite de l’exécution entre then_block_id et else_block_id.
Pour cette raison, [[if]] doit rester dans le flux principal de la stratégie. Si vous devez d’abord valider une combinaison logique, puis choisir une branche, faites valider le bloc [[and]] ou [[or]], puis enchaînez vers [[if]] avec next_block_id.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[if]].
Exemples
Branche else explicite
Cet exemple 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"Sans branche else
Cet exemple enchaîne vers enter_breakout lorsque la condition est vraie. Lorsque la condition est fausse, ou qu’elle vaut NaN, la stratégie reste sur ce bloc et le réévalue à la bougie suivante.
[[if]]
id = "breakout_guard"
condition = "close > resistance"
then_block_id = "enter_breakout"Paramètres du bloc
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Identifiant unique du bloc. |
conditionExpression 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_idTexte Obligatoire | Identifiant du bloc conditionnel exécuté lorsque la condition est vraie. |
else_block_idTexte Optionnel | Identifiant du bloc exécuté lorsque la condition est fausse. S’il est omis, et que la condition est fausse ou vaut NaN, la stratégie reste sur ce bloc [[if]] et le réévalue à la bougie suivante. |