Erreurs, bugs, questions - page 1261
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
Erreurs dans les opérations binaires.
Nous obtenons 4, ce qui devrait être 0. Combien d'années de polissage de MT, et toujours de telles bévues.
Et quoi, le compilateur n'a pas juré sur cet offset ? J'en doute.
Bref, c'est ce que nous voulions.
Et quoi, le compilateur n'a pas juré sur cet offset ? J'en doute.
Bref, c'est ce que nous voulions.
Rien ne peut s'y produire dans les bits de poids faible.
La documentation MQL ne dit rien sur un décalage cyclique, donc le décalage habituel est supposé. Mais j'y ai trouvé la phrase suivante
Il n'est pas recommandé de décaler un nombre de bits supérieur ou égal au nombre de bits de la variable à décaler, car le résultat de cette opération est indéfini.
Ceci est incorrect. Il ne peut y avoir de résultat indéfini dans les opérations de type bit. C'est juste que le bit sortant est soit stocké dans un drapeau spécial, soit non stocké, mais cela n'a aucun effet sur l'algorithme de décalage, c'est-à-dire que les bits de droite sont de toute façon remplis de zéros. S'il s'agit d'un décalage cyclique, cela doit être explicitement indiqué (bien qu'un décalage normal compatible C++ serait plus correct).
est-il possible de connecter un indicateur compilé par l'ancien build comme une ressource à un autre indicateur ?
Je n'arrive pas à le faire fonctionner comme ça :
........
#resource "\\Indicators\\тфьу.ex4"
........
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
........
ExtLimeBuffer[i]=iCustom(_Symbol,0,"::Indicators\\тьфу.ex4",pr1,pr2,pr3,pr4,pr5,pr6,pr7,2,i);
........
return(rates_total);
}
le compilateur dit ceci :
unknown resource type 'C:\Program Files\MT4\MQL4\Indicators\тфьу.ex4' тфьу1.mq4 10 1
La documentation MQL ne dit rien sur un décalage cyclique, elle suppose donc un décalage normal. Cependant, j'y ai trouvé une phrase de ce genre :
Ceci est incorrect. Il ne peut y avoir de résultat indéfini dans les opérations de type bit. C'est juste que le bit sortant est soit stocké dans un drapeau spécial, soit non stocké, mais cela n'affecte pas l'algorithme de décalage, c'est-à-dire que les bits de droite sont de toute façon remplis de zéros. S'il s'agit d'un décalage cyclique, vous devez le spécifier explicitement (bien qu'un décalage compatible avec plain++ serait plus correct).
C'est possible.
Un maximum de 5 bits pour les entiers de 32 bits (ou 6 bits pour les entiers de 64 bits) doit être impliqué dans les opérations de décalage. Si une valeur de décalage prend plus de 5 (ou 6) bits, les différents processeurs traitent cette situation différemment. Dans la documentation, nous avons juste reflété ce fait en disant que le résultat de l'opération est indéfini.
...
le compilateur écrit comme ceci :
unknown resource type 'C:\Program Files\MT4\MQL4\Indicators\тфьу.ex4' тфьу1.mq4 10 1
Apparemment, le compilateur est plus intelligent qu'il n'y paraît. Il veut trouver la source de tfu1.mq4 et l'attacher comme ressource.