Référence MQL5Programmes MQL5Autorisation de trading 

Autorisation de Trading

Automatisation du Trading

Le language MQL5 fournit un groupe spécial de fonctions conçues pour développer des systèmes de trading automatisés. Les programmes élaborés pour le trading automatisé sans aucune intervention humaine sont appelés Expert Advisors ou robots de trading. Pour créer un Expert Advisor dans MetaEditor, lancez l'Assistant MQL5 et sélectionnez l'une des deux options :

  • Expert Advisor (template) — vous permet de créer un modèle avec des fonctions de gestion des événements toutes faites qui doivent être complétées par toutes les fonctionnalités nécessaires au moyen de la programmation.
  • Expert Advisor (generate) — vous permet de développer un robot de trading à part entièreen sélectionnant simplement les modules nécessaires : module de signaux de trading, module de money management et trailing stop.

MQL5_Wizard

Les fonctions de trading ne peuvent travailler qu'avec les Expert Advisors et les scripts. Le trading n'est pas autorisé pour les indicateurs.

Vérification de l'Autorisation d'Effectuer un Trading Automatisé

Afin de développer un Expert Advisor fiable, capable de travailler sans intervention humaine, il est important de disposer d'un ensemble de contrôles. Premièrement, nous devons vérifier si le programme de trading est autorisé à tous. C'est une vérification de base qui est indispensable lors de l'élaboration d'un système automatisé.

Vérifier l'autorisation d'effectuer le trading automatisé dans le terminal

Les paramètres du terminal vous permettent ou non un trading automatisé pour tous les programmes.

TERMINAL_TRADE_ALLOWED

Vous pouvez changer l'option du trading automatisé à droite sur le panneau standard du terminal :  

  • AutoTrading_enabled— trading automatisé activé, les fonctions de trading dans les applications lancées sont autorisées à être utilisées.
  • AutoTrading_disabled — trading automatisé désactivé, les applications en cours d'exécution sont incapables d'exécuter des fonctions de trading.

Vérification de l'échantillon :

if (!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)) 
   Alerte(" Vérifiez si le trading automatisé est autorisé dans les paramètres du terminal ! ");

 

Vérifier si le trading est autorisé pour un certain Expert Advisor/script

Vous pouvez autoriser ou interdire le trading automatisé pour un certain programme lors de son lancement. Pour ce faire, utilisez la case à cocher spécifique dans les propriétés du programme.

MQL_TRADE_ALLOWED

Vérification de l'échantillon :

   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      Alerte(" Vérifiez si le trading automatisé est autorisé dans les paramètres du terminal ! ");
   else
     {
      if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
         Alerte(" Le trading automatisé est interdit dans les paramètres du programme pour ",__FILE__);
     }

 

Vérifier si le trading est autorisé pour n'importe quel Expert Advisor/script sur le compte actuel

Le trading automatique peut être désactivé sur le serveur de trading. Vérification de l'échantillon :

   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
      Alerte(" Le trading automatisé est interdit pour le compte ",AccountInfoInteger(ACCOUNT_LOGIN),
      " sur le serveur de trading");

Si le trading automatisé est désactivé sur le compte, les opérations de trading des Expert Advisors/scripts ne seront pas exécutées.

Vérification si le trading est autorisé sur le compte actuel

Dans certains cas, les opérations de trading sont désactivées pour un compte spécifique - ni le trading manuel, ni le trading automatisé ne peuvent être effectués. Vérification de l'échantillon lorsqu'un mot de passe investisseur a été utilisé pour se connecter à un compte de trading :

   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
      Commentaire("Le trading est interdit pour le compte ",AccountInfoInteger(ACCOUNT_LOGIN),
            ".\n Il est possible que le mot de passe investisseur ait été utilisé pour se connecter au compte de trading.",
            "\n Vérifiez le journal du terminal pour l'entrée suivante :",
            "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': le trading a été désactivé - mode investisseur.");

AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) peut retourner faux dans les cas suivants :

  • pas de connexion au serveur de trading. Cela peut être vérifié à l'aide de TerminalInfoInteger(TERMINAL_CONNECTED) ;
  • compte de trading en mode lecture seule (archivé) ;
  • le trading sur le compte est désactivé sur le serveur de trading ;
  • la connexion à un compte de trading a été effectuée en mode Investisseur.

 

Voir également

Propriétés du Terminal Client, Propriétés du Compte, Propriétés du programme en cours d'éxécution sur MQL5