Caractéristiques du langage mql5, subtilités et techniques - page 95
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
Êtes-vous sûr d'avoir lu toute la question ?
...entre deux appels à GetMicrosecondsCount...
C'est ce que je dis. Le premier appel a lieu avant la synchronisation et le second après. La différence sera la même : le nombre réel de microsecondes + la correction de synchronisation.
C'est ce que je veux dire. Le premier appel est avant la synchronisation et le deuxième appel est après la synchronisation. La différence sera égale : le nombre réel de microsecondes + la correction de la synchronisation.
Maintenant, dites-moi la probabilité de correction du temps entre deux appels à GetMicrofsecondsCount ?
Si vous mesurez vraiment des microsecondes, la probabilité est proche de 0.
Et vous mesurez les microsecondes sur des intervalles de quelques secondes ou plus ? Pourquoi ? Spherocon dans le vide ?
Vous avez tort, j'ai spécifiquement cité le code ici utilisant WinApi. Exécutez-le, changez l'horloge dans le processus, et regardez le résultat.
Il n'est pas très clair comment mener un dialogue avec vous, si vos arguments sont basés sur des conjectures. Et vous ne considérez même pas nécessaire de prendre connaissance du déroulement de la discussion sur le sujet.
Maintenant, dites-moi la probabilité de correction du temps entre deux appels à GetMicrofsecondsCount ?
Si vous mesurez réellement des microsecondes, alors la probabilité est presque nulle.
Et vous mesurez les microsecondes en secondes ou plus ? Pourquoi ? Spherocon dans le vide ?
Je vous l'ai déjà dit, cette probabilité dépend de la période de synchronisation. Plus elle est courte, plus nous aurons de décalages, c'est-à-dire plus la probabilité est élevée. Et aussi de la distance entre les mesures voisines. Plus elle est longue, plus on touchera souvent le décalage. La probabilité est donc calculée en fonction de ces deux paramètres, et pas seulement avec un doigt dans le ciel.
Et pourquoi écrire en une seule fois des intervalles de secondes ? Et des intervalles de millisecondes ? Par exemple, tout ce qui est inférieur à 16 ms ne peut être mesuré qu'avec cette fonction. Et même 16-30 millisecondes doivent être mesurées avec cette fonction, sinon l'erreur sera trop grande.
S'il vous semble que ce sont des broutilles et que vous pouvez les ignorer, alors c'est votre opinion personnelle. Plus tôt, nous avons parlé ici de la fonction système standard QueryPerformanceCounter, qui fonctionne correctement, sans aucun décalage. Elle doit avoir été inventée pour une raison. Et d'ailleurs, Renat l'a déclarée ici pour une raison quelconque :
C'est comme ça qu'on compte les microsecondes.
Mais en fait, ce n'est pas le cas. Il s'agit du QueryPerformanceCounter.
C'est vous qui n'avez aucune idée du problème que vous avez soulevé.
Il n'y a pas de changement de temps dans QueryPerformanceCounter. Que voulez-vous dire ? Avez-vous exécuté le code dont je vous ai donné le lien ?
Après avoir vérifié la machine d'exécution du code MQL5, il s'est avéré que nous avions un schéma de comptage hybride dans GetMicrosecondCount:
Ce code est apparu en raison d'une tentative de réduire la surcharge du système sur l'appel de mesure du temps. Un des développeurs a exagéré.
Nous, personnellement, et Slava étions sûrs qu'un pur QueryPerformanceCounter fonctionnait. Et il y avait un tel code. Mais nous nous sommes trompés en raison de la présence d'un modèle hybride.
Maintenant, une simple QueryPerformanceFrequency + QueryPerformanceCounter fonctionnera.
En résumé : oui, nous nous sommes trompés à la fois dans l'implémentation de la fonction GetMicrosecondCount et dans la protection de son comportement.
Slava et moi, on s'excuse pour ça !Un rappel sur l'utilisation des phrases "devrait", explicitement ou implicitement. L'utilisation de "méta-citations devraient" au lieu de "veuillez considérer" est désormais inacceptable.
Veuillez considérer l'hypothèse selon laquelle, le plus souvent, lire entre les lignes n'a rien à voir avec ce que l'interlocuteur écrit.
Les rapports de bogue réels avec l'aide du forum et le fait de se jeter sur les MQ sont des choses incompatibles. Il est difficile d'imaginer une personne qui se transforme constamment en personne détestable et vice-versa.
IS 0 13:32:55.239 Trades '11391209': accepted exchange buy 1.00 AFKS at market DM 0 13:33:07.896 Trades '11391209': deal #265475900 buy 1.00 AFKS at 9.095 done (based on order #284425784) OD 0 13:33:07.898 Trades '11391209': order #284425784 buy 1.00 / 1.00 AFKS at 9.095 done in 12757.608 ms
Mes amis, pouvez-vous me dire à qui demander conseil - je veux comprendre comment travailler sur les différences de prix pour le même produit sur différentes bourses - je suis nouveau dans ce domaine, je veux comprendre. Je serais reconnaissant pour tout conseil - peut-être devrais-je écrire dans un autre fil ?
J'ai accès à plusieurs bourses étrangères, mais je ne comprends pas comment tout cela fonctionne.