Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1566
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Si vous avez une EA de trois lignes, alors bien sûr vous n'avez pas besoin de la POO).
Mais si je devais créer un gobelin avec un bras et trois jambes, puis avec une jambe et trois bras - alors, oui, c'est là que la POO m'aiderait vraiment. Bien que... Je ne sais pas non plus.
Quel est l'intérêt de l'avoir ici ?
Et le nombre de "lignes" que vous avez n'a aucune importance. ;)Seulement int ou double ?
Et si la variable est un objet d'une classe?
Et si le nombre de ces objets est inconnu à l'avance [avant l'exécution de OnInit()] ?
Et si les paramètres des constructeurs à l'avance [avant OnInit()] sont inconnus ?
Vous avez donné un bon lien et un bon exemple sur la déclaration des classes.
Dans tous les cas, les globaux sont déclarés avant OnInit() ; les autres sont déclarés chaque fois qu'ils sont nécessaires.
Dans tous les cas, Global est déclaré avant OnInit(), les autres sont déclarés chaque fois que nécessaire
C'est clair en théorie.
En pratique, après :
la déclaration de 'NB_M1' cache la variable globale -> par ligne dans OnInit()
voir la déclaration précédente de "NB_M1".
l'expert fonctionne comme si NB_M1 était global (et correctement initialisé), même s'il est caché par une déclaration locale et initialisé comme local dans OnInit().
Par idée, ça ne devrait pas fonctionner du tout.
En théorie, cela a du sens.
En pratique, après :
la déclaration de 'NB_M1' cache la variable globale -> par ligne dans OnInit()
voir la déclaration précédente de "NB_M1".
l'expert fonctionne comme si NB_M1 était global (et correctement initialisé), bien qu'il soit caché par la déclaration locale dans OnInit().
Par idée, ça ne devrait pas fonctionner du tout.
Et le nombre de "cordes" que vous avez n'a pas d'importance. ;)Lorsque vous avez une centaine de lignes de code, parce que vous voulez d'abord ajouter ceci, puis oublier à quoi cela sert, puis ajouter cela, alors naturellement ( ?) la pensée va surgir : "Comment l'organiser ?" Ou pas).
Qu'est-ce que NB_M1 ? Peut-être est-il déjà déclaré dans la bibliothèque ? Et sans code du tout, c'est comme être sourd et aveugle).
NB_M1 est un objet de la classe CIsNewBar pour définir le début d'une nouvelle barre pour chaque caractère. Non, il n'est pas déclaré dans la bibliothèque.
Code dans le premier message :https://www.mql5.com/ru/forum/160683/page1547#comment_23712294
NB_M1 est un objet de la classe CIsNewBar pour définir le début d'une nouvelle barre pour chaque caractère. Non, il n'est pas déclaré dans la bibliothèque.
Le code dans le premier post :https://www.mql5.com/ru/forum/160683/page1547#comment_23712294
Ainsi, NB_M1 est déclaré à l'intérieur de la classe et on peut y accéder.
Pouvons-nous jeter un coup d'œil au code de cette classe ?
NB_M1 est un objet de cette classe. Comment le mettre à l'intérieur ?
NB_M1 est un objet de cette classe. Comment le mettre à l'intérieur ?
Je pense que c'est comme ça que ça doit être.