Du CPU au GPU en MQL5 : un framework OpenCL pratique pour accélérer la recherche, l’optimisation et la détection de motifs
Découvrez comment construire une approche pratique de migration des calculs du processeur (CPU) vers le processeur graphique (GPU) en MQL5 en utilisant OpenCL. Nous nous concentrerons sur l'initialisation du contexte, l'organisation des buffers, le traitement par lots de grande taille, le lancement du noyau et la minimisation des échanges de données. Les erreurs courantes et les moyens de les éliminer seront également examinés. Un exemple utilisant des figures de chandeliers japonais illustre l'intérêt pratique de cette approche.
Trading algorithmique sans tâches routinières : analyse rapide des opérations dans MetaTrader 5 avec SQLite
Cet article présente un socle minimal opérationnel pour la tenue d'un journal de trading en MQL5 en utilisant SQLite : un schéma des tables pour les transactions, les signaux et les événements, des index, des requêtes préparées et des transactions, ainsi que des requêtes SQL d’analyse standard. L'intégration avec le tableau de bord statistique de MetaTrader 5 et l'utilisation de la base de données via MetaEditor sont démontrées. Cette approche permet d'automatiser le journal, d'accélérer les calculs et d'effectuer des analyses sans complexifier le code de l’EA.
Python + MetaTrader 5 : Сadre de recherche rapide pour les données, les variables et les prototypes
Cet article démontre comment l'intégration de Python et de MetaTrader 5 combine la flexibilité de la recherche et l'exécution des transactions dans un même flux de travail. Python est utilisé pour l'analyse des données, la sélection des variables et l'entraînement des modèles, et MetaTrader 5 est utilisé pour les tests et l’automatisation du trading. Cette approche simplifie la mise en pratique des solutions, accroît la reproductibilité et rend le développement des systèmes de trading plus rapide et plus structuré.
Optimisation de portefeuille sur le Forex : Intégration de la VaR et de la théorie de Markowitz
Comment fonctionne le trading de portefeuille sur le Forex ? Comment peut-on intégrer la théorie du portefeuille de Markowitz pour l'optimisation de l’allocation du portefeuille et le modèle VaR pour l'optimisation du risque de portefeuille ? Nous créons un code basé sur la théorie du portefeuille, visant, d'une part, à maintenir un risque faible et, d'autre part, à obtenir une rentabilité acceptable à long terme.
Trading algorithmique basé sur des figures de retournement 3D
Découvrir un nouveau monde de trading automatisé sur barres 3D. À quoi ressemble un robot de trading sur des barres de prix multidimensionnelles ? Les grappes de barres 3D « jaunes » sont-elles capables de prédire les retournements de tendance ? À quoi ressemble le trading multidimensionnel ?
Création de barres 3D basées sur le temps, le prix et le volume
L'article s'attarde sur les graphiques de prix 3D multivariés et leur création. Nous examinerons également comment les barres 3D prédisent les retournements de prix, et comment Python et MetaTrader 5 nous permettent de tracer ces barres de volume en temps réel.
Modèles de régression non linéaire en bourse
Modèles de régression non linéaire sur le marché boursier : Est-il possible de prédire les marchés financiers ? Prenons l'exemple de la création d'un modèle de prévision des cours de l'EUR/USD, et de la création de deux robots basés sur ce modèle : l'un en Python et l'autre en MQL5.
Utilisation des règles d'association dans l'analyse des données Forex
Comment appliquer les règles prédictives de l'analyse des données de vente au détail en supermarché au marché réel du Forex ? Quel est le lien entre les achats de biscuits, de lait et de pain et les transactions boursières ? Cet article présente une approche novatrice du trading algorithmique basée sur l'utilisation de règles d'association.
Analyse de l'impact des conditions météorologiques sur les devises des pays agricoles à l'aide de Python
Quel est le lien entre la météo et le Forex ? La théorie économique classique a longtemps ignoré l'influence de facteurs tels que les conditions météorologiques sur le comportement du marché. Mais tout a changé. Essayons de trouver des liens entre les conditions météorologiques et la position des devises agricoles sur le marché.
Trouver des modèles de paires de devises personnalisés en Python avec MetaTrader 5
Existe-t-il des schémas répétitifs et des régularités sur le marché du Forex ? J'ai décidé de créer mon propre système d'analyse de modèles en utilisant Python et MetaTrader 5. Une sorte de symbiose entre les mathématiques et la programmation pour conquérir le Forex.
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.
Passer à MQL5 Algo Forge (Partie 4) : Travailler avec les versions et les mises à jour
Nous continuerons à développer les projets ’Simple Candles’ et ’Adwizard’, tout en décrivant les aspects les plus fins de l'utilisation du système de contrôle de version et de dépôts MQL5 Algo Forge.
Passer à MQL5 Algo Forge (Partie 3) : Utiliser des dépôts externes dans vos propres projets
Voyons comment vous pouvez commencer à intégrer du code externe à partir de n'importe quel dépôt du stockage MQL5 Algo Forge dans votre propre projet. Dans cet article, nous nous attaquons enfin à cette tâche prometteuse, mais plus complexe : comment connecter et utiliser de manière pratique des bibliothèques provenant de dépôts tiers dans MQL5 Algo Forge.
Passer à MQL5 Algo Forge (Partie 2) : Travailler avec plusieurs dépôts
Dans cet article, nous examinons l'une des approches possibles pour organiser le stockage du code source d'un projet dans un dépôt public. Nous distribuerons le code dans différentes branches afin d'établir des règles claires et pratiques pour le développement du projet.
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 ?
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.
Passer à MQL5 Algo Forge (Partie 1) : Création du Dépôt Principal
Lorsqu'ils travaillent sur des projets dans MetaEditor, les développeurs sont souvent confrontés à la nécessité de gérer les versions du code. MetaQuotes a récemment annoncé la migration vers GIT et le lancement de MQL5 Algo Forge avec des capacités de versionnement de code et de collaboration. Dans cet article, nous verrons comment utiliser plus efficacement les nouveaux outils et ceux qui existent déjà.
Démarrer avec MQL5 Algo Forge
Nous présentons MQL5 Algo Forge — un portail dédié aux développeurs de trading algorithmique. Il combine la puissance de Git avec une interface intuitive pour gérer et organiser les projets au sein de l'écosystème MQL5. Vous pouvez y suivre des auteurs intéressants, former des équipes et collaborer à des projets de trading algorithmique.
Développer un robot de trading en Python (Partie 3) : Mise en œuvre d'un algorithme de trading basé sur un modèle
Nous poursuivons la série d'articles sur le développement d'un robot de trading en Python et en MQL5. Dans cet article, nous allons créer un algorithme de trading en Python.
Développement d'un robot en Python et MQL5 (Partie 2) : Sélection, création et formation de modèles, testeur personnalisé Python
Nous poursuivons la série d'articles sur le développement d'un robot de trading en Python et MQL5. Aujourd'hui, nous allons résoudre le problème de la sélection et de l'entraînement d'un modèle, de son test, de la mise en œuvre de la validation croisée, de la recherche en grille, ainsi que le problème de l'ensemble de modèles.
Développement d'un robot en Python et MQL5 (Partie 1) : Pré-traitement des données
Développement d'un robot de trading basé sur l'apprentissage automatique : Un guide détaillé. Le premier article de la série traite de la collecte et de la préparation des données et des caractéristiques. Le projet est mis en œuvre à l'aide du langage de programmation et des bibliothèques Python, ainsi que de la plateforme MetaTrader 5.
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.
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 ?
Algorithmes d'optimisation de la population : Algorithme de Recherche Gravitationnelle (Gravitational Search Algorithm, GSA)
GSA est un algorithme d'optimisation de la population inspiré de la nature inanimée. Grâce à la loi de la gravité de Newton implémentée dans l'algorithme, la grande fiabilité de la modélisation de l'interaction des corps physiques nous permet d'observer la danse enchanteresse des systèmes planétaires et des amas de galaxies. Dans cet article, j'examinerai l'un des algorithmes d'optimisation les plus intéressants et les plus originaux. Le simulateur de mouvement des objets spatiaux est également fourni.
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.
Modèles de classification dans la bibliothèque Scikit-Learn et leur export vers ONNX
Dans cet article, nous allons explorer l'application de tous les modèles de classification disponibles dans la bibliothèque Scikit-Learn pour résoudre la tâche de classification de l'ensemble de données Iris de Fisher. Nous tenterons de convertir ces modèles au format ONNX et d'utiliser les modèles résultants dans les programmes MQL5. Nous comparerons également la précision des modèles originaux avec leurs versions ONNX sur l'ensemble du jeu de données Iris.
Modèles de régression de la bibliothèque Scikit-learn et leur export vers ONNX
Dans cet article, nous allons explorer l'application des modèles de régression du paquet Scikit-learn, tenter de les convertir au format ONNX, et utiliser les modèles résultants dans des programmes MQL5. Nous comparerons également la précision des modèles originaux avec leurs versions ONNX pour la précision flottante et la précision double. Nous examinerons aussi la représentation ONNX des modèles de régression, afin de mieux comprendre leur structure interne et leurs principes opérationnels.
Les fonctionnalités de ChatGPT d'OpenAI dans le cadre du développement MQL4 et MQL5
Dans cet article, nous allons manipuler ChatGPT d'OpenAI afin de comprendre ses capacités en termes de gain de temps et d'intensité du travail de développement d'Expert Advisors, d'indicateurs et de scripts. Je vais vous guider rapidement à travers cette technologie et essayer de vous montrer comment l'utiliser correctement pour programmer en MQL4 et MQL5.
Algorithmes d'optimisation de la population : Optimisation de la Lutte contre les Mauvaises Herbes Invasives (Invasive Weed Optimization, IWO)
L'étonnante capacité des mauvaises herbes à survivre dans une grande variété de conditions est devenue l'idée d'un puissant algorithme d'optimisation. L'IWO est l'un des meilleurs algorithmes parmi ceux qui ont été examinés précédemment.
Algorithmes d'optimisation de la population : Algorithme de la Chauve-Souris (BA)
Dans cet article, j'examinerai l'algorithme de la Chauve-Souris, ou Bat (BA), qui présente une bonne convergence pour les fonctions lisses.
Algorithmes d'optimisation de la population : Algorithme des Lucioles (Firefly Algorithm - FA)
Dans cet article, je considérerai la méthode d'optimisation de l'Algorithme Firefly (FA). Grâce à la modification, l'algorithme est passé d'un outsider à un véritable leader du classement.
Algorithmes d'optimisation de la population
Cet article est une introduction à la classification des algorithmes d'optimisation (Optimization Algorithm - OA). L'article tente de créer un banc d'essai (un ensemble de fonctions), pouvant être utilisé pour comparer les OA et, peut-être, identifier l'algorithme le plus universel parmi tous ceux qui sont largement connus.
Développer un Expert Advisor de trading à partir de zéro (Partie 17) : Accès aux données sur le web (3)
Dans cet article, nous poursuivons notre étude sur la manière d'obtenir des données à partir du web et de les utiliser dans un Expert Advisor. Cette fois-ci, nous allons élaborer un système alternatif.
Développer un Expert Advisor de trading à partir de zéro (Partie 16) : Accès aux données sur le web (2)
Il n'est pas évident de savoir comment introduire des données provenant du Web dans un Expert Advisor. Ce n'est pas si facile à faire sans connaître toutes les possibilités offertes par MetaTrader 5.
Développer un Expert Advisor à partir de zéro (partie 15) : Accéder aux données du web (I)
Comment accéder aux données disponibles en ligne via MetaTrader 5 ? Il existe un grand nombre de sites et d'endroits sur le web qui contiennent une grande quantité d'informations. Ce que vous devez savoir, c'est où chercher et comment utiliser au mieux ces informations.
Opérations sur les Matrices et les Vecteurs en MQL5
Les matrices et les vecteurs ont été introduits en MQL5 pour améliorer les opérations mathématiques. De nouvelles méthodes sont intégrées avec ces nouveaux types pour créer un code concis et compréhensible, proche de la notation mathématique. Les tableaux offrent des possibilités étendues, mais il existe de nombreux cas dans lesquels les matrices sont beaucoup plus efficaces.
Comment créer des graphiques 3D avec DirectX dans MetaTrader 5
Les graphiques 3D constituent un excellent moyen d'analyser de grosses quantités de données, car ils permettent de visualiser des choses cachées. Ces tâches peuvent être faites directement dans MQL5, et les fonctions DireсtX permettent de créer des objets tridimensionnels. Il est ainsi possible de créer des programmes de n’importe quelle complexité, même des jeux en 3D pour MetaTrader 5. Vous pouvez commencer à apprendre les graphiques 3D en dessinant des formes tridimensionnelles simples.
SQLite Gestion native des bases de données SQL dans MQL5
Le développement de stratégies de trading est associé à la manipulation de grandes quantités de données. Vous êtes désormais en mesure de travailler avec des bases de données en utilisant des requêtes SQL basées sur SQLite directement dans MQL5. Une caractéristique importante de ce moteur de base de données est que la totalité de la base de données est placée dans un seul fichier situé sur le PC de l'utilisateur.
Visualisez le ! Bibliothèque graphique MQL5 similaire à 'plot' du langage R
Lors de l'étude de la logique de trading, la représentation visuelle sous forme de graphiques est d’une grande importance. Un certain nombre de langages de programmation populaires dans la communauté scientifique (tels que R et Python) contiennent une fonction spéciale "plot" utilisée pour la visualisation. Elle permet de dessiner des lignes, des distributions de points et des histogrammes pour visualiser les modèles. En MQL5, vous pouvez faire de même en utilisant la classe CGraphics.
Trading bidirectionnel et couverture des positions dans MetaTrader 5 à l’aide du HedgeTerminalAPI, Partie 2
Cet article décrit une nouvelle approche de la couverture des positions et trace la ligne dans les débats entre les utilisateurs de MetaTrader 4 et MetaTrader 5 à ce sujet. C'est la suite de la première partie : « Trading bidirectionnel et couverture des positions dans MetaTrader 5 à l’aide du panneau HedgeTerminal, Partie 1 » Dans la deuxième partie, nous discutons de l'intégration des Expert Advisors personnalisés dans HedgeTerminalAPI, qui est une bibliothèque de visualisation spéciale conçue pour le trading bidirectionnel dans un environnement logiciel confortable fournissant des outils pour une gestion de position pratique.