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
Tout est clair en ce qui concerne les entrées. Le truc avec extern - là, comme il me semble, vous pouvez d'abord déclarer des variables avec le même type et identifiant dans différents fichiers à attacher au projet, et ensuite il s'avère que vous ne pouvez pas les déclarer de cette façon. Bien sûr, c'est un impressionnisme à trois étages...
La signification d'extern est que si le fichier principal (principal) a une certaine variable et un autre fichier est attaché à ce fichier. Et dans ce fichier joint nous devons utiliser la variable déclarée dans le fichier principal, puis dans le fichier joint nous la déclarons comme extern. En conséquence, le fichier lié peut être compilé et lorsque le fichier principal est compilé, ladéclaration de variable dans le fichier lié est ignorée.
Je ne sais pas. Pour moi, toute la documentation est auto-explicative. S'il y a des difficultés quelque part, elles disparaissent après quelques expérimentations.
Mais si je ne connais pas les opérations sur les bits, je peux lire n'importe quel article... Je ne comprendrai pas un mot de tout ça. Tout comme je ne comprenais rien aux drapeaux et aux ensembles de drapeaux jusqu'à ce qu'Artem me les explique de vive voix.
C'est compréhensible si vous en exigez des valeurs, mais comment tout cela fonctionne avant et après - les ténèbres les plus sombres
il est compréhensible que l'on en exige de la valeur, mais la façon dont tout cela fonctionne avant et après est obscure, l'obscurité la plus totale.
Qui est-elle ?
Qui est-elle ?
l'essence du métier
il y a :
1) extern ne fonctionne que dans mql4.
2) les commentaires après la saisie seront affichés dans les paramètres de saisie au lieu du nom de la variable de saisie.
entrée int ma_period = 20 ;
- il dira "ma_période".
entrée int ma_period = 20 ; // période MA
- il sera écrit "période MA".
pour être exactement comme cela dans mql4, le mode de compilation strict est nécessaire #property strict.
Cette astuce est absente avec extern.
3) Les variables externes peuvent être modifiées dans le code comme toutes les variables globales, les variables d'entrée ne le peuvent pas.
Au départ, il n'y avait que mql4 et extern, aucune entrée n'était présente, pas plus que OOP dans mql4.
Puis mql5 a été créé et l'entrée a été immédiatement incluse parce que mql5 en général était orienté exactement vers la POO.
Il y a environ 2-3 ans, mql4 a été mis à jour avec de nombreuses fonctionnalités de mql5, y compris l'entrée.
Sur quel terminal écrivez-vous ?
Dans MT5, si vous déclarez une variable externe comme extern dans l'indicateur, l'indicateur peut ne pas pouvoir être appelé via iCustom().
Sur quel terminal écrivez-vous ?
Dans MT5, si vous déclarez une variable externe comme extern dans un indicateur, l'indicateur peut ne pas pouvoir être appelé par iCustom().
Je ne fais pas de reproches maintenant, mais vous écrivez "il peut échouer"... il s'avère que cela peut ou ne peut pas fonctionner ! Je veux dire, il est difficile pour moi, en tant qu'autodidacte sans éducation spéciale, de comprendre une telle incertitude...
il y en a :
1) extern ne fonctionne que dans mql4.
2) les commentaires après la saisie apparaîtront dans les paramètres de saisie au lieu du nom de la variable de saisie.
entrée int ma_period = 20 ;
- il dira "ma_période".
entrée int ma_period = 20 ; // période MA
- il sera écrit "période MA".
pour être exactement comme cela dans mql4, le mode de compilation strict est nécessaire #property strict.
Cette astuce est absente avec extern.
3) Les variables externes peuvent être modifiées dans le code comme toutes les variables globales, les variables d'entrée ne le peuvent pas.
Au départ, il n'y avait que mql4 et extern, aucune entrée n'était présente, pas plus que OOP dans mql4.
Puis mql5 a été développé et a immédiatement inclus l'entrée parce que mql5 en général était orienté OOP.
Il y a environ 2-3 ans, mql4 a été mis à jour avec de nombreuses fonctionnalités de mql5, y compris l'entrée.
extern fonctionne dans les deux cas. Il en va de même pour les entrées dans MQL5 et MQL4. Leur but est différent, et c'est écrit dans l'aide.
Pourquoi orienter directement une personne vers une idée fausse sur le but des variables d'entrée et externes ?
La signification d'extern est que si le fichier principal (principal) a une certaine variable et un autre fichier est attaché à ce fichier. Et dans ce fichier joint nous devons utiliser la variable déclarée dans le fichier principal, puis dans le fichier joint nous la déclarons comme extern. Par conséquent, le fichier lié peut être compilé, mais lorsque vous compilez le fichier principal, la déclaration de variable dans le fichier lié est ignorée.
Je pensais également que ce modificateur fonctionne comme en C++, c'est-à-dire qu'il est déclaré dans le fichier includehttps://www.mql5.com/ru/forum/160683/page867#comment_11927748.
Vérifié, il ne fonctionne pas comme il le devrait en C++.
fichier de la bibliothèque tstextern
fichier de script :
toute manipulation de la variablekoef ne faitrien, elle est toujours dans la portée locale (à l'intérieur de chaque fichier)
Leur but est différent et c'est écrit dans l'aide.
La différence réside dans le contrôle d'accès :
entrée - elle ne peut être que lue, l'écriture est interdite.
extern - il peut être lu et écrit, et après la réinitialisation du programme MQL cette valeur sera restaurée à la valeur spécifiée dans les paramètres externes
Je ne suis pas négatif maintenant, mais vous écrivez "ça pourrait ne pas marcher"... ça peut ne pas marcher, mais ça peut marcher ! Je veux dire, il est difficile pour moi, en tant qu'autodidacte sans éducation spéciale, de comprendre une telle incertitude...
Je veux dire, je n'ai pas vérifié pour le moment. Et il est dangereux de dire ce qui était là autrefois, car les choses changent si souvent. C'était peut-être un problème temporaire.
Je pense également que ce modificateur fonctionne comme en C++, c'est-à-dire qu'il est déclaré dans le fichier du pluginhttps://www.mql5.com/ru/forum/160683/page867#comment_11927748.
il ne fonctionne pas comme il le devrait en C++.
fichier de la bibliothèque tstextern
fichier de script :
toute manipulation de la variablekoef ne fait rien, elle est toujours dans la portée locale (à l'intérieur de chaque fichier)
Eh bien, vous avez une bibliothèque. Bien sûr, il y aura différentes variables. Il s'agit de la connexion de mqh via include.