Conditions langage MQL4

Les instructions conditionnelles permettent d'exécuter une certaine expression ou suite d'expressions selon le résultat d'une condition.

Les 3 types d'instructions conditionnelles sont:

  • if (si)
  • if ... else (si ... sinon)
  • switch (aiguillage)

L'instruction if

Cette instruction permet d'exécuter un certain code si une condition est vérifiée. Le code à exécuter sera placé entre des accolades sauf dans le cas d'une expression simple qui dans ce cas peut être laissé sans accolades comme dans les exemples ci-dessous:

if (x == 0) // si x est égal à 0

Voir notre avis sur le test du broker AvaTrade qui propose la plateforme MT4

x = 1; // alors on assigne 1 à x

if (x < y) // si x est inférieur à y

{

z = y - x; // on assigne y-x à z

x = 0; // on assigne 0 à x

}

L'instruction if ... else

Cette instruction permet d'exécuter un certain code si une condition est vérifiée et un code différent dans le cas contraire. De même façon que pour le if, le code à exécuter sera placé entre des accolades sauf dans le cas d'une expression simple qui dans ce cas peut être laissé sans accolades comme dans les exemples ci-dessous:

if (x == 0) // si x est égal à 0

x = 1; // alors on assigne 1 à x

else

x = 2; // si x n'est pas égal à 0 on lui assigne la valeur 2

if (x < y) // si x est inférieur à y

{

z = y - x; // on assigne y-x à z

x = 0; // on assigne 0 à x

}

else

{

z = x - y; // on assigne x-y à z

x = 1; // on assigne 1 à x

}

Les instructions if et if ... else peuvent être imbriquées autant de fois que nécessaire.

if (x == 0) // si x est égal à 0

{

if (x < y) // si x est inférieur à y

{

z = y - x; // on assigne y-x à z

x = 0; // on assigne 0 à x

}

else

{

z = x - y; // on assigne x-y à z

x = 1; // on assigne 1 à x

}

}

else

x = 2; // si x n'est pas égal à 0 on lui assigne la valeur 2

Lorsqu'il y a des instructions imbriquées, pour s'assurer de n'avoir pas oublié d'accolades et de ne pas avoir associé un else au mauvais if, il est conseiller d'indenter le code pour pouvoir repérer les possibles erreurs plus facilement grâce à l'alignement des instructions.

L'instruction switch

Dans le cas d'une décision multi-valeur (par exemple exécuter un code différent pour chaque valeur entre 1 et 10, l'opérateur switch offre une alternative plus élégante et pratique que l'empilement des conditions if ... else. L'opérateur switch permet d'aiguiller vers différents codes selon la valeur de la condition. Chaque cas est délimité au début par «case» et se termine par un break. Les cas non spécifiés sont regroupés dans le cas «default». L'ensemble des cas est placé entre accolades.

La syntaxe générale est la suivante:

switch(x)

{

case 1:

Print("x=1"); // si x est égal à 1 alors on affiche x=1

break;

case 2:

Print("x=2"); // si x est égal à 2 alors on affiche x=2

break;

case 3:

case 4:

case 5:

Print("x=3 ou 4 ou 5"); // si x est égal à 3 ou 4 ou 5 alors on affiche x=3 ou 4 ou 5

break;

default:

Print("autres cas"); // si x est différent de 1,2,3,4,5 alors on affiche autres cas

break;

}

La valeur associée à chaque cas doit être soit un entier ou un caractère ou une expression constante telle que 1+1 mais ne doit pas contenir de terme variable: case x+y: est incorrect.

Plus d'information sur le même thème

Photo of Arnaud Jeulin

Arnaud Jeulin Responsable de la publication, Trader

Après un diplôme d'ingénieur, Arnaud a commencé une carrière de développeur. Il a travaillé avec des traders et des services de back office pour mettre en place des prototypes et des outils de trading. Il a ensuite créé sa propre entreprise en 2003.

Il a été responsable du webmarketing pour la Banque en ligne Suisse Synthesis, depuis rachetée par Saxo Bank. Il a aussi fait des audits pour différents brokers et participé à plusieurs salons professionnels pour les courtiers à Londres, Paris et Chypre.

Depuis 21 ans Arnaud a approfondi sa connaissance des brokers et des marchés, il utilise son expérience pour améliorer Mataf afin d'éviter d'orienter les visiteurs vers des brokers malhonnêtes ou des stratégies de trading dangeureuses.

Vous pouvez le joindre via les réseaux sociaux suivants ou par email :

.
  Se connecter