Erreurs, bugs, questions - page 1313
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
Comment puis-je éviter d'utiliser deux dll, une pour les terminaux 32 bits et une pour les terminaux 64 bits ? Ce n'est pas kasher de garder deux instances du programme...
Au fait, qui a de l'expérience, si vous compilez du code en ME x64, il fonctionnera sur des terminaux 32 bits sans erreurs ou il y aura des caractéristiques cachées de l'exécution du code ?
Par exemple, il existe une fonction funcTest(...) dans la bibliothèque pour terminaux 32 bits library_x86.dll et pour terminaux 64 bits library_x64.dll.
Si l'importation est visible dans tout le fichier, est-il correct d'écrire une telle construction :
ou cette astuce ne fonctionnera pas ?Ou cette astuce ne fonctionnera pas ?
Pour autant que je sache, non. Vous pouvez importer les deux dlls et appeler les fonctions de l'une ou l'autre en fonction du débit binaire du terminal.
En général, la division en deux versions par débit binaire n'est pas une option si délirante.
Je prends un indicateur (n'importe lequel de l'ensemble standard), je l'appelle dans l'Expert Advisor :
Après avoir exécuté l'EA avec la visualisation dans le testeur - tout fonctionne, l'indicateur est dessiné.
Maintenant je change une ligne dans l'indicateur
ExtMomBuffer[i]=close[i]*100/close[i-InpMomPeriod];
à cette ligne :
ExtMomBuffer[i]=100;
Et maintenant l'indicateur ne dessine rien du tout - même une échelle verticale n'est pas marquée.
Où se trouve l'erreur ? MetaTrader 4 build 765.
OK, appelons cela un comportement non conventionnel :)
Merci beaucoup, mais j'ai encore une question. Oui, ça a marché comme ça :
ExtMomBuffer[i]=i%2;
Et c'est ainsi qu'il a cessé de fonctionner à nouveau :
Je l'ai fait fonctionner dans les anciennes versions de MT, qu'est-ce qui ne va pas avec les nouvelles ?
Donc, dans la deuxième option, il y a une valeur.
En fait, je pourrais me tromper.
Tu peux le faire comme ça, ça ne marche toujours pas :
ExtMomBuffer[0]=cnt++;
Le nœud du problème est que la tentative d'écrire dans la barre 0 de l'indicateur à chaque étape de l'EA ne donne rien.
Je crois que j'ai trouvé où creuser. Modifié
à vrai et quelque chose commence à se voir. Je vais aller me saouler.
Pour autant que je sache, non. Vous pouvez importer les deux dlls et appeler les fonctions de l'une ou l'autre en fonction du débit binaire du terminal.
En général, la division en deux versions en fonction du débit binaire n'est pas une option si délirante.
C'est-à-dire faire comme ça ?
Et il y a aussi une question : si le code est construit sous 64 bits ME, fonctionnera-t-il correctement sous un terminal 32 bits ou y a-t-il des règles et des limitations ?
Développeurs, ne passez pas à côté...