Caractéristiques du langage mql5, subtilités et techniques - page 102
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
Tu vas trop loin ! Tout d'abord, il passe par la file d'attente des messages. Deuxièmement, vous devez effectuer des conversions supplémentaires (aller et retour). En plus, il y a une certaine validation en cours.
À propos, vous ne devez pas spécifier explicitement la taille de la structure. Il y a une taille pour cela.
Peut-être avez-vous regardé un autre code.
HH la seule chose que je n'aime pas dans ma version : j'ai dû doubler la taille de la ligne pour contourner les zéros, car le zéro est perçu comme la fin de la ligne. Je sens au fond de moi qu'il existe une solution plus simple, mais je ne l'ai pas trouvée. Mais ça marche quand même plus vite.
SetWindowText/GetWindowText ne sont pas envoyés par des messages ?
Il n'y a pas de conversions aller-retour.
Bien sûr que oui. Qu'est-ce que c'est que cette agitation ?
SetWindowText/GetWindowText ne sont pas envoyés par des messages ?
Et vous parlez de messages Windows... Et alors ? Existe-t-il une alternative plus rapide pour échanger des données entre différents programmes dans le windos sans dll homebrew ?
Je comprends que vous ayez été offensé par mes paroles, que ma variante soit rapide. D'abord, je ne l'ai pas affirmé, je l'ai seulement suggéré. Deuxièmement, j'ai étayé mon hypothèse par un code de test, en le comparant auMemory Mapping.
Et si vous essayez de réfuter ne serait-ce qu'une supposition, ne fondez pas votre réfutation uniquement sur des déclarations. Je vous serai très reconnaissant si vous pouvez me dissuader et m'indiquer la mise en œuvre plus rapide de l'échange de données entre terminaux sans aucune dll auto-écrite.
Je n'exclus pas que la variante via le disque RAM soit beaucoup plus rapide. Mais il s'agit d'un sujet légèrement différent, car il nécessite l'installation d'un disque RAM et sa configuration.
Bien sûr. Mais c'est quoi cette danse avec des tambourins :
Tant pis pour les tambourins. C'est une banalité. Et cette banalité, d'ailleurs, est réalisée en 50-60 ns, alors que tout le bloc de réception de la structure tick est réalisé en 90 µs (90 000 ns.), c'est-à-dire que ces "diamants" n'occupent que 0,06 % du temps de réception du bloc de données. De plus, j'ai écrit que ce point ne me dérange que dans la perspective du doublement de la mémoire.
Et donc ma variante semble très pratique, simple et intelligente pour l'échange de petites structures de données.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Bibliothèques : HistoryTicks
Négociation Automatisée, 2018.03.29 11:09
Wow !
Je ne connaissais même pas les fonctions comme CryptEncode etCryptDecode. Merci !
Je vais y jeter un coup d'oeil.
À première vue, tout cela semble être de la haute technologie, mais d'une lenteur insensée. En effet, la fonction CryptEncode fonctionne deux ordres de grandeur plus lentement (microsecondes contre dizaines de nanosecondes) que ce que l'on a appelé ici des tambourins :
Je suppose que vous avez été offensé par le fait que je dise que ma version était rapide. D'abord, je ne l'ai pas affirmé, j'ai juste fait une supposition. Deuxièmement, j'ai étayé mon hypothèse par un code de test, en le comparant auMemory Mapping.
Je n'ai pas parlé de "rapidité" mais de"il peut être plus rapide que toutes les solutions existantes", et j'ai donc fait plusieurs remarques sans aucune attaque. Et ces remarques étaient tout à fait justes. Mais vous, pour une raison quelconque, vous commencez par le nier avec persistance ("peut-être avez-vous dû regarder un autre code"), puis vous vous lancez dans le "et alors ! Alorsséparons les mouches des escalopes.
Deuxièmement, en ce qui concerne MemoryMapping (plus précisément, son wrapper MQL), je n'ai jamais dit qu'il était rapide. De plus, dans le fil de discussion sur ce projet ici, j'ai signalé les bugs de l'auteur qui créent des décalages et comment les corriger. Donc, si vous devez tester quelque chose, testez-le dans sa forme native, et non sous la forme des mauvaises décisions de quelqu'un d'autre.
ZZY Mais à première vue, tout cela est de la haute technologie, mais d'une lenteur insensée, car la fonction CryptEncode est plus lente de deux ordres de grandeur (microsecondes contre dizaines de nanosecondes) que ce qu'on appelle ici des tambourins :
A quoi sert la vitesse ?
Je ne parle pas de "rapidité", mais de"cela peut être plus rapide que toutes les solutions existantes", et j'ai donc fait quelques remarques sans aucune attaque. Et ces remarques étaient tout à fait justes. Mais pour une raison quelconque, vous commencez par nier obstinément ("peut-être avez-vous regardé un autre code"), puis vous vous mettez dans la position "et alors ! Alorsséparons les mouches des escalopes.
Premièrement, mon message a été écrit avant que vous n'ayez cité votre code de test. Deuxièmement, en ce qui concerne MemoryMapping (plus précisément, son wrapper MQL mentionné), je n'ai jamais prétendu qu'il fonctionnait rapidement. De plus, dans le fil de discussion sur ce projet ici, j'ai signalé les bugs de l'auteur qui créent des décalages et comment les corriger. Donc, si vous devez tester quelque chose, testez-le sous forme native, et non pas en prenant les mauvaises décisions de quelqu'un.
Ok. D'accord. C'était trop fort.
Je voulais juste dire que l'utilisation éventuelle de user32.dll au lieu de kernel32.dll pourrait s'avérer plus rapide lors de la liaison de deux terminaux via WinAPI, puisque toutes les implémentations que j'ai rencontrées utilisaient kernel32.dll.
A quoi sert la vitesse ?
Je suis désolé, je n'ai pas compris la question.
Vous vous demandez pourquoi vous avez besoin de la vitesse du pont entre les terminaux.
Je suis désolé, je n'ai pas compris la question.
Vous vous demandez pourquoi vous avez besoin de la rapidité de l'échange de données entre les terminaux ?
Oui.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Particularités du langage mql5, trucs et astuces
Nikolai Semko, 2018.09.21 13:20
Mais jusqu'à présent, à première vue, tout cela est certes high-tech, mais follement lent, car la fonction CryptEncode est exécutée deux ordres de grandeur plus lentement(microsecondes contre dizaines de nanosecondes) que ce qu'on appelle ici des tambourins :