Questions sur la POO dans MQL5 - page 58

 
Vladimir Simakov:

Laissez-moi vous expliquer.

Dans mql5, la classe imbriquée ainsi que dans pluses est une amie de la classe externe (d'ailleurs, c'est le point que je ne connaissais pas). Mais dans mql4, ce n'est pas implémenté, et vous devez écrire des béquilles là. C'est-à-dire que ce code compilera correctement dans mql5, mais provoquera des erreurs de compilation dans mql4.

Bien sûr, ils écriront que ce n'est pas du C++, mais je vais quand même faire une analogie.

Je ne me souviens pas de quoi que ce soit sur les classes imbriquées dans la documentation officielle de mql, ni sur les particularités de l'accès aux champs externes à partir de ces classes. Par conséquent, tout ceci me fait penser à l'UB. Oui, cela fonctionne, mais c'est à vos risques et périls que vous préparez le terrain en attendant que les informations pertinentes apparaissent dans la documentation.

Le 5ème est corrigé de plus en plus souvent pour éliminer les incohérences restantes. On accorde moins d'attention à la quatrième. C'est probablement pour ça. Et apparemment, personne n'a eu besoin de classes à l'époque de 4))).

 
Igor Makanu:

Pourquoi votre histoire est-elle instructive ? Tout le monde trouve un emploi de cette façon - il faut être au bon endroit au bon moment, c'est tout... il y avait un poste vacant de préposé aux boutons, alors ils t'ont embauché ))))

ou avez-vous eu un certificat étranger à l'époque ?)


ZS : Pourquoi travaillez-vous ? Les coûts sont-ils importants ? - Vous avez un chèque moyen pour l'EA de 100-300 mille roubles, à mon avis devrait suffire au moins un mois )))).


UPD : j'ai eu l'impression d'être un participant involontaire à une foire aux monstres, ce n'est pas bien ((()

J'ai bien ri, merci ! )))) L'humour est une chose très importante ...dans l'OLP... )))))

 
Igor Makanu:

Et quelle est la partie instructive de votre histoire ?

Ce que je veux dire, c'est que les choses apparemment compliquées sont simples. Et ce fil de plusieurs pages est une discussion de choses simples dans des mots compliqués... C'est tout le message...

 
Evgeniy Zhdan:

Ce que je veux dire, c'est que les choses apparemment compliquées sont simples. Et ce fil de plusieurs pages est une discussion de choses simples dans des mots compliqués... C'est toute la question...

Je ne me souviens pas d'une vieille blague, mais tout ce qui me vient à l'esprit, c'est la fin "qu'est-ce qu'il y a à penser ! Il faut sauter plus haut !

)))


Je suis désolé si je vous ai offensé, ce n'était pas mon intention, mais c'est ainsi que la discussion s'est transformée en un véritable charivari.


merci pour votre aide dans la discussion, je m'en vais

 
Evgeniy Zhdan:

Ce que je veux dire, c'est que les choses apparemment compliquées sont simples. Et ce fil de plusieurs pages est une discussion de choses simples dans des mots compliqués... C'est tout le message...

Je suis d'accord) Je pense également que l'attitude d'une personne... par exemple à l'égard des modèles... est généralement mieux exprimée par son thérapeute )))).

 
Igor Makanu:

merci pour votre aide dans la discussion, je m'en vais

Avez-vous résolu votre problème ? )

Igor Makanu:

Étant donné :
1. Une machine à états finis (FSA)
2. Le nombre de KAs est inconnu.
3. États de l'engin spatial : succès / échec / fonctionnement
4. Les AC sont exécutées dans plusieurs threads, le nombre de threads est inconnu.

Un modèle doit permettre :
1. Délivrer un identifiant unique pour chaque processus - le compteur ne fonctionne pas
2. Ajouter le spa uniformément par des fils
3. Obtenir le statut du vaisseau spatial
4. Redémarrer KA si l'état de KA est le même que la tâche qui a été émise précédemment.
5. Sauvegarder le CA dans la base de données et le retirer du flux si l'état est réussi.
6. Restaurer l'état de l'AC (ID de la sauvegarde) et l'ajouter au flux.
7. Pour avoir un pool commun pour échanger les messages des EA, le pool n'est pas en caoutchouc, les EA supprimés ne reçoivent pas de messages, mais les EA nouvellement créés devraient recevoir les nouveaux messages et non ceux laissés par les EA tués, il n'y a pas de synchronisation entre les threads et les EAs.
8. Sauvegarde et restauration de l'état de l'ensemble du modèle et du pool de messages

* Les KAs n'effectuent pas les mêmes tâches
** Le pool de messages est le principal problème, mais il peut s'agir de CA, de DB ou de ?
*** Peut-être qu'il s'agit d'une base de données et que les modèles ne sont pas du tout nécessaires ici?

Il est difficile de comprendre, à partir de cette description abstraite, quel est le but exact de cet algorithme. Mais il semble que vous sachiez au fond de vous que tout se résume à une routine DB triviale, et que toute cette liste absconse est une tentative de couper les amygdales par le cul ).

La même chose qu'avec cet infortuné Keeper. Essentiellement, vous devez copier le contenu d'un objet dans un conteneur, puis de ce conteneur dans l'objet. Mais non, vous avez dû inventer un mystérieux Memento qui contrôle tout, ce qui ne fait qu'embrouiller l'algorithme et créer une surcharge sur place.

 
Alexey Navoykov:

Avez-vous résolu votre problème ? )

Oui, les informations physiques ont été recueillies, et maintenant elles sont absorbées et analysées.

Et merci à vous, qui êtes l'un des rares à pouvoir écrire en substance tout en exprimant une opinion personnelle.


Alexey Navoykov:

À partir de cette description abstraite, il est difficile de comprendre l'objectif spécifique de cet algorithme.

Je pense que la recherche d'informations est censée paraître si abstraite, et qu'il ne s'agit pas d'un document de recherche secret avec un prix Darwin à la clé.....

sérieusement, si j'écris des objectifs spécifiques - ils sont mis en œuvre, mais tout est de travers et de travers, alors je devrai discuter de votre expérience précédente et non de mon objectif - structurer le code slash, parce que maintenant il est possible de transférer des algorithmes à partir de zéro - les volumes sont petits et les pouvoirs sont clairement divisés.... mais en 3 tâches de travail séparées, et l'objectif à la fin est commun.... vous voyez, tout est devenu clair maintenant ))))

 

Re-bonjour !


cette question, il y a un enum, nous avons besoin soit d'un array enum ou d'une list enum ou d'un container enum - quelque chose où stocker 7 enum, mais l'appétit grandit, peut-être 70 enum


où ?

 
Igor Makanu:

cette question, il y a un enum , nous avons besoin soit d'un array enum ou d'une list enum ou d'un container enum - quelque chose pour stocker 7 enums maintenant, mais l'appétit grandit, peut-être 70 enums

7 types d'enum ou 7 valeurs d'enum ?
 
Alexey Navoykov:
7 types d'enum ou 7 valeurs d'enum ?

7 types, nombre de valeurs arbitraire


la seule chose qui me vient à l'esprit est une structure comme conteneur, mais je cherche à nouveau des informations techniques ;))


le problème est que seule la visibilité globale des enums est supposée, mais pour sauvegarder l'état des objets, vous devez utiliser un enum spécifique.