Erreurs, bugs, questions - page 2222
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
Question.
Supposons que je travaille avec plusieurs symboles dans un Expert Advisor ou un indicateur, ou plutôt avec tous les symboles qui sont affichés dans la fenêtre Market Watch.
La tâche consiste à saisir le moment d'un nouveau tick sur l'un des symboles.
Pour l'instant, je ne vois que deux options :L'inconvénient de la première option est sa non-optimalité en termes de ressources et de pertinence des données. OnTimer va principalement marteler en idle, et quand il attrape une nouvelle citation, l'erreur de temps d'arrivée sera égale à la périodicité du timer.
L'inconvénient de la deuxième variante est la lourdeur, surtout s'il y a des dizaines de symboles.
Ai-je bien compris qu'il n'existe pas d'autres options (plus simples et plus élégantes) ? Ou (j'espère) ai-je tort ?
Question.
Supposons que je travaille avec plusieurs symboles dans un Expert Advisor ou un indicateur, ou plutôt avec tous les symboles qui sont affichés dans la fenêtre Market Watch.
La tâche consiste à saisir le moment d'un nouveau tick sur l'un des symboles.
Je ne vois que deux options pour l'instant :L'inconvénient de la première option est sa non-optimalité en termes de ressources et de pertinence des données. OnTimer va principalement marteler en idle, et quand il attrape une nouvelle citation, l'erreur de temps d'arrivée sera égale à la périodicité du timer.
L'inconvénient de la deuxième variante est la lourdeur, surtout s'il y a des dizaines de symboles.
Ai-je bien compris qu'il n'existe pas d'autres options (plus simples et plus élégantes) ? Ou (j'espère) ai-je tort ?
Peut-être que cela vous aidera ? https://www.metatrader5.com/ru/terminal/help/trading_advanced/custom_instruments
Instruments synthétiques avec cotations en temps réelLa plateforme de trading vous permet de créer des instruments financiers synthétiques - des instruments basés sur un ou plusieurs instruments existants. Il vous suffit de définir une formule pour calculer les cotations et la plateforme générera des ticks en temps réel pour l'instrument synthétique ainsi que l'historique de ses minutes.
Comment cela fonctionne
Vous créez un instrument synthétique et vous en définissez la formule.
La plateforme calculera ses ticks avec une fréquence de 10 fois par seconde (et seulement si le prix d'au moins un instrument de la formule change).
Peut-être que cela vous aidera ? https://www.metatrader5.com/ru/terminal/help/trading_advanced/custom_instruments
Instruments synthétiques avec cotations en temps réelLa plateforme de trading vous permet de créer des instruments financiers synthétiques - des instruments basés sur un ou plusieurs instruments existants. Il vous suffit de définir la formule de calcul des cotations et la plateforme générera les ticks de l'instrument synthétique en temps réel et créera son historique de minutes.
Comment cela fonctionne
Vous créez un instrument synthétique et vous en définissez la formule.
La plateforme calculera ses ticks avec une fréquence de 10 fois par seconde (et seulement si le prix d'au moins un instrument de la formule a changé).
Oui, bien sûr, cette variante a aussi le droit à la vie. Merci !
Mais, en fait, c'est la même chose que ma variante #1 avec une périodicité de timer de 100 ms et avec les mêmes inconvénients.
L'option 2 me semble plus rationnelle, cependant.
Au fait, je me suis souvenu que l'option 2 a déjà été discutée ici.
Oui, bien sûr, cette variante a aussi le droit à la vie. Merci !
Cependant, en substance, c'est la même chose que la variante #1 ci-dessus avec une période de temporisation de 100 ms.
Ne serait-il pas plus simple de faire un EA lié au symbole sur lequel il travaille. Ensuite, ouvrez tous les symboles et appliquez le modèle avec cet EA à chaque graphique.
Ne serait-il pas plus simple de faire un EA lié au symbole sur lequel il travaille. Ensuite, ouvrez tous les symboles, et pour chaque graphique, appliquez un modèle avec cet EA.
Il est clair que cela peut être fait. Le fait est que je ne sais pas quelque chose et qu'il est possible de retracer le moment exact de l'apparition de la cotation pour un autre symbole à travers le code d'un seul EA multi-devises.
Mais il semble que la variante 2 via des interruptions personnalisées soit la seule solution rationnelle.
Oui, il est clair que cela peut être fait de cette façon. La question est que je ne sais pas quelque chose, et qu'il est possible d'attraper le moment exact de l'arrivée de la cotation pour un autre symbole à travers le code d'un seul Conseiller Expert multi-devises.
Mais il semble que la variante 2 via des interruptions personnalisées soit la seule solution rationnelle.
Mise en œuvre.
Ai-je raison de supposer qu'il n'existe pas d'autres options (plus simples et plus élégantes) ? Ou (j'espère) ai-je tort ?
Minuteur en millisecondes + SymbolInfoTick() obtiendra le temps en millisecondes.
Mise en œuvre.
Я правильно понимаю, что других вариантов (более простых и изящных) не существует? Или (надеюсь) я не прав?
Minuterie en millisecondes + SymbolInfoTick() obtient le temps en millisecondes.
Alexey Kozitsyn:
Minuterie en millisecondes + SymbolInfoTick() obtenir le temps en millisecondes.
Objectivement, la variante avec interruptions utilisateur est plus raisonnable, car il n'est pas nécessaire d'organiser une boucle avec la coûteuse fonction SymbolInfoTick en permanence, même lorsque les cotations sont en sommeil, chargeant ainsi le processeur de temps mort. En outre, l'erreur de calcul d'un nouveau tick peut être égale à la périodicité du timer, et tous les ticks seront perdus entre l'exécution de OnTimer, si ces ticks étaient supérieurs à 1.
Oui, j'ai déjà donné ce lien à votre mise en œuvre dans le post 22214. Je le répète : je pense que c'est l'option la plus raisonnable jusqu'à présent. Et il semble qu'il n'y ait pas de meilleure mise en œuvre en termes de charge minimale du processeur et de pertinence du moment d'un nouveau tick.
Il y aura une fonctionnalité normale dans les services.