Voici ce que vous pouvez faire avec OpenCL directement dans MetaTrader 5, sans aucune DLL.
Il s'agit d'une démonstration non seulement des calculs GPU dans le code MQL5, mais aussi des capacités graphiques du terminal :
Le code source complet sous forme de script est joint.
Nous préparons une bibliothèque de personnel OpenCL pour les mathématiques et le rendu, ce qui prendra quelques semaines. Ça va être incroyablement rapide et beau.
En attendant, jetez un coup d'œil à la bibliothèque graphique mise à jour pour le rendu des graphiques scientifiques.
О ! Bientôt, il sera possible de jouer à des jeux ))))
A quoi sert une plateforme de négociation ? Eh bien, les calculs sont compréhensibles, et toutes sortes de belles choses ne font que séduire.
О ! Bientôt, il sera possible de jouer à des jeux ))))
A quoi sert une plateforme de négociation ? Eh bien, les calculs sont clairs, et toutes sortes de belles choses ne font que séduire.
Avec OpenCL, vous pouvez utiliser des milliers de cœurs de GPU pour accélérer les calculs mathématiques de cent (plusieurs centaines) fois.
C'est exactement ce dont on a besoin dans le commerce et ce qui permettra de passer à l'utilisation de techniques qui nécessitent des ordres de grandeur plus importants de ressources de calcul.
Dans MQL4, vous creusez avec une pelle, tandis que dans MQL5 avec OpenCL, vous obtenez un tracteur en termes de performances. Pour mettre les calculs du GPU à la portée du plus grand nombre, nous préparons de nouvelles bibliothèques mathématiques en plus de celles qui existent déjà.
Je n'ai pas pu le passer, je l'ai laissé passer.
Il s'agit d'une démonstration non seulement des calculs GPU dans le code MQL5, mais aussi des capacités graphiques du terminal :
Le code source complet sous forme de script est joint.
Je l'ai compilé, je l'ai exécuté.
Ne fonctionne pas.
MT5 build 1491.
W7 prof SP1 eng 64-bit
Je l'ai compilé, lancé.
Regardez les journaux du terminal et de la fenêtre expert.
Le script est complexe, il vient d'être écrit et n'a pas encore été débogué. Il ne fonctionne pas partout sans GPU.
Regardez les journaux du terminal et de la fenêtre de l'expert.
Le script est complexe, il vient d'être écrit et n'a pas encore été débogué. Il ne fonctionne pas partout sans GPU.
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) uint b=(uint)(res[2]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) uint g=(uint)(res[1]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) uint r=(uint)(res[0]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)
2016.12.10 03:57:08.218 Seascape (GOLD-12.16,H1) OpenCL program create failed
2016.12.10 03:57:36.695 Seascape (GOLD-12.16,H1) OpenCL: GPU device 'GeForce GTX 970' selected
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) uint b=(uint)(res[2]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) uint g=(uint)(res[1]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) uint r=(uint)(res[0]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)
2016.12.10 03:57:36.730 Seascape (GOLD-12.16,H1) OpenCL program create failed
OK, on va se débrouiller. Le code était comme le test d'un stylo.
Chaque GPU a son propre compilateur et c'est lui qui décide de ce qu'il faut ignorer. Les compilateurs OpenCL d'Intel, AMD et Nvidia sont différents.
Nous testons sous OpenCL 2.0 qui a une bien meilleure fonctionnalité. Nous allons vérifier et corriger ce test sur OpenCL 1.2.
Pour plus d'informations, je vous recommande de lire notre article sur OpenCL dans MetaTrader 5 :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Il s'agit d'une démonstration non seulement des calculs GPU dans le code MQL5, mais aussi des capacités graphiques du terminal :
Le code source complet sous forme de script est joint. Le bogue sur OpenCL 1.2 a été corrigé.