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
Qu'en est-il des noms normaux qui sont dans les commentaires ?
Au fait, il semble y avoir une erreur dans le préprocesseur mql.
se développe en 'i nt ll;' et donne une erreur :
'i nt' - undeclared identifier t_t_t.mq4 50 1
En ce qui concerne les commentaires dans l'énumération - en théorie, ils devraient s'élever jusqu'au préprocesseur C. Ainsi, même s'il était possible d'insérer un commentaire, il serait peu probable qu'il ait un effet. Dans le bon sens, il faut changer la syntaxe (en _cmnt_, par exemple) et modifier la séquence d'appel du préprocesseur C avec le préprocesseur qui tire les commentaires. Les perspectives de telles réformes sont peu probables, je pense ;)
Au fait, il semble y avoir une erreur dans le préprocesseur mql.
se développe en 'i nt ll;' et donne une erreur :
Dynamic ENUM est à usage interne, la fenêtre des paramètres ne les affiche pas. Les noms normaux/commentaires ne sont pas vraiment nécessaires
La dernière méthode nécessite d'écrire les blancs manuellement pour l'enum et la fonction qui renvoie un tableau de valeurs. J'ai décidé de le comprendre et de l'écrire de manière à ce qu'il ne soit plus nécessaire. Cependant, il ne peut pas être compilé en mql, il n'y a pas de macros avec un nombre variable d'arguments, mais théoriquement elles peuvent apparaître. Bref, voilà ce que j'ai :
Выхлоп printf:
----enum1-----
1
3
65
90
----enum2-----
100
-3
21
----enum3-----
871
213
226
// Code généré pour emum1
// enum enum1{
// q = 1,
// e = 3,
// t = 65,
// z = 90,
// } ;
// unsigned get_enum1_array(int *ar){
// int temp[] = { q, e, t, z, } ;
// if(ar != NULL)
// for(unsigned i = 0 ; i < sizeof(temp) / sizeof(int) ; ++i){
// ar[i] = temp[i] ; }
// return sizeof(temp) / sizeof(int) ;
// }
Article sur ce sujet http://jhnet.co.uk/articles/cpp_magic. En somme, beaucoup de magie, bien sûr. Mais cette technique peut être utile pour un large éventail de tâches se rapportant à la génération de code de préprocesseur.
J'ai lu le fil de discussion avec intérêt, tout est très cool avec les macros.
C'est juste que ce n'est pas clair, pourquoi avons-nous besoin de toute cette danse avec les enum ? Pouvez-vous donner un exemple concret ?
C'est clair pour le TF, mais quoi d'autre ?
Cependant il ne peut pas être compilé en mql, il n'y a pas de macros avec un nombre variable d'arguments, mais théoriquement elles peuvent apparaître.
Dans MQL5, les macros ont non seulement un nombre fixe d'arguments, mais leur nombre est limité à 8. Vous pouvez donc créer un enum pour seulement 3 valeurs.
En ce qui concerne l'aspect théorique, il sera probablement plus rapide d'obtenir une fonction interne pour l'analyse des énumérations, car les développeurs ont déjà promis de faire quelque chose.
Dans MQL5, les macros ont non seulement un nombre fixe d'arguments, mais leur nombre est limité à 8. Ainsi, nous pouvons créer un enum pour seulement 3 valeurs.
Pour ce qui est de l'aspect théorique, il est probablement plus rapide d'obtenir une fonction interne pour l'analyse des énumérations. Les développeurs ont déjà promis de proposer quelque chose.
Utiliser la méthode d'énumération proposée précédemment en utilisant un tableau.
Aucun itérateur n'est prévu pour l'énumération des valeurs.
Utilisez la méthode suggérée précédemment pour énumérer les valeurs à l'aide d'un tableau.