Discussion sur "Comment écrire une DLL pour MQL5 et échanger des données en 10 minutes". - page 9
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Vous devez améliorer votre niveau technique.
Pour les programmes 64 bits, vous avez besoin de bibliothèques 64 bits et il n'y a aucun moyen de connecter raisonnablement des bibliothèques 32 bits. Pour installer la version 32 bits, le programme d'installation doit être exécuté avec le commutateur /32.
Je vais réécrire l'article et ajouter des fonctionnalités intéressantes qui ont été implémentées depuis longtemps dans MetaEditor et les plateformes MT4 et MT5. De nombreux développeurs ne sont pas au courant des nouvelles fonctionnalités.
Et je vois que Microsoft a commencé à compresser le C++. Dans le dernier compilateur, ils ont même supprimé la possibilité de travailler avec des formulaires en C++. Et quand j'ai demandé pourquoi ? La réponse est : pourquoi n'essayez-vous pas le nouveau C++ amélioré ? Ainsi, si vous vous projetez dans l'avenir, vous devez également en tenir compte.
Microsoft est un tueur de technologie notoire, et ces derniers temps, il a creusé sa propre tombe après la sienne.
Pourquoi interférer avec lui - laissez-le tomber dans son propre trou. Il s'agit donc, au sens figuré, de ne pas perdre de temps avec les détails techniques. Qui veut des détails - il y en a des milliers sur Internet. Après "meilleur C#", je n'ai pas d'autres mots.
Vous devez améliorer votre niveau technique.
Pour les programmes 64 bits, vous avez besoin de bibliothèques 64 bits et il est impossible de connecter raisonnablement des bibliothèques 32 bits. Pour installer la version 32 bits, vous devez exécuter le programme d'installation avec le commutateur /32.
Je vais réécrire l'article et ajouter des fonctionnalités intéressantes qui ont été implémentées depuis longtemps dans MetaEditor et les plateformes MT4 et MT5. De nombreux développeurs ne sont pas au courant des nouvelles fonctionnalités.
Il s'est avéré que c'était facile !
J'ai installé la version gratuite de Visual Studio Community 2015 (exactement Community, car elle a le support x64, contrairement à Express). Les versions payantes ont x64 aussi bien sûr, mais je regardais les options gratuites. Web Installer m'a donné une erreur, donc j'ai installé à partir de l'image ISO. Lors de l'installation, sélectionnez l'installation "personnalisée" et cochez C++ (il n'est pas installé par défaut).
J'ai ensuite fait tout ce qui est décrit dans l'article, c'est-à-dire que j'ai créé un projet Win32. J'ai créé un assemblage, que le terminal x64 a refusé d'accepter (comme prévu).
Ensuite, dans l'onglet "Build" -> "Configuration Manager", j'ai changé la plate-forme en x64 (vous pouvez également changer "Active Solution Platform" en x64).
Je l'ai reconstruit. La nouvelle dll se trouvait dans le dossier \x64\Debug (la version finale sera dans x64\Release\), que le terminal x64 a traité sans problème et a renvoyé la sortie suivante :
19:29:01.883 dll_test (EURUSD.e,H1) Temps 16 msec, int : -752584127 double : 17247836076609.0
19:29:01.883 dll_test (EURUSD.e,H1) Tableau : 0 1 2 3 4 5 6 7 8 9
19:29:01.883 dll_test (EURUSD.e,H1) Replace : Un chat brun rapide saute par-dessus le chien paresseux.
19:29:01.886 dll_test (EURUSD.e,H1) Violation d'accès à 0x000007FEFB0F176F write to 0x000000000000 dans ...\MQL5\Libraries\ConsoleApplication1.dll''.
et une description plus détaillée de l'erreur interceptée
C'est-à-dire que tout fonctionne ! !!
Note :
Lors du transfert de la DLL sur un autre ordinateur, elle a refusé de fonctionner car elle utilisait des composants de VS lui-même. Le problème est résolu dans Project -> Properties -> Use MFC, réglé sur "Use MFC in static library". Après cela, reconstruisez et recompilez la DLL.
Je l'ai trouvé sur le forum :
Il est possible d'optimiser les EA avec des DLL non seulement sur l'ordinateur local, mais aussi sur un réseau local. Pour ce faire, sur les ordinateurs du réseau, ajoutez la clé /dlls au registre des agents de test. Appelez l'éditeur de registre : regedit
Renat Fatkhullin:
Pour les agents déjà installés, les commandes de démarrage ne peuvent être modifiées que via le registre dans les branches HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MetaTester-XXXX
Il suffit de cliquer sur chaque paramètre ImagePath et d'ajouter /dlls à la fin de la ligne.
Je suis en train de lier ZeroMQ à MT4 via une DLL.
C'est très mauvais en quelque sorte. Le terminal se plante tout le temps lors du démarrage de l'indicateur ou lors du déchargement. Et ça ne s'affiche pas en mode débogage, donc je ne sais pas ce qui se passe.
Bon après-midi.
Pour une raison quelconque, lorsque j'exécute l'exemple de test, le script se bloque au premier appel de la fonction importée.
2016.07.30 23:30:14.088 Scripts script mql5dll_test (EURUSD,H1) supprimé
Qu'est-ce que je fais de mal ?
Bon après-midi.
Pour une raison quelconque, lorsque j'exécute l'exemple de test, le script se bloque au premier appel de la fonction importée.
2016.07.30 23:30:14.088 Scripts script mql5dll_test (EURUSD,H1) supprimé
Qu'est-ce que je fais de mal ?
cet article a 6 ans, quelque chose a dû changer.
Quel est le code d'erreur ?