Erreurs, bugs, questions - page 2761
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Bonjour, veuillez m'indiquer comment résoudre ce problème :
Pendant l'optimisation, une erreur apparaît :
2020.05.31 15:05:32.738 Core 7 genetic pass (0, 53) testé avec l'erreur "critical runtime error 503 in OnTick function (zero divide, module Experts\e1.ex5, file e1.mq5, line 826, col 73)" in 0:00:00.153
double Mix1 = NormalizeDouble((MathAbs(ZExtLevel[0] - ZExtLevel[1]), 2)
double Mix2 = NormalizeDouble((MathAbs(ZExtLevel[1] - ZExtLevel[2])), 2) ;
double Mix = NormalizeDouble((Mix1/Mix2),2) ;
Ce que j'ai fait :
1) J'ai multiplié Mix1 et Mix2 pour réduire le nombre de décimales ;
2) modification de la quantité de chiffres dans la normalisation ;
3) J'ai vérifié tous les ZExtLevels pour m'assurer qu'ils ne contiennent pas 0.
Non, mais il s'initialise correctement
Pourquoi en êtes-vous sûr ? Le défaut dans Integer est de présenter. sizeof le dit.
Pourquoi en êtes-vous sûr ? Le défaut dans Integer est de présenter. sizeof dit qu'il le fait.
uint, pour être précis.
Pourquoi en êtes-vous sûr ? Le défaut dans Integer est de présenter. sizeof le dit.
fonctionne-t-il également sans aucun avertissement ?
Parce qu'il existe une signature correspondanteArrayInitialize
et pour une raison inconnue, ils n'ont pas créé ArrayInitialize() pour unsigned uchar
fonctionne de la même manière sans aucun avertissement ?
parce qu'il existe une signature correspondante ArrayInitialize
et pour un uchar non signé, ils n'ont pas fait ArrayInitialize() pour une raison inconnue.
Il ne s'agit pas de la signature ou de l'absence de signature. Le fait est que 4 octets sont convertis en 1 et que des informations peuvent théoriquement être perdues - c'est ce contre quoi le compilateur met en garde.
EssayezArrayInitialize(c, (char)10000) ;
il y aura également un avertissement
Il ne s'agit pas de la signature ou de l'absence de signature. Le fait est que 4 octets sont convertis en 1, des informations peuvent théoriquement être perdues - c'est ce contre quoi le compilateur met en garde.
EssayezArrayInitialize(c, (char)10000) ;
il y aura également un avertissement
Eh bien, c'était clair dès le début
La question se pose ici de manière différente : où avez-vous vraiment besoin de l'omble ?
J'utilise uchar dans StringToCharArray() et CryptEncode() et si vous regardez dans l'aide, vous en trouverez d'autres.
c'est pourquoi je peux initialiser un tableau de chars en utilisant ArrayInitialize, mais pas de uchar
ok, c'est un grand brouhaha, je doute que ça change ;)
PS : 0xFF = 255 (1 octet)
oui c'est clair que c'était tout depuis le début
ici la question est différente, c'est là que le charbon est vraiment nécessaire ?
J'utilise uchar dans StringToCharArray () et CryptEncode (), et si vous parcourez l'aide il y a toujours
C'est donc pour cela que je peux initialiser un tableau de chars en utilisant ArrayInitialize, mais pas de uchar.
ok, le noble holivar s'est avéré, je doute que quelque chose change ;)
PS : 0xFF = 255 (1 octet)
Oui, c'est ce dont il s'agit depuis le début.
Voici une autre question. Où avez-vous vraiment besoin de l'omble ?
J'utilise uchar dans StringToCharArray() et CryptEncode().
c'est pourquoi je peux initialiser un tableau de chars en utilisant ArrayInitialize, mais pas de uchar
ok, c'est un grand brouhaha, je doute que ça change ;)
PS : 0xFF = 255 (1 octet)
Je ne sais pas pourquoi vous ne pouvez pas. uchar fonctionne de la même manière que char.
Vous avez demandé pourquoi vous avez reçu l'avertissement, parce que 4 octets dans 1. 255 n'est pas important. 0 et 1 peuvent être 1 et 2 et 4 et 8 octets)
Alain Verleyen:
vérifié :
OK, fonctionne sans aucun avertissement du compilateur
Merci.
vérifié :
OK, fonctionne sans aucun avertissement du compilateur
Merci
Vous allez rire, mais même cela fonctionne sans aucun avertissement.