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 utilisez des classes pour quelque chose que vous ne comprenez pas, ce n'est pas de la POO.
Et oui, je vous le conseille, tant que vous ne comprenez pas la nécessité de ces gadgets, ne les utilisez pas.
Avec cette approche, la compréhension ne viendra jamais.
Je ne pense pas qu'avec une mauvaise utilisation, la compréhension puisse venir.
Igor, te souviens-tu de la tâche que le Tsar a confiée à Fedot le Streltsy ?
Et quelle a été la réponse des deux jeunes hommes ?
Comment pouvez-vous essayer de reproduire quelque chose, si vous ne connaissez pas les règles, ou le résultat final à obtenir...
Eh bien, c'est à peu près ça, voici une imitation du fait que les heures de diffusion des nouvelles et la quantité de nouvelles diffèrent d'un pays à l'autre :
mais il reste à voir si vous devez l'emballer dans un PLO.
;)
Voici un journal de la façon dont il a été appelé et ce qu'il a donné :
2019.09.08 16:00:35.031 tst (EURUSD,H1) NewsRU::NewsRU
2019.09.08 16:00:35.032 tst (EURUSD,H1) NewsEN::NewsEN
2019.09.08 16:00:35.032 tst (EURUSD,H1) NewsFake::NewsFake
2019.09.08 16:00:35.032 tst (EURUSD,H1) Erreur, pas ce type FR
2019.09.08 16:00:35.032 tst (EURUSD,H1) News #1 dans 1970.01.01 00:01:51
2019.09.08 16:00:35.032 tst (EURUSD,H1) News #2 dans 1970.01.01 00:03:42
2019.09.08 16:00:35.032 tst (EURUSD,H1) News #3 en 1970.01.01 00:05:33
2019.09.08 16:00:35.032 tst (EURUSD,H1) News #1 dans 1970.01.01 00:07:24
2019.09.08 16:00:35.032 tst (EURUSD,H1) News #2 dans 1970.01.01 00:09:15
Je ne pense pas qu'avec une mauvaise utilisation, la compréhension puisse venir.
Au moins, on comprendra qu'"il n'y a pas de poisson ici")).
Nous avons entendu cela à plusieurs reprises de la part de certains personnages locaux.
Et c'est juste par manque de compréhension.
Et il y a des poissons !
Voilà, c'est à peu près tout, voici une simulation qui montre que les heures d'ouverture et le nombre de nouvelles sont différents selon les pays :
mais il reste à voir si vous avez besoin de l'emballer dans une OOP.
;)
Voici un compte-rendu de la façon dont tout a été appelé et de ce qui a été obtenu :
Non, Igor. Cette approche n'en est pas une.
Les chaînes de caractères mises en évidence correspondent à trois cas d'utilisation. Dans le même temps, l'intervalle de temps change. Ensuite, le tableau values[] est traité d'une certaine manière. L'identifiant de l'événement est utilisé pour obtenir la description de cet événement. Son importance, son temps et d'autres attributs.
Nous avons entendu cela à plusieurs reprises de la part de certains personnages locaux.
Et c'est juste par manque de compréhension.
Et il y a des poissons !
Je l'ai lu. Il y a des poissons, mais pas là où tu ne comprends pas. Quel genre de projet devrait être dans mql5 pour qu'il y ait du poisson... Je veux voir au moins un projet dans mql5, où le besoin de la POO serait vu.
Probablement, il n'y a pas besoin de POO. En principe, tout peut être fait dans un style structuré. Mais personnellement, ma première envie a commencé lorsque j'ai décidé d'utiliser des structures au lieu d'ensembles de variables globales, qui avaient commencé à s'étendre dangereusement. J'étais déjà passé des structures aux classes car il semblait logique d'y intégrer directement les fonctions qui traitaient les données de ces structures, ce qui a conduit à la création des classes. Il ne s'agit pas d'une nécessité, mais simplement d'organiser les données et de travailler avec elles.
Il n'est pas nécessaire de "tuer" l'objet dès qu'il est créé et qu'il a fait son travail.
Les objets créés peuvent être "tués" dans la fonction OnDeinit une fois le programme MQL terminé,
Pendant que le programme est en cours d'exécution, tous les objets peuvent être gardés en mémoire et on peut y accéder.
Si l'objet a accompli sa tâche, pourquoi le garder en mémoire ?
Une fuite de mémoire ne va-t-elle pas se produire ?
Non, Igor. Ce n'est pas l'approche adoptée ici.
Les lignes en surbrillance correspondent aux trois cas d'utilisation. Dans ce cas, l'intervalle de temps change. Ensuite, le tableau values[] est traité d'une certaine manière. L'identifiant de l'événement est utilisé pour obtenir la description de cet événement. Son importance, son temps et d'autres attributs.
l'approche n'est pas importante
Si vous voulez comprendre la POO, mon opinion ( j'ai déjà écrit ) - c'est pratique, mais la POO est juste un paradigme, enfin, une façon d'écrire, qui combine plusieurs concepts de la POO - Wiki...
Vous pouvez donc essayer le contraire : voici votre tâche, vous devez la décomposer en données et en moyens de traiter ces données...
1. Où stockerez-vous les données ? - très probablement une structure
2. Comment allez-vous traiter les données ? - Très probablement un ensemble de fonctions.
3. Comment allez-vous initialiser les données ? - très probablement un tableau de structures, et vous devrez mettre à zéro ce tableau, puis le remplir de données.
4. Comment allez-vous assurer la flexibilité du code écrit précédemment - refactoring ?
Maintenant, si vous utilisez la POO :
1. dans les champs d'une classe, bien que peut-être ce champ sera une structure, ou peut-être j'écrirai une classe de base du tout qui stockera les données et fera l'héritage OU cette classe sera un champ dans la classe en discussion maintenant
2.1. il s'agira d'un ensemble de méthodes. Si j'écris une classe de base, je créerai probablement des méthodes dans une classe de base qui feront un traitement de base des données, et si j'hérite d'une classe de base, ces méthodes seront disponibles dans la classe, c'est l'héritage !
2.2 Si je veux changer une seule méthode après avoir hérité de la classe de base, je ne réécrirai rien dans la classe de base, ce n'est pas nécessaire ! - je vais juste écrire une méthode ( une fonction !) avec le même nom que la méthode de la classe de base, et ce sera l'héritage !
3. ce sera un constructeur, et si je n'écris pas de constructeur, il sera appelé implicitement, donc je garde à l'esprit que chaque classe dont j'ai hérité et/ou chaque classe dans mes domaines aura toujours un constructeur appelé ; et la POO me donne la possibilité de ne pas écrire de constructeur, d'écrire un constructeur sans paramètres, d'écrire une douzaine d'autres constructeurs avec des paramètres
4. en utilisant la POO, vous ne devez pas réécrire des fragments de code créés précédemment, vous pouvez hériter, vous pouvez ..... vous pouvez vous tromper, le compilateur fera le ménage après le programmeur dans la plupart des cas !
bien, c'est mon point de vue plutôt amateur sur la POO, en général, il est pratique et afin de faire tout fonctionne efficacement, le travail principal lors de l'utilisation de la POO, pas le programmeur, mais les développeurs du compilateur, de sorte que les champs / méthodes ne sont pas utilisés de ne pas inclure dans le fichier compilé, où le programmeur a fait une erreur, bien, pour le prévenir)))