OpenCL : Le Pont vers les Mondes Parallèles
Fin janvier 2012, la société de développement de logiciels à l'origine de l’élaboration de MetaTrader 5 a annoncé la prise en charge native d'OpenCL dans MQL5. À l'aide d'un exemple illustratif, l'article présente les bases de la programmation en OpenCL dans l'environnement MQL5 et fournit quelques exemples d'optimisation naïve du programme pour augmenter la vitesse de fonctionnement.
Réseau neuronal bon marché et joyeux - Lier NeuroPro avec MetaTrader 5
Si des programmes de réseau neuronal spécifiques au trading vous semblent coûteux et complexes ou, au contraire, trop simples, essayez NeuroPro. Il est gratuit et contient l'ensemble optimal de fonctionnalités pour les amateurs. Cet article vous expliquera comment l'utiliser en conjonction avec MetaTrader 5.
Simulink : un guide pour les développeurs d'Expert Advisors
Je ne suis pas un programmeur professionnel. Et donc, le principe de « passer du simple au complexe » est d’une importance capitale pour moi lorsque je travaille sur l’élaboration d’un système de trading. Qu’est-ce qui est précisément simple pour moi? Tout d’abord, il s’agit de la visualisation du processus de création du système et la logique de son travail. En outre, il s’agit d’un minimum de code manuscrit. Dans cet article, je tenterai de créer et de tester le système de trading, basé sur un package Matlab, puis écrire un Expert Advisor pour MetaTrader 5. Les données historiques de MetaTrader 5 seront utilisées pour le processus de test.
Comment développer un Expert Advisor à l'aide des outils UML
Cet article traite de la création d'Expert Advisors à l'aide du langage graphique UML, qui est utilisé pour la modélisation visuelle de systèmes logiciels orientés objet. Le principal avantage de cette approche est la visualisation du processus de modélisation. L'article contient un exemple qui montre la modélisation de la structure et des propriétés d'un Expert Advisor à l'aide du logiciel Ideas Modeler.
SQL et MQL5 : Travailler avec la base de données SQLite
Cet article est destiné aux développeurs qui seraient intéressés par l'utilisation de SQL dans leurs projets. Il explique les fonctionnalités et les avantages de SQLite. L'article ne nécessite pas de connaissance particulière des fonctions SQLite, mais une compréhension minimale de SQL serait bénéfique.
La Programmation Basée sur des Automates comme Nouvelle Approche pour créer des Systèmes de Trading Automatisés
Cet article nous emmène dans une toute nouvelle direction dans l’élaboration d' EA, d'indicateurs et de scripts en MQL4 et MQL5. À l'avenir, ce paradigme de programmation deviendra progressivement la norme de base pour tous les traders dans l’implémentation des EA. En utilisant le paradigme de programmation basé sur les automates, les développeurs MQL5 et MetaTrader 5 seront tout près de pouvoir créer un nouveau langage - MQL6 - et une nouvelle plate-forme - MetaTrader 6.
Comment Échanger des Données : Une DLL pour MQL5 en 10 minutes
Maintenant, peu de développeurs se rappellent de la façon d'écrire une DLL simple et des caractéristiques spéciales des différentes liaisons système. À l'aide de plusieurs exemples, je vais tenter de montrer l'ensemble du processus de création de la DLL simple en 10 minutes, ainsi que de discuter de certains détails techniques de notre implémentation de liaison. Je vais montrer étape par étape le processus de la création de DLL dans Visual Studio avec des exemples d'échange de différents types de variables (nombres, tableaux, chaînes, etc.). En outre, je vais vous expliquer comment protéger votre terminal client des plantages dans les DLL personnalisées.
Interaction MetaTrader 5 et MATLAB
Cet article couvre les détails de l'interaction entre MetaTrader 5 et le package mathématique MatLab. Il indique le mécanisme de conversion des données, le processus d’élaboration d'une bibliothèque universelle pour interagir avec le bureau MatLab. Il couvre également l'utilisation des DLL générées par l'environnement MatLab. Cet article est destiné aux lecteurs expérimentés, connaissant C++ et MQL5.
Construire une start-up de technologie sociale, Première partie Envoyez des Tweets sur vos signaux MetaTrader 5
Aujourd’hui, nous allons apprendre à lier un terminal MetaTrader 5 à Twitter afin de pouvoir tweeter les signaux de trading de vos EA. Nous développons un système d’aide à la décision sociale en PHP basé sur un service Web RESTful. Cette idée vient exceptionnellement d’une conception du trading automatique appelée trading assisté par ordinateur. Nous voulons que les capacités cognitives des traders humains filtrent les signaux de trading qui, autrement, seraient automatiquement mis sur le marché par les Experts Advisors.
Algorithmes d'optimisation de la population : Monkey Algorithm, Algorithme du Singe (MA)
Dans cet article, j'examinerai l'algorithme d'optimisation Monkey Algorithm (MA). La capacité de ces animaux à surmonter des obstacles difficiles et à atteindre les cimes des arbres les plus inaccessibles est à l'origine de l'idée de l'algorithme MA.
Faites la Promotion de vos Projets de Développement à l'Aide des Bibliothèques EX5
Cacher les détails d'implémentation des classes/fonctions dans un fichier .ex5 vous permettra de partager vos algorithmes de savoir-faire avec d'autres développeurs, de mettre en place des projets communs et de les promouvoir sur le Web. Et tandis que l'équipe MetaQuotes ne ménage aucun effort pour amener la possibilité d'héritage direct des classes de la bibliothèque ex5, nous allons l'implémenter dès maintenant.
Algorithmes d'optimisation de la population : Harmony Search (HS)
Dans cet article, j'étudierai et testerai l'algorithme d'optimisation le plus puissant : la recherche harmonique (HS), inspirée par le processus de recherche de l'harmonie sonore parfaite. Quel est donc l'algorithme qui domine aujourd'hui notre classement ?
Construire une start-up de technologie sociale, Deuxième partie : Programmation d'un client REST MQL5
Donnons maintenant une forme à l'idée Twitter basée sur le PHP qui a été introduite dans la première partie de cet article. Nous assemblons les différentes parties du SDSS. Concernant le côté client de l'architecture du système, nous nous appuyons sur la nouvelle fonction MQL5 WebRequest() pour envoyer des signaux de trading via HTTP.
Algorithmes d'optimisation de la population : Optimisation de la Recherche Bactérienne (Bacterial Foraging Optimization, BFO)
La stratégie de recherche de nourriture de la bactérie E. coli a inspiré les scientifiques pour créer l'algorithme d'optimisation BFO. L'algorithme contient des idées originales et des approches prometteuses en matière d'optimisation et mérite d'être étudié plus avant.
MQL5-RPC. Appels de procédure à distance depuis MQL5 : Accès aux services Web et analyseur XML-RPC ATC pour le plaisir et le profit
Cet article décrit l'infrastructure MQL5-RPC qui active les appels de procédure distante à partir de MQL5. Il commence par les bases de XML-RPC, la mise en œuvre de MQL5 et se poursuit par deux exemples d'utilisation réelle. Le premier exemple utilise un service Web externe et le second est un client vers un simple service d'analyse XML-RPC ATC 2011. Si vous souhaitez savoir comment mettre en œuvre et analyser différentes statistiques de l'ATC 2011 en temps réel, cet article est fait pour vous.
Se débarrasser des DLL auto-produites
Si la fonctionnalité du langage MQL5 n'est pas suffisante pour accomplir les tâches, un programmeur MQL5 doit utiliser des outils supplémentaires. Il doit passer à un autre langage de programmation et créer une DLL intermédiaire. MQL5 a la possibilité de présenter différents types de données et de les transférer vers l'API mais, malheureusement, MQL5 ne peut pas résoudre le problème concernant l'extraction de données à partir du pointeur accepté. Dans cet article, nous allons parsemer tous les « i » et montrer des mécanismes simples d'échange et de travail avec des types de données complexes.
Travailler avec le modem GSM d'un Expert Advisors de MQL5
Il existe actuellement de nombreux moyens pour un bon suivi à distance d'un compte de trading : terminaux mobiles, notifications push, fonctionnement avec ICQ. Mais tout cela nécessite une connexion Internet. Cet article décrit le processus de création d'un Expert Advisor qui vous permettra de rester en contact avec votre terminal de trading même lorsque l'Internet mobile n'est pas disponible, par le biais d'appels et de SMS.
Extension de la bibliothèque standard MQL5 et réutilisation du code
La bibliothèque standard MQL5 vous facilite la vie en tant que développeur. Néanmoins, il ne met pas en œuvre tous les besoins de tous les développeurs du monde, donc si vous sentez que vous avez besoin de plus de choses personnalisées, vous pouvez aller plus loin et étendre. Cet article vous guide tout au long de l’intégration de l’indicateur technique Zig-Zag de MetaQuotes dans la bibliothèque standard. Nous nous inspirons de la philosophie de conception de MetaQuotes pour atteindre notre objectif.
Guide d'écriture d'une DLL pour MQL5 en Delphi
L'article examine le mécanisme de création d'un module DLL, en utilisant le langage de programmation populaire d' ObjectPascal, dans un environnement de programmation Delphi. La documentation, fournie dans cet article, est conçue pour cibler principalement les programmeurs débutants, qui travaillent avec des problèmes, qui dépassent les limites du langage de programmation intégré de MQL5, en connectant les modules DLL externes.
Connecter les NeuroSolutions Réseaux Neuronaux
En plus de la création de réseaux neuronaux, la suite logicielle NeuroSolutions permet de les exporter sous forme de DLL. Cet article décrit le processus de création d'un réseau neuronal, de génération d'une DLL et de connexion à un Expert Advisor pour le trading dans MetaTrader 5.
Tableaux Électroniques en MQL5
L'article décrit une classe de tableau dynamique à deux dimensions qui comporte des données de différents types dans sa première dimension. Le stockage des données sous la forme d'un tableau est pratique pour résoudre un large éventail de problèmes d'agencement, de stockage et d'exploitation avec des informations liées de différents types. Le code source de la classe qui implémente la fonctionnalité de travail avec des tableaux est joint à l'article.
Recherche d'erreurs et journalisation
MetaEditor 5 dispose de la fonctionnalité de débogage. Mais lorsque vous écrivez vos programmes MQL5, vous souhaitez souvent afficher non pas les valeurs individuelles, mais tous les messages qui apparaissent lors des tests et du travail en ligne. Lorsque le contenu du fichier journal est de grande taille, il est évident d'automatiser la récupération rapide et facile du message requis. Dans cet article, nous examinerons les moyens de trouver des erreurs dans les programmes MQL5 et les méthodes de collecte de données. Nous simplifierons également la connexion aux fichiers et apprendrons à connaître un programme simple LogMon pour une visualisation confortable des fichiers journaux
Traçage, Débogage et Analyse Structurelle du Code Source
L'ensemble complexe des problèmes de création d'une structure d'un code exécuté et de son traçage peut être réglé sans difficultés majeures. Cette possibilité est apparue dans MetaTrader 5 en raison de la nouvelle fonctionnalité du langage MQL5 - la création automatique de variables dont les données sont de type complexe (structures et classes) et leur élimination au moment de quitter le périmètre local. L'article comporte la description de la méthodologie et de l'outil prêt à l'emploi.
Indicateurs techniques et filtres numériques
Dans cet article, les indicateurs techniques sont traités comme des filtres numériques. Les principes de fonctionnement et les caractéristiques de base des filtres numériques sont expliqués. En outre, certains moyens pratiques de recevoir le noyau de filtre dans le terminal MetaTrader 5 et l'intégration avec un analyseur de spectre prêt à l'emploi proposé dans l'article "Création d’un analyseur de spectre" sont considérés. Les caractéristiques d'impulsion et de spectre des filtres numériques typiques sont utilisées comme exemples.
Création et publication des rapports de trade et de notifications par SMS
Les traders ne sont toujours pas en mesure et n’ont pas envie de s'asseoir au terminal de trading pendant des heures. Surtout si le système trading est plus ou moins formalisé et peut identifier automatiquement certains états du marché. Cet article décrit comment générer un rapport des résultats du trade (à l'aide d'Expert Advisor, d'un indicateur ou d'un script) sous forme de fichier HTML et le télécharger via FTP sur le serveur WWW. Nous envisagerons également d'envoyer des notifications d'événements de trade sous forme de SMS sur un téléphone mobile.
Émerveillez vos clients MQL5 avec un cocktail de technologies utilisables !
MQL5 fournit aux programmeurs un ensemble très complet de fonctions et d'API orientées objet grâce auxquelles ils peuvent faire tout ce qu'ils veulent dans l'environnement MetaTrader. Cependant, la technologie Web est un outil extrêmement polyvalent de nos jours qui peut venir à la rescousse dans certaines situations lorsque vous devez faire quelque chose de très spécifique, voulez émerveiller vos clients avec quelque chose de différent ou tout simplement vous n'avez pas assez de temps pour maîtriser une partie spécifique de Bibliothèque standard MT5. L'exercice d'aujourd'hui vous présente un exemple pratique sur la façon dont vous pouvez gérer votre temps de développement tout en créant un cocktail technologique incroyable.
Création d'un panneau d'information à l'aide des classes de bibliothèque standard et de l'API Google Chart
Le langage de programmation MQL5 cible principalement la création de systèmes de trading automatisés et d'instruments complexes d'analyses techniques. Mais en dehors de cela, cela nous permet de créer des systèmes d'information intéressants pour suivre les situations de marché, et fournit une connexion retour avec le trader. L'article décrit les composants de la bibliothèque standard MQL5 et montre des exemples de leur utilisation pratique pour atteindre ces objectifs. Il montre également un exemple d'utilisation de l'API Google Chart pour la création de graphiques.
Le Rôle des Distributions Statistiques dans le Travail des Traders
Cet article est la suite logique de mon article Statistical Probability Distributions en MQL5 qui présente les classes pour travailler avec certaines distributions statistiques théoriques. Maintenant que nous disposons d'une base théorique, je suggère que nous procédions directement à des ensembles de données réelles et que nous essayions de faire un usage informatif de cette base.
Exposer le code C# à MQL5 à l'aide d'exportations non gérées
Dans cet article, j'ai présenté différentes méthodes d'interaction entre le code MQL5 et le code C# géré. J'ai également fourni plusieurs exemples sur la façon de rassembler des structures MQL5 contre C# et d'appeler des fonctions DLL exportées dans des scripts MQL5. Je pense que les exemples fournis peuvent servir de base à de futures recherches sur l'écriture de DLL en code géré. Cet article ouvre également la porte à MetaTrader pour utiliser de nombreuses bibliothèques déjà implémentées en C#.
Une solution sans DLL pour communiquer entre les terminaux MetaTrader 5 à l'aide de Canaux Nommés
L'article décrit comment implémenter la communication inter-processus entre les terminaux clients MetaTrader 5 à l'aide de Canaux Nommés. Pour l'utilisation des Canaux Nommés, la classe CNamedPipes est élaborée. Pour tester son utilisation et mesurer le débit de la connexion, l'indicateur de coche, les scripts serveur et client sont présentés. L'utilisation de Canaux Nommés est suffisante pour les offres en temps réel.
Comment exporter des cotations de МetaTrader 5 vers des applications .NET à l'aide des services WCF
Vous souhaitez organiser l'exportation des cotations de MetaTrader 5 vers votre propre application ? La jonction MQL5-DLL permet de créer de telles solutions ! Cet article vous indiquera l'un des moyens d'exporter des cotations de MetaTrader 5 vers des applications écrites en .NET. Pour moi, il était plus intéressant, rationnel et facile d'implémenter l'export de cotations en utilisant cette même plateforme. Malheureusement, la version 5 ne prend toujours pas en charge .NET, donc comme autrefois, nous utiliserons la dll win32 avec la prise en charge de .NET comme couche intermédiaire.
Approche quantitative de la gestion des risques : Application du modèle VaR pour optimiser un portefeuille multidevises en utilisant Python et MetaTrader 5
Cet article explore le potentiel du modèle de la valeur à risque (VaR) pour l'optimisation des portefeuilles multidevises. En utilisant la puissance de Python et les fonctionnalités de MetaTrader 5, nous démontrons comment mettre en œuvre l'analyse VaR pour une allocation de capital et une gestion de position efficaces. Des fondements théoriques à la mise en œuvre pratique, l'article couvre tous les aspects de l'application de l'un des systèmes de calcul du risque les plus robustes - la VaR - dans le trading algorithmique.
MetaTrader 5 Publication des prévisions de trading et des relevés de trading en direct par e-mail sur les blogs, les réseaux sociaux et les sites internet dédiés
Cet article vise à présenter des solutions prêtes à l'emploi pour la publication de prévisions à l'aide de MetaTrader 5. Il couvre un éventail d'idées : de l'utilisation de sites Web dédiés pour la publication des relevés MetaTrader à la création de son propre site Web sans pratiquement aucune expérience de programmation Web nécessaire et enfin à l'intégration à un service de micro-blogging de réseau social qui permet à de nombreux lecteurs de rejoindre et de suivre les prévisions. Toutes les solutions présentées ici sont 100% gratuites et peuvent être configurées par toute personne ayant une connaissance de base des services e-mail et ftp. Il n'y a aucun obstacle à utiliser les mêmes techniques pour les services d'hébergement professionnel et de prévision des échanges de trade.
Prévisions économiques : Explorer le potentiel de Python
Comment utiliser les données économiques de la Banque Mondiale pour les prévisions ? Que se passe-t-il lorsque l'on combine les modèles d'IA et l'économie ?
Application Pratique des Bases de Données pour l'Analyse des Marchés
Travailler avec des données est devenu la tâche principale des logiciels modernes, à la fois pour les applications autonomes et en réseau. Pour résoudre ce problème, un logiciel spécialisé a été créé. Ce sont des Systèmes de Gestion de Bases de Données (SGBD), qui peuvent structurer, systématiser et organiser les données pour leur stockage et leur traitement informatique. Quant au trading, la plupart des analystes n'utilisent pas de bases de données dans leur travail. Mais il y a des tâches où une telle solution devrait être pratique. Cet article fournit un exemple d'indicateurs, qui peuvent enregistrer et charger des données à partir de bases de données à la fois avec des architectures client-serveur et serveur de fichiers.
Utilisation de Pseudo-Modèles comme Alternative aux Modèles C++
L'article décrit une façon de programmer sans utiliser de modèles mais en gardant le style de programmation iherenet pour eux. Il explique l’implémentation de modèles à l'aide de méthodes personnalisées et comporte un script prêt à l'emploi pour créer un code sur la base de modèles indiqués.
Connexion de l'Expert Advisor avec ICQ en MQL5
Cet article décrit la méthode d'échange d'informations entre l'Expert Advisor et les utilisateurs d' ICQ, plusieurs exemples sont présentés. La documentation fournie sera intéressante pour ceux qui souhaitent recevoir des informations de trading à distance depuis un terminal client, via un client ICQ dans leur téléphone mobile ou PDA.
Implémentation d'un modèle de table dans MQL5 : Application du concept MVC
Dans cet article, nous examinons le processus de développement d'un modèle de table dans MQL5 en utilisant le modèle architectural MVC (Modèle - Vue - Contrôleur) pour séparer la logique des données, la présentation et le contrôle, ce qui permet d'obtenir un code structuré, flexible et évolutif. Nous envisageons la mise en œuvre de classes pour la construction d'un modèle de table, y compris l'utilisation de listes chaînées pour le stockage des données.