Erreurs, bugs, questions - page 2646
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
Ce n'est pas exact.
Merci !
Oui, ça va marcher, je me suis trompé dans la syntaxe.
ZS : tout ce qui est prévu fonctionne maintenant :
Sérialisation Base64 des structures PODCe n'est pas sûr.
Non, ça ne l'est pas. Vous avez noté le réglage explicite des types de paramètres de template dans la fonction, et je parlais de la sortie, du réglage explicite fxsaber a répondu avant moi. et avant vous
Non, c'est vrai. Vous avez noté le réglage explicite des types de paramètres de template dans la fonction, et je parlais de la sortie, du réglage explicite fxsaber a répondu avant moi. et avant vous
Je ne l'ai pas trouvé sur le forum ou dans la documentation, j'ai donc une question :
1. Quelle est la taille maximale de la chaîne de caractères que MQL5 peut stocker ?
2. Quelle est la taille maximale de la chaîne de caractères que MQL4 peut stocker ?
3. s'il y a un manque de mémoire, cette taille maximale sera-t-elle réduite (ou aucune mémoire ne sera allouée pour la chaîne) ou y aura-t-il une erreur d'exécution ?
Défauts :
(non corrigé par MT5(build 2319)) bogue dans l'opération de cache des classes de modèles : "Vous créez un objet enveloppé complexe avec le type interne "C" plusieurs fois, et il s'avère être un type de données tout à fait différent, peut-être "B", peut-être "int", ce que vous voulez...".
(non corrigé par MT5(build 2319)) bogue avec la génération de code de classe de modèle lors de l'utilisation de classe interne.
(non corrigé MT5(build 2319)) bug lors de la définition d'une classe interne - pas de possibilité de référencer explicitement l'espace de nom global lors de la spécification d'une classe de base.
Suggestions :
ref - sur la nécessité d'introduire la fonctionnalité de déclaration typedef dans MQL.
Référence- pour permettre de forcer la génération de constructeurs de copie et d'opérateurs d'affectation par défaut.
Défauts :
C'est bien que vous gardiez trace de vos rapports de bogue. Je ne l'ai pas fait, c'est pourquoi tout s'est irrémédiablement perdu dans le forum.
Vous devriez peut-être ajouter le même enregistrement de hachage à vos messages de rapport de bogue, afin de pouvoir les rechercher tous en même temps.
Je ne l'ai pas trouvé sur le forum ou dans les docks, alors j'ai une question :
1. Quelle est la taille maximale de la chaîne de caractères que MQL5 peut stocker ?
2. Quelle est la taille maximale de la chaîne de caractères que MQL4 peut stocker ?
3. si la mémoire est insuffisante, la taille maximale sera réduite (ou aucune mémoire ne sera allouée pour la chaîne) ou y aura-t-il une erreur d'exécution ?
J'ai essayé de tester une chaîne de caractères dans MT4
La mémoire fuit lentement (5.1 sur 11.9), dans MT4 dans le journal :
StringLen = 221696000 , m_physical = 12157, m_total = 4095, m_available = 3365, m_used = 729
en général, pour les tâches sensibles, vous pouvez utiliser une grosse chaîne, peut-être que plus tard je copierai le fichier à travers une chaîne pour vérifier
UPD : remplacement deuchar u_arr[102400] ; par uchar u_arr[524224]; ; pour accélérer le processus
En résumé : dans MT4, le maximum approximatif que l'on peut mettre dans une chaîne est :
2020.02.13 21:11:24.177 tst_string EURUSD,H1 : mémoire insuffisante
2020.02.13 21:11:24.024 tst_string EURUSD,H1 : StringLen = 640601728 , m_physical = 12157, m_total = 4095, m_available = 2556, m_used = 1539
c'est-à-dire environ 640 Mo
SZZ : MT5
2020.02.13 21:56:12.964 tst_string (EURUSD,H1) StringLen = 1073610752 , m_physical = 12157, m_total = 24314, m_available = 21975, m_used = 2339
2020.02.13 21:56:13.140 tst_string (EURUSD,H1) mémoire insuffisante dans 'tst_string.mq5' (41,12)
J'ai essayé de tester la chaîne dans MT4
La mémoire fuit un peu dans Win Manager (5.1 sur 11.9), dans MT4 dans le journal :
StringLen = 221696000 , m_physical = 12157, m_total = 4095, m_available = 3365, m_used = 729
En général, pour les tâches sensibles, vous pouvez utiliser une grande chaîne, peut-être que plus tard je copierai le fichier à travers une chaîne pour vérifier
UPD : remplacement de uchar u_arr[ 102400 ] ; par uchar u_arr[524224] ; pour accélérer le processus
En résumé : dans MT4, le maximum approximatif qui peut être mis en chaîne est :
2020.02.13 21:11:24.177 tst_string EURUSD,H1 : hors de la mémoire
2020.02.13 21:11:24.024 tst_string EURUSD,H1 : StringLen = 640601728 , m_physical = 12157, m_total = 4095, m_available = 2556, m_used = 1539
c'est-à-dire environ 640 Mo
SZZ : MT5
2020.02.13 21:56:12.964 tst_string (EURUSD,H1) StringLen = 1073610752 , m_physical = 12157, m_total = 24314, m_available = 21975, m_used = 2339
2020.02.13 21:56:13.140 tst_string (EURUSD,H1) mémoire insuffisante dans 'tst_string.mq5' (41,12)
Il s'agit de la longueur de la chaîne de caractères pour Unicode, donc en MB elle est au moins double. 1,3 Go pour MT4, ce qui est logique puisque vous avez besoin d'une mémoire tampon continue et que MT4 est une application 32 bits. Ainsi, la limitation de mql4 n'est pas une limitation en soi, mais est seulement limitée par la mémoire disponible.
Je suis un peu surpris que MT5 ne permette pas plus, car il semble que vous ayez beaucoup de mémoire disponible. Je vais faire de mon mieux de mon côté.
Il s'agit de la longueur de la chaîne de caractères pour Unicode, donc en MB elle est au moins double. 1,3 Go pour MT4, ce qui est logique puisque vous avez besoin d'une mémoire tampon continue et que MT4 est une application 32 bits. Ainsi, la limitation de mql4 elle-même n'est pas une limitation, elle est seulement limitée par la mémoire disponible.
Je suis un peu surpris que MT5 ne permette pas plus, car il semble que vous ayez beaucoup de mémoire disponible. Je vais faire de mon mieux de mon côté.
J'ai 12 Go de mémoire, Windows 10, 8 Go de mémoire libre.
j'avais besoin de ce test pour connaître la longueur maximale de ligne autorisée dans les terminaux mt4/ mt5
Je veux maintenant échanger entre les terminaux via la base de données Redis
Redis est une base de données très simple et ne fonctionne qu'avec des chaînes de caractères (clé - valeur --> chaîne - chaîne).
Hier, j'ai sérialisé des structures POD en Base64 et cela augmente la taille des données d'environ 1/3.
Je pense que même dans ce cas, j'ai la possibilité d'échanger des structures d'une taille de 400 Mo par transaction - c'est plus qu'assez pour n'importe quel usage ;)
Désormais, dans MetaEditor, lorsque l'on travaille sur un projet pour déplacer les fichiers du projet dans l'onglet "Projet", par exemple vers un sous-dossier nouvellement créé, il faut effectuer tout un "rituel" :
Suggestion :Lorsque vous déplacez des fichiers de projet dans l'onglet Projet, par exemple vers un sous-dossier nouvellement créé :
- pour les fichiers ouverts mais inchangés, mettre automatiquement à jour leur chemin d'accès.
- pour les fichiers modifiés, demander en plus une confirmation : "Transfert avec sauvegarde", "Transfert avec perte des modifications", ou "Annuler l'opération de transfert".