MT5 et la vitesse en action - page 73

 
Andrey Dik:

Veuillez me donner un exemple où des événements asynchrones sont nécessaires et où cela n'est pas réalisable actuellement par des moyens standard.

Tout a commencé par une erreur d'événement OnTick OnBook, et Slava l'a confirmée. C'en est une.
Le fxsaber bat l'obtention d'un SymbolInfoTick() opportun. En raison du fonctionnement en bloc des gestionnaires, cela pose un problème. C'est deux.
Lire des sockets de différents gestionnaires, c'est un problème. C'est trois.
Boucles en boucle dans les handlers. C'est quatre.
De longs calculs. C'est cinq.

Impossible de recevoir les événements du gestionnaire en temps voulu si un autre gestionnaire est occupé. C'est six.
De nombreuses restrictions sont dues au modèle de blocage des gestionnaires.
La liste peut s'allonger à l'infini, pour autant que vous ayez suffisamment d'imagination.

Sans parler des événements liés aux graphiques, des événements liés au rendu graphique, etc.
 
Igor Makanu:

Pourquoi ? Je comprends comment les applications fonctionnent dans Win.

Vous feriez mieux de découvrir l'histoire de Python, où et quand ces béquilles asynchrones bien nommées sont-elles apparues ? - Vous rendez-vous compte que ces solutions n'ont pas été conçues à l'origine en Python ?

Je suis d'accord que grâce à ces choses asynchrones on peut utiliserPython pour des solutions client-serveur, peut-être que c'est cool que le frontend de l'utilisateur puisse maintenant utiliser les ressources d'un serveur multi-processeurs,

mais pourquoi un utilisateur dans une application de bureau aurait-il un terminal dans Win ? - Si vous avez plus de fils, même si vous pouvez les synchroniser avec des fonctions d'attente, un pool commun de messages/événements demeurera.


Ok, j'en ai marre de discuter ici devant vous tous du forum, encombrez les fils de discussion avec vos fantasmes, ce n'est pas mon problème.

Et vous n'avez pas besoin de commencer par vos fantasmes. Personne ne vous le demande. Si vous ne savez pas de quoi je parle, il vaut mieux vous taire, vous passerez pour un lettré.

 
Roman:
Tout a commencé par un décalage des événements OnTick OnBook, et Slava l'a confirmé. C'en est une.
Le fxsaber bat l'obtention d'un SymbolInfoTick() opportun. En raison du fonctionnement en bloc des gestionnaires, cela pose un problème. C'est deux.
Lire des sockets de différents gestionnaires, c'est un problème. C'est trois.
Boucles en boucle dans les handlers. C'est quatre.
De longs calculs. C'est cinq.

Impossible de recevoir les événements du gestionnaire en temps voulu si un autre gestionnaire est occupé. C'est six.
De nombreuses restrictions sont dues au modèle de blocage des gestionnaires.
La
liste peut être longue, aussi loin que l'on puisse imaginer.

La solution est simple : déplacer les gestionnaires vers des EA distincts. Tout modèle d'événement peut être mis en œuvre par les moyens standard de MT5.

Par ailleurs, Windows n'est pas un système en temps réel, mais même s'il l'était, l'événement doit être traité plus rapidement que celui qui est prévu, mais en aucun cas instantanément. Par conséquent, les développeurs ont raison (bien que ce ne soit ni à moi ni à vous de juger s'ils ont raison ou non) : vous voulez exécuter des programmes plus rapidement - achetez des processeurs et de la mémoire plus rapides et avec autant de cœurs réels que possible.

 
Andrey Dik:

La solution est simple : déplacer les gestionnaires vers des conseillers experts distincts. Tout modèle d'événement peut être mis en œuvre par les moyens standard de MT5.

Une autre chose est que Windows n'est pas un système en temps réel, mais même s'il l'était, l'événement doit être traité plus rapidement que celui prévu, mais en aucun cas instantanément.
Les développeurs ont donc raison : vous voulez exécuter des programmes plus rapidement - achetez des processeurs et de la mémoire plus rapides et autant de cœurs réels que possible.

Il ne s'agit pas d'une solution, mais d'une béquille)) des gestionnaires dispersés dans des programmes séparés. Ils vous apprennent une mauvaise chose ici ;)
Les développeurs ont tort ici, tous les projets sérieux sont écrits de manière asynchrone par des programmeurs normaux.
Ce n'est pas le matériel que vous devez soulever, mais l'architecture de l'exécution du programme.

 
Roman:

Va apprendre la programmation asynchrone, tu commences à en avoir marre.

Roman, mon garçon. Calmez-vous.

 
Slava:

Roman, mon garçon. Calmez-vous.

Oncle Slava )) écrire tous les gestionnaires dans une boucle d'événements non bloquante. Tu vas résoudre beaucoup de problèmes.

 
Roman:

Il ne s'agit pas d'une solution, mais d'une béquille)) des gestionnaires dispersés dans des programmes séparés. Ils vous apprennent une mauvaise chose ici ;)
Les développeurs ont tort ici, tous les projets sérieux sont écrits de manière asynchrone par des programmeurs normaux.
Ce n'est pas le matériel qui doit être mis à niveau, mais l'architecture de l'exécution des programmes.

Quel est le problème ? Vous écrivez votre propre code et on vous donne raison.

J'admire ces mecs, ils ne t'ont pas grondé, ils ont essayé d'expliquer. De manière très courtoise. Ils n'ont pas besoin de vous prouver quoi que ce soit - ils se suffisent à eux-mêmes. Saber a été banni ici plus que quiconque. Dick a été banni aussi. Igor est la justesse même, et il apprend constamment. Mais nous avons un dialogue très fructueux avec eux. Contrairement à vous.

 
Roman:

Oncle Slava )) écrire tous les gestionnaires dans une boucle d'événements non bloquante. Tu vas résoudre beaucoup de problèmes.

L'option non bloquante ne fonctionne pas. Pour des raisons purement objectives

 
Slava:

Quel est le problème ? Vous avez écrit votre propre code - vous avez prouvé votre point de vue.

J'admire ces mecs, ils ne t'ont pas renvoyé, ils ont essayé de t'expliquer. De manière très courtoise. Ils n'ont pas besoin de vous prouver quoi que ce soit - ils se suffisent à eux-mêmes. Saber a été banni ici plus que quiconque. Dick a été banni aussi. Igor est la justesse même, et il apprend constamment. Mais nous avons un dialogue très fructueux avec eux. Contrairement à vous.

Si les gens ici ne comprennent pas ce sur quoi ils écrivent, je suis désolé, ce n'est pas mon problème, c'est le problème de ceux qui ne fument pas le sujet de conversation.

 
Slava:

L'option non bloquante ne fonctionne pas. Pour des raisons purement objectives.

Pouvez-vous préciser ces raisons objectives ?