Condition
Sur cette page
[[condition]] est un bloc conditionnel qui évalue l’expression condition à chaque passage de la stratégie.
L’expression est interprétée comme un booléen : 0.0 et NaN sont faux, et toute autre valeur non nulle est vraie.
Quand l’expression est vraie, l’exécution passe au bloc indiqué par next_block_id.
Quand l’expression est fausse, le bloc n’est pas validé sur cette bougie. La stratégie reste sur le même bloc [[condition]] et le réévalue à la bougie suivante.
[[condition]] est le bloc conditionnel générique.
Des blocs comme [[trend]], [[threshold]] et [[position]] peuvent souvent être réécrits avec un [[condition]] qui exprime explicitement la comparaison voulue.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[condition]].
Exemples
Condition autonome minimale
Cet exemple montre le plus petit bloc [[condition]] autonome valide. La stratégie passe à open_long uniquement lorsque close > ema_200 est vrai.
[[condition]]
id = "entry_filter"
condition = "close > ema_200"
next_block_id = "open_long"Croisement manuel avec indexation historique
Cet exemple reproduit un croisement haussier manuellement en comparant la bougie courante et la bougie précédente avec [1].
[[condition]]
id = "golden_cross"
condition = "fast > slow and fast[1] <= slow[1]"
next_block_id = "buy"Condition sur l’état de position
Cet exemple s’appuie sur une variable runtime de position. Le bloc se valide uniquement lorsqu’il n’y a plus de trade ouvert (opentrades == 0).
[[condition]]
id = "exit_filled"
condition = "opentrades == 0"
next_block_id = "golden_cross"Condition enfant dans [[and]]
Cet exemple montre deux blocs [[condition]] enfants évalués par un bloc parent [[and]]. Les conditions enfants ne définissent pas next_block_id ; le flux est piloté par le parent [[and]].
[[and]]
id = "entry_filters"
conditions = ["trend_ok", "volatility_ok"]
next_block_id = "open_long"
[[condition]]
id = "trend_ok"
condition = "close > ema_200"
[[condition]]
id = "volatility_ok"
condition = "atr_14 > atr_min"Paramètres du bloc
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Identifiant unique du bloc. |
conditionExpression Obligatoire | Expression évaluée sur chaque bougie. Une valeur égale à 0.0 ou NaN est fausse, toute autre valeur non nulle est vraie. |
next_block_idTexte Conditionnel | Obligatoire lorsque le bloc [[condition]] est utilisé seul. Doit être omis lorsqu’il est utilisé comme enfant d’un bloc [[and]] ou [[or]]. |
Ce bloc ne produit aucune variable de sortie ; il contrôle uniquement le flux d’exécution.