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
BTW, savez-vous que la version 1325 a introduit les pointeurs dans les fonctions?
Cela fait-il une différence dans l'application de la communication triangulaire ?
MQL5 : Ajout de la prise en charge des pointeurs vers les fonctions pour simplifier l'organisation des modèles d'événements.
Pour déclarer un pointeur vers une fonction, il faut spécifier le type "pointeur vers une fonction", par exemple :
Maintenant, TFunc est un type, et il est possible de déclarer la variable pointeur vers la fonction :
La variable func_ptr peut stocker l'adresse de la fonction pour la déclarer plus tard :
Les pointeurs vers les fonctions peuvent être stockés et passés comme paramètres. On ne peut pas obtenir un pointeur sur une méthode de classe non statique.
probablement juste pour MT5, et d'après ce que j'ai vu, ce n'est toujours pas pour les méthodes, juste pour les fonctions.
De toute façon, je ne comprends toujours pas comment définir la capacité d'un tiers dans la classe de base, par exemple dans le contexte de la ligne de tendance et du conteneur, où est le troisième objet.
Mais je vais essayer de relire.
Je veux dire, comment et où décider qui (quelle classe) va recevoir quoi (événement).
Il est clair que le distributeur principal, celui qui est natif du langage, c'est-à-dire le langage ::OnChartEvent, n'est écrit qu'une seule fois dans un projet, dans la classe de niveau supérieur.
À partir de là, quelle est la ou les bonnes façons de distribuer des événements à différents objets ?
Doit-il y avoir une classe d'événement de distribution ? Faut-il le faire uniquement dans le ::OnChartEvent sur la base d'instructions if ?
Ce qui me semble manquer dans la compréhension du modèle d'événements en conjonction avec OO et MQL5, c'est le bon type de répartition des événements.
Je veux dire, comment et où décider qui (quelle classe) va recevoir quoi (événement).
Il est clair que le distributeur principal, celui qui est natif du langage, c'est-à-dire le langage ::OnChartEvent, n'est écrit qu'une seule fois dans un projet, dans la classe de niveau supérieur.
À partir de là, quelle est la ou les bonnes manières de distribuer des événements à différents objets ?
Doit-il y avoir une classe d'événement de distribution ? Doit-on le faire uniquement dans le ::OnChartEvent sur la base d'instructions if ?
OK, je crois que j'ai compris. Il y a un vrai problème de changement de concept quand on passe du procédural à l'oop.
En fait, j'ai voulu une fois implémenter l'observateur et à cause du manque d'interfaces dans MQL ou de l'héritage multiple, je ne l'ai pas fait. Je n'ai pas pensé à votre bonne idée selon laquelle le même objet peut forcer l'interface des deux côtés.
Donc, en fait, chaque objet a maintenant une place pour un objet qui est le récepteur d'événements, et a également une méthode d'enregistrement pour l'objet d'écoute pour s'abonner en tant que tel et une méthode d'envoi d'événement et une méthode de gestion d'événement utilisée par le récepteur.
En fait, j'ai voulu une fois implémenter l'observateur et à cause du manque d'interfaces dans MQL ou de l'héritage multiple, je ne l'ai pas fait. Je n'ai pas pensé à votre bonne idée selon laquelle le même objet peut forcer l'interface des deux côtés.
Juste pour vous encourager, j'ai beaucoup utilisé les listeners avec MQL4.
Merci, mais je ne me sens pas encouragé ( :
J'ai réussi à le faire, mais pas avec un contrat entre l'éditeur et le listener, je veux dire, l'éditeur devait supposer que le listener a la méthode de manipulation, mais rien ne l'obligeait à le faire.
Ou alors, il faudrait que j'hérite de tous les listeners d'un objet listener principal - mais alors, bien sûr, je perdrais tout intérêt car ils ne peuvent pas hériter d'autres classes.
Quoi qu'il en soit, je suis un pro de la programmation mais certainement pas de l'OO où je manque d'expérience pour l'instant, et je ne suis pas en compétition avec l'un de vous, programmeurs OO expérimentés comme Doerk.
Ce que j'ai appris, c'est qu'être procédural vous donne une bonne logique et de bonnes compétences en programmation, mais le changement est mentalement difficile, surtout si un orienté procédural comme moi est confronté à la mission de construire un cadre OO, c'est un état d'esprit totalement différent. Et le framework de la partie GUI est le framework le plus détaillé avec de nombreux événements à prendre en charge, je pense que vous serez d'accord pour dire que parmi les frameworks, c'est le plus difficile à construire.