Variables langage MQL4

Les variables sont utilisées pour contenir les valeurs requises par l'exécution du programme.

Avant d'être utilisée, une variable doit être déclarée. Si vous essayer d'utiliser une variable avant de l'avoir déclarée, le compilateur vous signalera l'erreur. L'endroit où la variable est déclarée définit sa «portée» (scope en anglais).

Déclaration d'une variable

Une variable est déclarée par son nom, son type et optionnellement sa valeur initiale.

Par exemple :

int ma_variable = 0;

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

int définit le type entier pour cette variable.

ma_variable est le nom de la variable.

= 0 assigne la valeur 0 à la variable. Cette partie est optionnelle et l'assignement d'une valeur à une variable peut être fait n'importe quand une fois que celle-ci a été déclarée.

Pour rappel, en MQL4 nous avons les types de données suivants :

  • Entiers (int)
  • Réels (double)
  • Booléen (bool)
  • Caractères (int)
  • Chaine de caractères (string)
  • Couleur (color)
  • Date et heure (datetime)

«Portée» d'une variable

Une variable peut avoir une portée globale (pour tout le programme) ou locale à une fonction selon l'endroit où elle est déclarée.

Variable locale

Une variable locale est une variable locale à la fonction à l'intérieur de laquelle elle est déclarée.

Par exemple :

double carre(double x)

{

int var1 = 0;

 

Print(var1);

return(x*x);

}

Dans le cas ci-dessus nous avons deux variables locales. x qui est passée en paramètre de la fonction et var1 qui est déclarée dans le corps de la fonction. Il est à noter que dans le cas de la variable x sa déclaration se fait dans les paramètres de la déclaration de la fonction.

Les variables x et var1 peuvent donc être utilisées dans le corps de la fonction mais par contre sont inconnue pour les autres fonctions. En général il est conseillé de déclarer toutes les variables en début de fonction pour une meilleure lisibilité du code. Néanmoins ceci n'est pas strictement obligatoire tant que la variable est déclarée avant son utilisation.

Un point important est que ces variables sont réinitialisées à chaque appel de la fonction. On ne peut donc pas conserver de valeur entre 2 appels.

Variable globale

Une variable globale est une variable déclarée à l'extérieur de toute fonction (en général au début du programme). Ainsi cette variable n'est pas spécifique à une fonction et peut être utilisée par toutes les fonctions.

Ceci peut s'avérer utile pour partager des informations entre fonctions mais surtout pour conserver des valeurs entre différent appels de la même fonction. Par exemple dans le cas d'un EA la fonction start() est appelée à chaque tick et pour de nombreuses stratégies il est important de pouvoir garder des informations sur ce qu'il s'est passé lors des ticks précédents. Les variables globales sont souvent utilisées dans ce cas là.

Variable globale «extern»

Le mot clé «extern» permet de déclare une variable globale en tant que paramètre accessible à l'utilisateur par le biais de l'interface.

Par exemple si vous déclarez dans un EA :

extern string Symbol1 =“EURCHF”;

Ce paramètre apparaitra dans l'onglet des paramètres d'entrées de l'EA et sera donc modifiable par l'utilisateur sans nécessiter de recompilation.

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