Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1177
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
Avez-vous essayé de glisser une chaîne de caractères comme #define str "long long string" ou même comme deux chaînes de caractères via la fonction + ou string.
Après tout, Comment est également limité dans la longueur de la chaîne, mais les variables peuvent être poussées au point de ne pas tenir sur l'écran en quelques lignes.
Merci, en effet le raccourci fonctionne, le compilateur comprend mais n'accepte pas les fonctions décodées (je crois que c'est comme ça que ça s'appelle) avec @. Et l'ancien compilateur accepte de telles fonctions mais n'ajoute pas aux remplacements d'importation en les prenant au pied de la lettre. Si j'importe les fonctions comme dans la documentation de la dll, c'est-à-dire "TRANS2QUIK_CONNECT" au lieu de "_TRANS2QUIK_CONNECT@16", elle renvoie 2 (TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND). Je ne comprends pas la différence.
Merci, la réduction fonctionne, le compilateur comprend mais n'accepte pas les fonctions décodées (je crois que c'est comme ça que ça s'appelle) avec @. Et l'ancien compilateur accepte de telles fonctions mais n'ajoute pas aux remplacements d'importation les prenant littéralement. Si j'importe les fonctions comme dans la documentation de la dll, c'est-à-dire "TRANS2QUIK_CONNECT" au lieu de "_TRANS2QUIK_CONNECT@16", elle renvoie 2 (TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND). Je ne comprends pas la différence.
Je ne sais pas où c'est indiqué dans la documentation, mais le caractère générique doit être précédé d'une barre oblique. C'est pourquoi la ligne d'adresse doit ressembler à ceci : C:\folder\file
Essayez donc de l'écrire comme ceci :"_TRANS2QUIK_CONNECT\@16"
En fait, je ne suis pas très bon avec les .dll. Donc si ça ne marche pas, alors...
@Maxim Kuznetsov J'ai ouvert la dll dans WinHex et Dependency Walker il génère Ordinal, Hint, Function, Entry Point et il génère des noms de fonctions comme(_TRANS2QUIK_CONNECT@16) avec eux l'ancien compilateur fonctionne et renvoie les résultats de la dll. Voulez-vous dire ces noms symboliques ?
@Alexey Viktorov Je ne suis pas moi-même un expert en programmation, mais mes modestes connaissances étaient tout à fait suffisantes pour traiter mon idée. Le blindage ne fonctionne pas.
Trouvé générateur automatique de dll proxy en python https://github.com/mavenlin/Dll_Wrapper_Gen . J'ai pensé que cela fonctionnait pour moi en changeant seulement les noms de fonctions dans la dll construite. J'ai essayé de la construire sans changements, le compilateur jure sur les @ dans les noms de fonctions. Pièce cpp générée
Morceau du fichier def généré
Je comprends que_TRANS2QUIK_CONNECT@16 _wrapper est le nom des fonctions qui seront visibles à partir de la dll proxy. Alors je l'ai réduit àCONNECTER. La dll est construite, mais le terminal afficheTRANS2QUIK_QUIK_TERMINAL_NOT_FOUND. Je suppose que ce n'est pas pour mon cerveau. Je vais devoir vérifier manuellement le système de trading et y commander dll.
@Maxim Kuznetsov J'ai ouvert la dll dans WinHex et Dependency Walker il génère Ordinal, Hint, Function, Entry Point et il génère des noms de fonctions comme(_TRANS2QUIK_CONNECT@16) avec eux l'ancien compilateur fonctionne et renvoie les résultats de la dll. Voulez-vous dire ces noms symboliques ?
@Alexey Viktorov Je ne suis pas moi-même un expert en programmation, mais mes modestes connaissances étaient tout à fait suffisantes pour traiter mon idée. Le blindage ne fonctionne pas.
Trouvé générateur automatique de dll proxy en python https://github.com/mavenlin/Dll_Wrapper_Gen . J'ai pensé qu'il me suffirait de changer les noms des fonctions dans la dll assemblée. Il a construit un projet pour Visual Studio. J'ai essayé de le construire sans changement, le compilateur jure sur les @ dans les noms de fonctions. pièce cpp générée
Morceau du fichier def généré.
Je comprends que_TRANS2QUIK_CONNECT@16 _wrapper est le nom des fonctions qui seront visibles à partir de la dll proxy. Alors je l'ai réduit àCONNECTER. La dll est construite, mais le terminal afficheTRANS2QUIK_QUIK_TERMINAL_NOT_FOUND. Je suppose que ce n'est pas pour mon cerveau. Je vais devoir vérifier manuellement le système de trading et y commander dll.
Vous n'avez pas dit un mot sur la profondeur de bit du terminal et de la DLL. Et c'est important.
@Koldun Zloy Essayé Trans2QuikAPI_1.2 il est 32 bit avec mt4 et quik 7, et aussi Trans2QuikAPI_1.3_x64 avec mt5 et quik 8 il est comme 64 bit seulement. J'ai activé les transactions externes dans le quik lui-même. Je pense que je n'ai pas la bonne fonction à importer. Je l'ai écrit moi-même.
Type de types de données équivalents. S'il n'était pas correct, je ne pense pas qu'il aurait fonctionné avec l'ancien compilateur.
Vous devez diminuer la vitesse des tests à un moment donné. Manuellement, il est difficile de saisir tous ces moments...
Bonjour, j'ai créé un panneau composé d'un fond et de boutons en MQL5. Lorsque je fais glisser le panneau, seul l'arrière-plan se déplace et les boutons restent là où ils sont, et ce n'est qu'au prochain tic qu'ils se déplacent derrière l'arrière-plan jusqu'à l'endroit souhaité. Veuillez m'indiquer comment faire bouger les boutons et l'arrière-plan simultanément. Merci d'avance !
s'agit-il du testeur ou de la version en ligne ?
Si vous êtes en ligne - regardez le code, quelque part l'événement de déplacement n'est pas acheminé normalement. Les panneaux d'ailleurs sur le site seulement cinq bibliothèques différentes, qu'est-ce que vous voulez dire ?
Et dans le testeur - il semble qu'il n'y ait aucun moyen, et pourquoi.