- 1 Introduction
- 2 Bases de MQL4 et MQL5
- 3 Avantages de l’authentification de compte
- 4 Comment récupérer le numéro de compte en MQL4
- 5 Comment récupérer le numéro de compte dans MQL5
- 6 [Implementing Account Authentication] Code d’exemple MQL4
- 7 [Implementing Account Authentication] Exemple de code MQL5
- 8 Test et dépannage de l’authentification de compte
- 9 Conclusion
Introduction
Cet article explique comment mettre en œuvre l’authentification de compte basée sur les numéros de compte à l’aide de MQL4 et MQL5 dans la programmation de trading automatisé pour MetaTrader 4 (MT4) et MetaTrader 5 (MT5). La sécurité des systèmes de trading automatisés (EA) est un facteur essentiel pour réussir en trading. Ici, nous présentons une méthode simple mais efficace pour renforcer la sécurité des EA — l’authentification de compte—de façon accessible aux débutants.
L’authentification de compte consiste à restreindre un EA pour qu’il ne s’exécute que sur des comptes de trading spécifiques. Cette approche aide à prévenir l’utilisation non autorisée ou la copie des EA et constitue un moyen efficace de protéger la propriété intellectuelle du développeur. En suivant cet article, vous apprendrez à implémenter l’authentification de compte avec MQL4 et MQL5, améliorant ainsi la sûreté et l’efficacité de vos systèmes de trading automatisés.
Bases de MQL4 et MQL5
MQL4 et MQL5 sont des langages de programmation pour les plateformes MetaTrader, largement utilisés pour développer des systèmes de trading automatisés, également appelés Expert Advisors (EA), sur le marché des changes (FX). MQL4 est conçu pour MetaTrader 4 (MT4), tandis que MQL5 a été créé pour le MetaTrader 5 (MT5) plus avancé. Ces langages offrent des outils puissants aux traders pour automatiser leurs stratégies de trading et créer des outils d’analyse de marché personnalisés.
Bien que MQL4 et MQL5 possèdent des fonctionnalités et des caractéristiques différentes, les deux permettent de coder des règles de trading et de développer des EA qui exécutent automatiquement des transactions sur le marché. MQL4 est reconnu pour sa syntaxe intuitive et sa facilité d’utilisation, ce qui le rend accessible aux débutants. En revanche, MQL5 propose des fonctions plus avancées et la prise en charge du multithreading, adaptées aux stratégies complexes et au trading multi‑actifs.
Cette section a présenté les fonctionnalités de base de MQL4 et MQL5 ainsi que la manière dont ces langages facilitent le développement de systèmes de trading automatisés en FX, notamment pour les débutants. La section suivante se concentre sur les avantages de l’authentification de compte.
Avantages de l’authentification de compte
Sécurité renforcée des EA
L’authentification de compte est une fonctionnalité clé pour améliorer significativement la sécurité de votre EA (Expert Advisor). Grâce à ce système d’authentification, vous pouvez limiter l’EA à fonctionner uniquement sur les comptes de trading spécifiés. En conséquence, les risques d’accès non autorisé et de piratage sont réduits, garantissant un environnement de trading sécurisé. Il s’agit d’un aspect crucial pour quiconque utilise des EA en toute tranquillité.
Avantages de restreindre un EA à des comptes spécifiques
Limiter l’utilisation d’un EA à des comptes spécifiques via l’authentification offre plusieurs avantages. Tout d’abord, les développeurs d’EA peuvent protéger leurs produits et fournir leurs services exclusivement à des clients déterminés. Les utilisateurs, quant à eux, bénéficient d’EAs adaptés à leurs propres comptes, ce qui permet une exécution plus efficace de stratégies de trading personnalisées. Cela peut conduire à une amélioration de l’efficacité et des performances de trading.
Prévention de l’utilisation non autorisée
L’authentification de compte aide à prévenir l’utilisation non autorisée et la duplication des EA. Cette fonction est particulièrement importante pour les EA vendus commercialement, car elle protège les droits d’auteur et évite la perte de revenus. Les utilisateurs peuvent également avoir la certitude que les EA authentifiés sont des produits authentiques, ce qui renforce la confiance et la fiabilité sur le marché des EA.
Cette section a expliqué comment l’authentification de compte constitue un moyen efficace d’améliorer la sécurité et l’efficacité des EA. En utilisant l’authentification de compte, vous pouvez créer un environnement de trading plus sûr et empêcher les usages non autorisés.
Comment récupérer le numéro de compte en MQL4
Utilisation de la fonction AccountNumber()
Lors du développement d’un EA (Expert Advisor) en MQL4, obtenir le numéro de compte est une étape basique mais importante. À cet effet, la fonction AccountNumber() est fournie. Cette fonction renvoie le numéro de compte du compte de trading actuellement connecté. Elle est très simple à utiliser et ne nécessite aucun paramètre supplémentaire. Voici un exemple de base :
void OnStart()
{
// Retrieve the current account number
int myAccountNumber = AccountNumber();
// Output the account number
Print("Current account number: ", myAccountNumber);
}
En utilisant cette fonction, les développeurs d’EA peuvent restreindre l’EA à s’exécuter uniquement sur des comptes de trading spécifiques.
Exemple d’utilisation du numéro de compte récupéré
Le numéro de compte récupéré est particulièrement utile pour l’authentification du compte. Par exemple, un développeur peut utiliser une simple instruction conditionnelle pour permettre à l’EA de s’exécuter uniquement sur un compte désigné :
int OnInit()
{
if(AccountNumber() == 1234567) // Enter your authorized account number here
{
Print("Authentication successful: This EA will run on this account");
return(INIT_SUCCEEDED);
}
else
{
Print("Authentication failed: This EA will not run on this account");
return(INIT_FAILED);
}
}
Ce code permet à l’EA de s’initialiser uniquement s’il est lié à un numéro de compte spécifique. Cela aide à prévenir l’utilisation non autorisée et améliore la sécurité de l’EA.
Comment récupérer le numéro de compte dans MQL5
Comment utiliser la fonction AccountInfoInteger(ACCOUNT_LOGIN)
Le processus de récupération d’un numéro de compte dans MQL5 est légèrement différent de celui de MQL4. Dans MQL5, vous utilisez la fonction AccountInfoInteger(ACCOUNT_LOGIN) pour obtenir le numéro de compte du compte de trading actuellement connecté. Voici un exemple d’utilisation de base :
void OnStart()
{
// Retrieve the account number
long myAccountNumber = AccountInfoInteger(ACCOUNT_LOGIN);
// Output the account number
Print("Current account number: ", myAccountNumber);
}
Dans cet extrait de code, le numéro de compte est stocké dans une variable de type long puis affiché. Cette information peut être utilisée pour limiter l’utilisation de l’EA à des comptes spécifiques.
Explication des différences avec MQL4
Les principales différences entre MQL4 et MQL5 résident dans les fonctions utilisées pour obtenir le numéro de compte et les types de données retournés. En MQL4, vous utilisez AccountNumber() pour obtenir directement le numéro de compte sous forme d’entier. En MQL5, vous utilisez AccountInfoInteger() avec le param ACCOUNT_LOGIN, et le numéro de compte est retourné sous forme de valeur long.
Comprendre cette différence est important lors de la programmation en MQL5, surtout lorsqu’on intègre des fonctionnalités d’authentification de compte dans votre EA. Il est essentiel de savoir comment récupérer correctement le numéro de compte dans chaque version.
[Implementing Account Authentication] Code d’exemple MQL4
Code d’exemple
Lors de la mise en œuvre de l’authentification de compte en MQL4, vous pouvez utiliser le code d’exemple suivant. Cela restreint l’EA à s’exécuter uniquement sur un numéro de compte spécifique.
// EA initialization function
int OnInit()
{
// Get the current account number
int accountNumber = AccountNumber();
// Allow initialization only for a specific account number
if(accountNumber == 1234567) // Enter the authorized account number here
{
Print("Account authentication successful: ", accountNumber);
return(INIT_SUCCEEDED);
}
else
{
Print("Account authentication failed: ", accountNumber);
return(INIT_FAILED);
}
}
Explication détaillée de chaque partie
int OnInit(): Il s’agit d’une fonction spéciale qui initialise l’EA. Elle est appelée automatiquement lorsque l’EA est attaché à un graphique.int accountNumber = AccountNumber();: Cette ligne récupère le numéro du compte de trading actuel.if(accountNumber == 1234567): Cette instruction conditionnelle permet à l’EA de s’initialiser uniquement si le numéro de compte correspond à la valeur spécifiée (1234567 dans cet exemple). L’initialisation est refusée pour les autres numéros de compte.return(INIT_SUCCEEDED);etreturn(INIT_FAILED);: Ces lignes informent MetaTrader si l’initialisation de l’EA a réussi ou échoué, selon la condition.
Cet exemple montre la façon basique de configurer votre EA pour fonctionner uniquement sur des comptes spécifiques en utilisant MQL4. La section suivante expliquera une approche similaire pour MQL5.
[Implementing Account Authentication] Exemple de code MQL5
Exemple de code
Pour implémenter l’authentification de compte dans MQL5, consultez le code d’exemple ci‑dessous. Cela contrôle l’initialisation de l’EA en fonction d’un numéro de compte spécifique.
// EA initialization function
int OnInit()
{
// Get the current account number
long accountNumber = AccountInfoInteger(ACCOUNT_LOGIN);
// Allow initialization only for a specific account number
if(accountNumber == 1234567) // Enter the authorized account number here
{
Print("Account authentication successful: ", accountNumber);
return(INIT_SUCCEEDED);
}
else
{
Print("Account authentication failed: ", accountNumber);
return(INIT_FAILED);
}
}
Explication détaillée de chaque partie
int OnInit(): Cette fonction est appelée automatiquement lorsque l’EA est attaché à un graphique et gère le processus d’initialisation.long accountNumber = AccountInfoInteger(ACCOUNT_LOGIN);: En MQL5, vous utilisezAccountInfoInteger(ACCOUNT_LOGIN)pour obtenir le numéro de compte actuel sous forme de valeurlong.if(accountNumber == 1234567): Cette condition autorise l’initialisation uniquement si le numéro de compte correspond à la valeur spécifiée. Sinon, l’initialisation échoue.return(INIT_SUCCEEDED)etreturn(INIT_FAILED): Ils informent MetaTrader si l’initialisation de l’EA a réussi ou échoué.
Cet exemple montre une méthode facile à comprendre pour limiter l’utilisation de l’EA à des comptes spécifiques dans MQL5, renforçant la sécurité de l’EA et empêchant les utilisations non autorisées.
Test et dépannage de l’authentification de compte
Après avoir ajouté l’authentification de compte, il est essentiel de tester et de dépanner minutieusement afin de garantir que tout fonctionne comme prévu. Cette section décrit comment tester l’authentification de compte de votre EA et résoudre les problèmes courants que vous pourriez rencontrer.
Aperçu des tests
- Tester sur différents comptes : D’abord, exécutez l’EA avec le numéro de compte autorisé pour confirmer une authentification réussie. Ensuite, essayez de l’exécuter avec un autre numéro de compte pour vérifier que l’authentification est refusée.
- Vérifier les messages d’erreur : Assurez‑vous que les messages d’erreur affichés en cas d’échec d’authentification sont clairs et faciles à comprendre pour les utilisateurs.
- Examiner les fichiers journaux : Consultez les fichiers journaux de MetaTrader pour identifier les problèmes survenant pendant le processus d’authentification.
Problèmes courants et solutions
- Numéro de compte incorrect : La cause la plus fréquente d’échec d’authentification est la saisie d’un mauvais numéro de compte. Vérifiez que le numéro correct est bien défini dans votre code.
- Problèmes de compatibilité de plateforme : En raison des différences entre MQL4 et MQL5, votre EA peut ne pas fonctionner comme prévu. Assurez‑vous d’utiliser le code approprié pour votre version de MetaTrader.
- Messages d’erreur non affichés : Si les messages d’erreur n’apparaissent pas correctement, examinez la section de gestion des erreurs de votre code et apportez les corrections nécessaires.
Tester et dépanner avec précision la fonction d’authentification de compte améliorera la sécurité et la fiabilité de votre EA. Cela permet aux traders d’utiliser votre EA avec plus de confiance.
Conclusion
Cet article a examiné l’importance de l’authentification de compte dans MQL4 et MQL5 pour les plateformes MetaTrader. Nous avons expliqué comment l’authentification de compte renforce la sécurité des EA et aide à prévenir les utilisations non autorisées. Implémenter cette fonctionnalité est essentiel, surtout si vous prévoyez de vendre votre EA commercialement ou de protéger vos stratégies de trading personnelles.
Si vous êtes développeur d’EA, nous vous recommandons d’appliquer les techniques d’authentification de compte que vous avez apprises aujourd’hui dans vos projets. Ce processus gardera vos EA sécurisés et vous permettra d’offrir des produits plus fiables à vos utilisateurs. Pour les traders qui utilisent déjà des EA, comprendre comment cette fonctionnalité protège votre environnement de trading peut vous aider à trader avec plus de sérénité.
L’authentification de compte devient de plus en plus importante dans le monde du trading automatisé. Utilisez ces connaissances pour créer un environnement de trading plus sûr et plus efficace.


