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
Nécessaire pour déterminer la taille d'un tableau variable, mais l'erreur s'affiche :
//---
//---
Il fonctionne directement avec les constantes (#define) et avec une valeur numérique, mais pas comme ça. Pourquoi ?
Nécessaire pour déterminer la taille d'un tableau variable, mais l'erreur s'affiche :
//---
//---
Il fonctionne directement avec les constantes (#define) et avec une valeur numérique, mais pas comme ça. Pourquoi ?
tol64:
Pourquoi ?
Avec des constantes (#define) et avec une valeur numérique, cela fonctionne directement, mais pas de cette manière. Pourquoi ?
Car lors de la définition avec #define, le compilateur remplace simplement la macro rencontrée par l'entrée correcte avant la compilation. Par conséquent, il voit
qui ne contredit pas le langage MQL5.
OK. Alors je vais prendre le courage à deux mains. Ainsi, la description de la fonction Print() indique que "les données de type double sont imprimées avec la précision de 16 chiffres décimaux après le point". En fait, il s'avère que la fonction Print() produit des données quelque peu arrondies:
MP 0 victorg2 (EURUSD,M1) 11:04:42 Print(DoubleToString(b,16))=199.9999999999999716
Le fait est qu'un nombre réel est stocké en mémoire avec un maximum de 17 chiffres significatifs.
Essayez cet exemple pour sentir la différence :
La description dans l'aide sera corrigée.Avec les constantes, il s'agit d'un tableau statique, et avec une variable, il est dynamique. Et la taille d'une dynamique est déterminée à l'aide de ArrayResize.
La deuxième dimension et les suivantes ont une taille fixe. Elle ne peut être définie que par une constante.
Car lorsqu'elle est définie avec #define, le compilateur remplace simplement la macro rencontrée par l'entrée correcte avant la compilation. Par conséquent, il voit
qui ne contredit pas le langage MQL5.
Merci. Pouvez-vous me dire ce que l'on peut faire si la taille d'un tableau dans la première et la deuxième dimension est déterminée par des calculs et ne peut être une constante ? Avec ArrayResize(), vous ne pouvez modifier que la taille de la première dimension. Et pourquoi peut-on redimensionner un tableau à l'aide d'une variable, alors qu'il est impossible de la définir initialement ?
Merci. Pouvez-vous me dire ce que l'on peut faire si la taille d'un tableau dans la première et la deuxième dimension est déterminée par des calculs et ne peut être une constante ? Avec ArrayResize(), vous ne pouvez modifier que la taille de la première dimension. Et pourquoi puis-je redimensionner un tableau en appliquant une valeur variable, alors qu'elle ne peut pas être définie initialement ?