Discussion sur "Comment écrire une DLL pour MQL5 et échanger des données en 10 minutes". - page 8
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
Déclaration de la fonction DLL
Appel d' une fonction DLLDans le dernier exemple, vous avez également apporté quelques modifications à la dll, n'est-ce pas ?
C'est ce que je veux dire.
Pourriez-vous me donner un indice également, si cela ne vous dérange pas trop. Il y a une dll, une valeur texte lui est passée, la sortie est un nombre de type chaîne.
Par exemple, comme ceci :
Je ne peux pas réparer la dll par manque de connaissances. Veuillez me conseiller sur la façon de créer un code correct pour le transmettre au Dll, et sur la façon de le recevoir correctement. J'ai le sentiment que ma dll ne fonctionnera pas dans MT5.
Merci d'avance pour votre aide.
Pourriez-vous me donner un indice également, si cela ne vous dérange pas trop. Il y a une dll, une valeur texte lui est passée, la sortie est un nombre de type chaîne de caractères.
Je ne peux pas réparer la dll par manque de connaissances. Veuillez m'indiquer comment écrire correctement le code pour le soumettre à la dll, et comment l'obtenir correctement. Parce que ma dll ne fonctionne pas dans MT5 pour le moment.Merci d'avance pour votre aide.
J'ai revérifié le travail avec le retour des chaînes de la DLL et j'ai trouvé une erreur en x64 (apparue après quelques optimisations). La correction sera incluse dans la prochaine version.
Si vous travaillez en x64, veuillez attendre la sortie de la build.
La seule chose que je peux ajouter, c'est de se rappeler que MQL5 fonctionne avec des chaînes de caractères Unicode.
Article publié Comment écrire une DLL pour MQL5 en 10 minutes et échanger des données ?:
Auteur : Renat Fatkhullin
Merci pour cet article. Je l'ai déjà utilisé.
Le conseil est très bon. Mais ! Il m'a fallu 10 minutes pour comprendre comment définir correctement le chemin de la DLL dans VS2010.
Ça s'est avéré être comme ça :
C:\Users\пп\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Libraries
Je suggère de copier le chemin depuis MetaEditor.
Ou spécifiez votre propre chemin dans l'environnement (je ne l'ai pas vérifié).
Et autre chose, comment gérer le multithreading ?
Merci pour cet article. Je l'ai répété intégralement, mais je tiens à dire quelques mots sur ce que j'ai rencontré lors de la mise en œuvre - ces petites choses en apparence m'ont presque rebuté. Ce que je voulais clarifier (en utilisant VS2010 + MT5 (32 bit) build 756 + Win 7 Maximum x64) :
Sinon, ce n'est pas un mauvais article... Respect !
Sur MT5 64 bits, l'exemple ne fonctionne pas. Le terminal signale qu'il s'agit d'une DLL 32 bits et ne la connecte pas. Mais sous Win32 (comme dans cet exemple et dans tous les autres exemples - comme dans Delphi) - toutes les DLLs sont 32-bit. Comme dans le post précédent, je dois désinstaller la version 64 bits du terminal et installer la version 32 bits. J'ai également besoin de savoir comment le faire puisque la version 64 bits est installée de force. Il s'avère que MT5 64 bits est un terminal mort, je ne sais pas pourquoi il est sorti. Chers développeurs, si cela est possible, faites en sorte qu'il soit possible de connecter une DLL 32 bits à МТ5 64 bits.
Si cela est techniquement impossible ou difficile, écrivez les pièges que cette version ne fonctionnera pas avec les DLL 32 bits et les utilisateurs souffrent et ne peuvent pas comprendre ce qui ne va pas. Et écrire ouvertement que le dossier Libraries n'est pas dans les répertoires du terminal lui-même, et sait où, et sans expérience ne sera pas trouver, ne pas même essayer. A propos, dans cet endroit secret se trouvent tous les indicateurs et experts, donc en installant MT5 vous pouvez les oublier - si vous ne savez pas que tout ceci se trouve dans un dossier caché C:\Users\nAppData\Roaming... ...ou l'utilisateur pense qu'il installe un programme écrit normalement, ce qui est une tricherie.
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 des bibliothèques 32 bits de manière raisonnable. 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.