Le comportement des indicateurs dépend parfois de certaines conditions. Dans ce cas, on utilisera if et else pour signifier que des parties de l’indicateur ne doivent être exécutées que si ces conditions sont vraies. La syntaxe est la suivante :
1 |
if CONDITION: A1 # ... else: B1 # ...
C1 C2 # ... CX |
Dans un indicateur qui prendrait la forme ci-dessus :
| ▪ | Les lignes A1, A2… AX seraient exécutées lorsque CONDITION est vraie |
| ▪ | Les lignes B1, B2… BX seraient exécutées lorsque CONDITION est fausse |
| ▪ | Les lignes C1, C2… CX seraient exécutées dans tous les cas (sauf si le mot-clé return était utilisé avant) |
Bien sûr, le bloc commençant par else n’est pas obligatoire, et peut être omis. L’indicateur de mouvement vers le bas (« DownMvt ») est un exemple d’utilisation des mots-clés if et else :
1 |
if Close[0] < Close[1]: return Close[1] - Close[0] return 0 |
D’après le code ci-dessus, DownMvt retourne la différence entre la clôture du jour précédent et la clôture du jour en cours lorsque celle-ci est positive, sinon 0 :

Exemple de graphique de l’indicateur DownMvt