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

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
Veuillez me dire pourquoi le compilateur génère un avertissement dans le code du script de test MQL4 suivant :
Un avertissement à la ligne 27 sur la non-concordance des types de données. Les deux variables ont le même type int. Vous trouverez ci-dessous une capture d'écran de la compilation du script.
Si je remplace la ligne 27 par
l'avertissement n'apparaît pas.
Quelle est l'astuce ?
Il n'y a pas d'astuce. La variable t est déclarée comme double
En fait, ce t ne prend aucune signification nulle part.
Et il n'y a pas d'astuce. La variable t est déclarée comme double
Merci beaucoup, je travaille dur - il est temps de se reposer.
En fait, ce t ne prend aucune valeur nulle part.
Il s'agit d'une variable tampon utilisée pour stocker temporairement le résultat pendant le tri.
En quoi ces méthodes d'initialisation sont-elles différentes ?
class Klas{}; Klas *Klas_ Klas Klas_
1. class Klas{}; 2. Klas *Klas_ 3. Klas Klas_
1. type (classe) description
2. déclaration du pointeur de type (classe)
3. déclaration de l'instance de la classe - c'est l'initialisation, car le constructeur Klas() sera appelé s'il n'est pas décrit, alors le constructeur par défaut sera appelé - aide
En quoi ces méthodes d'initialisation sont-elles différentes ?
c'est-à-dire l'étape d'initialisation seulement 3.
1. type (classe) description
2. déclaration du pointeur de type (classe)
3. déclaration de l'instance de la classe - c'est l'initialisation, car le constructeur Klas() sera appelé s'il n'est pas décrit, alors le constructeur par défaut sera appelé - aide
c'est-à-dire que seule la clause 3 est initialisée.
Je n'ai pas vu comment les initialiser dans l'aide, peut-être que j'ai juste regardé et que je n'ai pas compris, puisque les classes sont mal décrites dans l'aide - je l'ai lu 30 fois.
Oui, effectivement après le cours car je n'ai pas d'entrées mais ils ont mis ce code dans OnStart
Comprenez-le comme vous voulez. Je ne sais pas pourquoi tu dois l'expliquer de cette façon.
Je ne comprends pas pourquoi j'ai besoin de ce pointeur.
Et à quoi ça sert ? À ce que tu veux et ce que tu penses que ça signifie.
Je ne comprends pas non plus ce que cela signifie.
CFoo foo40(foo1); // явный вызов конструктора копирования
La finalité de cette mesure n'est pas claire non plus. Ils ne l'auraient pas téléchargé, mais auraient écrit l'idée normalement et simplement.Salutations.
Pourriez-vous me dire comment les niveaux horizontaux de la grille sont calculés dans mt4 et dans mt5 ?
Et pourquoi initialiser via un pointeur, je n'ai pas vu du tout dans l'aide comment les initialiser peut-être que j'ai regardé et que je n'ai pas compris, car les classes sont mal décrites dans l'aide lue 30 fois.
Un pointeur est un pointeur, une initialisation est une initialisation.
comprendre ce code d'abord :
Qu'est-ce que l'initialisation dans ce code et qu'est-ce qu'une déclaration de variable?
Quand la mémoire est-elle allouée ?
et ensuite traiter le sujet de la POO et des pointeurs vers une classe et des pointeurs vers un objet avec ces connaissances.
Partez, pour une raison quelconque, je ne peux pas répondre aux questions élémentaires.
Un pointeur est un pointeur, une initialisation est une initialisation.
comprendre ce code d'abord :
qu'est-ce que l'initialisation et la déclaration de variable dans ce code ?
Quand la mémoire est-elle allouée ?
puis utiliser ces connaissances pour discuter de la POO, des pointeurs vers une classe et des pointeurs vers un objet.
parti, pour une raison quelconque, je ne peux pas répondre aux questions élémentaires.
Voici un exemple simple et clair. La première variante est la déclaration de la variable et l'allocation de mémoire (la variable stocke une valeur arbitraire par défaut ou un numéro de secteur ou une adresse en C++, je ne sais pas), la deuxième variante est l'initialisation.
Et ce à quoi servent ces pointes de Type et avec quoi les manger aurait également dû être expliqué normalement.
Pointeurs vers une classe et pointeurs vers un objet
J'aurais aussi dû comprendre ce qu'ils sont. Je vais chercher sur le net et voir s'il y a quelque chose.
Salutations.
Comment calculer les niveaux horizontaux d'une grille dans mt4 et dans mt5 ?
Si vous voulez détecter un niveau horizontal, vous devez d'abord déterminer le prix maximal ouvert, puis ajouter une certaine valeur et obtenir un nouveau prix qui vous permet d'observer quand le prix franchit cette condition de niveau et de placer un nouvel ordre ou de placer une grille d'ordres en attente en tenant compte du nombre maximal d'ordres, puis d'afficher cette grille.
en général, tout code compact est plus facile à visualiser et à modifier pour vos propres tâches.
Je ne sais pas si vous l'avez essayé et je n'ai jamais essayé beaucoup de programmes et je pense que c'est plus difficile à utiliser en TS simple, mais peut-être que vous ne l'avez jamais essayé.
Voici un exemple simple et clair. La première option est la déclaration de la variable et l'allocation de mémoire (la variable stocke une valeur arbitraire par défaut ou un numéro de secteur ou une adresse en C++, je ne sais pas), la deuxième option est l'initialisation.
Et pourquoi ces pointes de Type et avec quoi les manger auraient dû être expliquées correctement.l'allocation de mémoire sera dans l'exemple 1 et dans l'exemple 2
L'exemple 2 est une déclaration et une initialisation, l'exemple 1 est seulement une déclaration.
la classe est la même, la classe est un type défini par l'utilisateur qui contient des champs (propriétés) et des méthodes permettant de travailler avec ces champs
un pointeur vers une classe est une déclaration, mais sans initialisation et sans allocation de mémoire pour le type (classe)
pointer = new MyClass() ; - il s'agit d'une déclaration et d'une initialisation, qui crée une nouvelle instance de la classe et cette instance sera renvoyée comme un lien vers un objet (ce n'est pas exactement un lien, en MQL c'est ... pas important et donc on s'y perd)
....
si vous ne voulez pas le lire, utilisez au moins ce post de moi pour modifier votre exemple :
CFoo *pfoo6=new CFoo();
à
CFoo *pfoo6; pfoo6 = new CFoo(); CFoo *pfoo_7 = pfoo6;
et essayez de comprendre ce qui se passe - quand vous assignez la dernière ligne à..... mais lisez quand même, demander simplement sur les forums n'est pas une option