Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 937

 

Je veux créer un tableau unidimensionnel où les éléments 0 à 4 stockeront le double, 5 à 9 stockeront le nom de la donnée, 10 à 14 stockeront l'int. Est-il possible de l'organiser dans mql4 ? Si oui, pouvez-vous me montrer comment faire ? J'ai vu un exemple avec des structures en C++, mais j'ai perdu le lien vers le site ?

 
Seric29:

Je veux créer un tableau unidimensionnel où les éléments 0 à 4 stockeront le double, 5 à 9 stockeront le nom de la donnée, 10 à 14 stockeront l'int. Est-il possible de l'organiser dans mql4 ? Si oui, pouvez-vous me montrer comment faire ? J'ai vu un exemple avec des structures en C++, mais j'ai perdu le lien vers le site.

Un tableau ne peut avoir qu'un seul type.

Mais qui interdit d'avoir un type de tableau avec un type de données maximum ? Dans ce cas, il est double.

 
Artyom Trishkin:

Un tableau ne peut avoir qu'un seul type.

Mais qui interdit d'avoir un type de tableau avec un type de données maximum ? Dans ce cas - double.

J'ai besoin que le nom soit le même, sinon je devrai faire des contrôles gauchers. Ne puis-je pas utiliser une structure pour y déclarer des variables et les combiner ensuite dans un tableau ? Vous ne pouvez pas mettre un opérateur syndical dans le mélange ?

 
Seric29:

J'ai besoin que le nom soit le même, sinon je devrai faire des contrôles gauchers. Ne puis-je pas le faire par le biais d'une structure, y déclarer des variables et les combiner ensuite dans un tableau ? Vous ne pouvez pas y coller un opérateur syndical ?

Le nom de quoi ?

 
Artyom Trishkin:

Le nom de quoi ?

Nom du tableau. D'après ce que je comprends, c'est impossible, même si vous faites une structure, vous devrez utiliser un point et combiner les informations en un seul nom, peut-être que j'ai vu le mauvais, j'ai perdu le lien.

 
Seric29:

Nom du tableau. Je comprends que même si vous faites une structure, vous devrez utiliser un point et combiner les informations en un seul nom, peut-être ai-je vu le mauvais, je suis désolé d'avoir perdu le lien.

Pourquoi devrions-nous donner des noms différents à un même tableau ? Comment pouvez-vous imaginer ?

Ainsi, vous disposez d'un tableau pour stocker différents types de données numériques (à l'exception des chaînes de caractères, bien sûr). Le tableau doit avoir un type égal au type de données maximum qui y est inscrit. Alors, remplissez-le de différents types. Et lorsque vous les obtenez, faites attention aux index, que vous connaissez déjà, afin que les bonnes variables avec les bons types obtiennent des valeurs de différentes cellules du tableau.

De 0 à 4 éléments seront stockés double, de 5 à 9 seront stockés datetame, de 10 à 14 seront stockés int.

double array[15];
array[0]=0.0; array[1]=0.1; array[2]=0.2; array[3]=0.3; array[4]=0.4;
array[5]=(datetime)5; array[6]=(datetime)6; array[7]=(datetime)7; array[8]=(datetime)8; array[9]=(datetime)9;
array[10]=(int)10; array[11]=(int)11; array[12]=(int)12; array[13]=(int)13; array[14]=(int)14;
Le nom est le même :tableau
 
Artyom Trishkin:

Pourquoi donner des noms différents à un même tableau ? Comment pouvez-vous imaginer ça ?

Ainsi, vous disposez d'un tableau pour stocker différents types de données numériques (à l'exception des chaînes de caractères, bien sûr). Le tableau doit avoir un type égal au type maximal des données qui y sont écrites. Alors, remplissez-le de différents types. Et lorsque vous les obtenez, faites attention aux index, que vous connaissez déjà, afin que les bonnes variables avec les bons types obtiennent des valeurs de différentes cellules du tableau.

Le nom est le même : tableau

Ils stockeront donc des données différentes.

 
Seric29:

C'est ainsi que les différentes données y seront stockées.

Qu'est-ce qui est "en eux" ?

 
Seric29:

J'ai vu un exemple avec des structures mais c'était en C++ mais j'ai perdu le lien vers le site ?

si votre exemple ne comportait pas de pointeurs, alors son portage en MQL ne poserait aucun problème.

Seric29:

Vous ne pouvez pas coller l'opérateur syndical sur le boîtier ?

union n'est pas un opérateur ! c'est un type ! il est décrit comme une structure, mais il est utilisé pour stocker différents types de données dans un seul espace mémoirehttps://www.mql5.com/ru/docs/basis/types/classes#union


Seric29:

Je voulais le corriger, passer un tableau à la macro et appeler la fonction surchargée dans la macro et renvoyer le résultat ; cela semble être une tâche primitive, mais lorsque j'appelle la fonction surchargée dans la macro, elle avertit qu'il y a 3 fonctions, donc je dois écrire des critères dans la macro qui détermineront laquelle des fonctions surchargées appeler, et je devrai demander à nouveau comment vérifier cela ; en général, l'idée est perdue.

commencez à lire au moins un livre sur le C++, vos questions sont une explosion, vous écrivez des termes techniques, à première vue il semble que vous posiez une question spécifique, mais en fait vous opérez juste en termes sans comprendre l'essence .... qu'est-ce que la macro va retourner ? où va-t-elle retourner ? dans le corps de la macro fonction rechargeable.... Je ne peux même pas commencer à expliquer à quoi ressemble votre question.

Pour comprendre ce qu'est une macro, épellez le terme correctement, macroSUMMARY, peut-être cela sera-t-il plus facile pour vous de comprendre ce que c'est...

 
Seric29:

Cela devrait fonctionner comme suit.

En général, je veux obtenir cet effet, mais je n'ai aucune expérience dans le domaine des classes. Le code se compile et fonctionne.

C'est cool.

Raison: