Mon approche. Le noyau est le moteur. - page 139

 
Georgiy Merts:

Êtes-vous tous en train de convaincre Peter des avantages de la POO ?

Artyom Trishkin:

Vous gaspillez votre souffle.

Vous avez raison, je sais tout cela et je le comprends très bien. Mais apparemment, Peter touche certaines ficelles mentales de mon âme OOP avec son "je ne veux pas, je ne veux pas", si bien que je tombe constamment dans ces explications, arguments et querelles sans fin.

 
Реter Konow:

Et le moteur chargera les noyaux à partir d'un fichier texte. Ce n'est pas difficile à faire.

Oh, je vois. Oui, c'est mieux. Votre noyau est donc un fichier texte - essentiellement un groupe de paramètres pour le moteur.

 
Реter Konow:

Non, Vasiliy, tu as tendance à tout dramatiser.))

Il y a un bouton dans le constructeur qui, lorsqu'il est cliqué, imprime tous les fichiers.

Et le moteur chargera les noyaux à partir d'un fichier texte. Ce n'est pas difficile à faire.

Désolé de vous interrompre, mais je me demandais juste comment le remaniement était censé être effectué, par exemple en changeant les mauvais noms ou en modifiant la composition ou l'emplacement des éléments.

 
Vasiliy Sokolov:

Oh, je vois. Oui, c'est mieux. Votre noyau est donc un fichier texte - essentiellement un groupe de paramètres pour le moteur.

Oui. Exactement. Toutes les informations nécessaires pour que le moteur puisse reproduire une interface graphique particulière et travailler avec elle. Pour l'instant, je l'installe directement sur le moteur, et ensuite je le rendrai chargeable à partir du fichier que le constructeur imprime.

 
Maxim Kuznetsov:

Désolé de vous interrompre, mais je me demandais juste comment le refactor était censé fonctionner, par exemple en changeant les mauvais noms ou la composition/l'emplacement des éléments en général.

Tout cela se passe dans le constructeur. Le code KIB est écrit et le fichier est recompilé.

Voici comment travailler avec le constructeurhttps://www.mql5.com/ru/blogs/post/717782.

 
Vasiliy Sokolov:

Ou un autre exemple. Récemment, on m'a demandé de modifier un conseiller expert procédural afin qu'il puisse négocier simultanément sur plusieurs symboles (sur un seul graphique). Le style procédural aurait nécessité des efforts longs et complexes pour qu'il se négocie indépendamment sur différents symboles en même temps. En revanche, j'ai simplement placé l'ensemble du code procédural dans une classe et créé trois exemples. J'ai spécifié un ensemble de paramètres individuels pour chacun d'eux, y compris le symbole de travail, etc. Le code a fonctionné correctement du premier coup. Le code a fonctionné comme il aurait dû le faire du premier coup. L'utilisateur était satisfait.

J'ai eu un exemple similaire cette semaine, on m'a demandé de faire un Conseiller Expert qui ouvre l'achat à l'ouverture d'une barre dans un TF et ouvre la vente à l'ouverture d'une barre dans un autre TF).

Mais j'ai réécrit une fonction triviale pour définir une nouvelle barre dans une classe et j'ai créé 2 instances de la classe pour définir une nouvelle barre. J'ai passé la période de temps du TF comme paramètre pendant l'initialisation du constructeur.

5 minutes de travail, mais il est garanti que tout fonctionnera et qu'il n'y aura aucune confusion avec les noms des fonctions NewBar_TF1() , NewBar_TF2() .... tout comme il est pratique d'initialiser après des changements de paramètres par l'utilisateur - supprimer l'objet dans DeInit(), créer l'objet dans ONInit()

imho, OOP est commode et pratique

 
Реter Konow:

Tout cela se passe dans le constructeur. Le code KIB est écrit et le fichier est recompilé.

Voici comment travailler avec le constructeurhttps://www.mql5.com/ru/blogs/post/717782.

Mais cela va écraser toutes les modifications et liaisons personnalisées qui sont dans les événements ?
 
Реter Konow:

Oui. Exactement...

C'est pourquoi il y a beaucoup de confusion entre votre moteur et les autres. Donnez des noms non standard aux éléments de votre système. Pas un noyau - mais un fichier de configuration généré automatiquement.

 
Maxim Kuznetsov:
Mais cela va écraser toutes les modifications de l'utilisateur qui sont dans les événements ?

Expliquez-vous davantage.

 
Vasiliy Sokolov:

C'est pourquoi il y a beaucoup de confusion avec votre moteur et pourquoi les autres s'y perdent. Donnez des noms non standard aux éléments de votre système. Ce n'est pas un noyau, mais un fichier de paramètres généré automatiquement.

Donc le fichier, c'est les noyaux imprimés. Il y en a plus d'un.

Raison: