Ça semble être un code normal. Devrions-nous ignorer ces avertissements ?
Qu'est-ce qui est normal là-bas ?
void fCreat_StrToInt (string& fsa_Value[], // Массив элементов stringint& fia_OUT[],// Возвращаемый массив intint fi_IND, // Количество ячеек в массивеint fi_Factor = 1, // Множительstring fs_NameArray = "") // Имя возвращаемого массива
{
int li_size = ArraySize (fsa_Value);
string ls_row = "";
//----ArrayResize (fia_OUT, fi_IND);
for (int li_int = 0; li_int < fi_IND; li_int++)
{
if (li_int < li_size)
{
fia_OUT[li_int] = StrToInteger (fsa_Value[li_int]) * fi_Factor; // это верно
}
else
{
fia_OUT[li_int] = StrToDouble (fsa_Value[li_size - 1]) * fi_Factor; // Это НЕ ВЕРНО !
}
ls_row = StringConcatenate (ls_row, fs_NameArray, "[", li_int, "] = ", fia_OUT[li_int], "; ");
}
if (fs_NameArray != "") Print (ls_row);
Vous avez une incompatibilité de type (mise en évidence en rouge) : vous essayez de passer une valeur de type double dans le type int, qui a une plage de valeurs beaucoup plus large que int. Il peut y avoir une perte de valeur. Le compilateur vous avertit sûrement à ce sujet.
Vous avez une incompatibilité de type (mise en évidence en rouge) : vous essayez de passer une valeur de type double dans le type int, qui a une gamme de valeurs beaucoup plus large que int. Il peut y avoir une perte de valeur. Le compilateur doit sûrement vous en avertir.
Mais qu'en est-il de la conversion implicite des types ? Bien que je convienne que cela puisse provoquer une erreur. Il vaut mieux convertir tout de suite via StrToInteger.
hoz: Qu'en est-il de la conversion implicite des types ? Bien que je sois d'accord, cela peut provoquer une erreur. Il est préférable de convertir directement via StrToInteger.
Si vous passiez l'int en double, il n'y aurait pas de problème. Vous passeriez une valeur d'un type avec une gamme plus petite à un type avec une gamme plus grande. Et il n'y aurait aucune perte possible de données. Et, par conséquent, il n'y aurait pas non plus d'avertissement.
La documentation de MQL4 a changé. Le tutoriel n'a pas changé.
Pour utiliser les nouvelles fonctionnalités de MQL4, il est nécessaire d'étudier le tutoriel MQL5 ?
Ou existe-t-il une autre littérature spéciale ?
Non, vous ne le faites pas. Si vous étudiez 4, étudiez la documentation pour 4. Bien que, si quelque chose, ils sont en quelque sorte entrelacés.
Comme je le vois, le compilateur est maintenant unifié (vous pouvez écrire à la fois pour 4 et sub-4). C'est pourquoi la documentation est la même, à quelques différences près. En général, je conseille de lire la documentation pour le 4 et de rester à l'écart du 5. C'est plus compliqué, à première vue. Vous n'y perdrez rien.
J'ai accédé à un compte en direct par la société Teletrade depuis mon ordinateur et ma tablette n'ouvre pas de compte en direct la tablette fonctionne sur android 4.2.2. quelle est la raison ?
AlexeyVik, Vladon,
Oui, comme c'est généralement le cas, c'est assez évident. C'est soit mon inattention, soit mon surmenage. Merci pour le conseil.
Une autre erreur s'est produite, pas même une erreur, mais un avertissement dans la fonction :
Sur la ligne :
Le code semble être correct. Faut-il ignorer ces avertissements ?AlexeyVik, Vladon,
Ça semble être un code normal. Devrions-nous ignorer ces avertissements ?Qu'est-ce qui est normal là-bas ?
Vous avez une incompatibilité de type (mise en évidence en rouge) : vous essayez de passer une valeur de type double dans le type int, qui a une plage de valeurs beaucoup plus large que int. Il peut y avoir une perte de valeur. Le compilateur vous avertit sûrement à ce sujet.
Quel est l'avertissement ?
Qu'est-ce qu'il y a de normal ?
Vous avez une incompatibilité de type (mise en évidence en rouge) : vous essayez de passer une valeur de type double dans le type int, qui a une gamme de valeurs beaucoup plus large que int. Il peut y avoir une perte de valeur. Le compilateur doit sûrement vous en avertir.Comment calculer le nombre de caractères ?
Et comment savoir si c'est un jour de congé (samedi, dimanche) ?
Qu'en est-il de la conversion implicite des types ? Bien que je sois d'accord, cela peut provoquer une erreur. Il est préférable de convertir directement via StrToInteger.
Si vous passiez l'int en double, il n'y aurait pas de problème. Vous passeriez une valeur d'un type avec une gamme plus petite à un type avec une gamme plus grande. Et il n'y aurait aucune perte possible de données. Et, par conséquent, il n'y aurait pas non plus d'avertissement.
Bonjour à tous !
La documentation de MQL4 a changé. Le tutoriel n'a pas changé.
Pour utiliser les nouvelles fonctionnalités de MQL4, il est nécessaire d'étudier le tutoriel MQL5 ?
Ou existe-t-il une autre littérature spéciale ?
Bonjour à tous !
La documentation de MQL4 a changé. Le tutoriel n'a pas changé.
Pour utiliser les nouvelles fonctionnalités de MQL4, il est nécessaire d'étudier le tutoriel MQL5 ?
Ou existe-t-il une autre littérature spéciale ?
Non, vous ne le faites pas. Si vous étudiez 4, étudiez la documentation pour 4. Bien que, si quelque chose, ils sont en quelque sorte entrelacés.
Comme je le vois, le compilateur est maintenant unifié (vous pouvez écrire à la fois pour 4 et sub-4). C'est pourquoi la documentation est la même, à quelques différences près. En général, je conseille de lire la documentation pour le 4 et de rester à l'écart du 5. C'est plus compliqué, à première vue. Vous n'y perdrez rien.