Déclarer des variables en MQL4

Introduction

L'objectif de cette formation est d'apprendre à utiliser les variables dans vos algorithmes de trading.

Qu'est-ce qu'une variables ?

Il faut voir les variables comme des boites où vont être stocké des objets. C'est un peu comme les cours de collège où l'on associait des valeurs à de variable.

Cette action d'associer une valeur à une variable s'appel une affectation.

De quoi est composé une variable ?

Une variables peut se découper en 4 parties :

  • Un type
  • Un nom
  • Un opérateur d'affectation
  • Une valeur

Si nous examinons l'exemple suivant :

int a = 1;
  • int est le type
  • a est le nom
  • = est l'opérateur d'affectation
  • 1 est la valeur

Quels sont les différents types de variables ?

Les variables ont des types. Voyez les types comme des catégories qui permettent de reconnaître un groupe de variables.

Il existes plusieurs type de variables :

  • Les chiffres entiers
  • Les chiffres à décimales
  • Les chaînes de caractères
  • Les tableaux
  • Les types de logique
  • Et d'autres encore..

Comment utiliser les variables en MQL4 ?

Plus concrètement en MQL4 comment cela se présente t-il ?

Déclarer une variable entière

L'exemple présenter plus haut est une variable de type entier. Elle est typée int.

int a = 1;
Print(a); // Affiche 1

Déclarer une variable à décimale

Un chiffre peut comporter des décimales. Par exemple 1.2 est une variable contenant des décimales. Mais le chiffre 1 est une variable entière.

Pour définir une variable qui contient des décimales, nous devons utiliser le typage double

double b = 1.2;
Print(b); // Affiche 1.2

Une variable contenant des décimales peut contenir des valeur entière.

double c = 2;
Print(c); // Affiche 2

L'inverse n'est pas vrai. Affecter un valeur de type double dans une variable de type entière produira une erreur de compilation en MQL4.

Variables.mq4(38,13) : warning 44: truncation of constant value

Donc une mauvaise valeur dans un mauvais type de variable entraînera une erreur de compilation.

Déclarer une variable contenant une chaîne de caractère

Si vous souhaitez mettre du texte dans une chaîne de une variable, il faudra utiliser un autre type.

string d = "Hello world";
Print(d); // Affiche Hello world

Une chaîne de caractère est enveloppé de double quotes. Et peu contenir toutes les caractère de votre clavier.

Mais il faut faire attention a ne pas réutiliser les doubles quotes dans votre chaîne de caractère. Vous aurez un problème de compilation.

La chaîne de caractère suivante :

string e = "Hello world";

Produira cette erreur :

Variables.mq4(38,26) : error 112: '' - double quotes are needed
Variables.mq4(38,12) : error 228: 'Hello' - name expected

Déclarer une variable de logique

Si vous souhaitez mettre en place une variable dans un but de faire une comparaison de logique, vous devez utiliser des boolean.

Ce type de variable peut prendre soit une valeur true ou false (vrai ou faux).

bool f = true;
Print(f); // Affiche true
bool g = false;
Print(g); // Affiche false

Déclarer une variable de date

Les dates ont leur propre type. Par ailleurs en trading, la date à une importance crucial. Voici donc comment les décraler :

datetime date = D'2017.01.01 00:00';
Print(date); // Affiche 2017.01.01 00:00

Il est possible de récupérer la date courant avec des constantes spéciale :

datetime date = __DATETIME__;
Print(date); // Affiche la date courante

Mais le code suivante est le même :

datetime date = D'';
Print(date); // Affiche la date courante

Il reste un dernier type de variable à voir qui est utile pour stoker des données.

Déclarer des variables enum

On va utiliser ce type de variable pour pour lister des données standardisés que pour pourrions utiliser à d'autres endroits du programme.

Par exemple si nous souhaitons avoir la liste de la semaine. Plutôt que que d'associer un 0 à dimanche, 1 à lundi... Il serait plus simple, au niveau de la compréhension du code d'avoir de vrai mots.

enum days {
   Monday,
   Tuesday,
   ...
};

Nous avons notre liste de données, nous pouvons donc utiliser ces données de la façon suivante :

Print(Monday);

Conformément à la loi informatique et des libertés, Robots Trading vous informe que des cookies seront utilisés lors de votre navigation.

Pour plus d'info sur les cookies 'man cookies'. Fermer cette fenêtres 'exit'.

~ root: man cookies

Les cookies ne sont pas des gâteaux, mais des informations stokés sur votre navigateur.

Ils servent généralement à connaître le trafic d'un site Web, qu'elles pages sont les plus vues...