MT5 et la vitesse en action - page 53

 
Roman:

En l'état actuel des choses, j'envoie une requête au serveur, à une certaine fréquence, sans délai.

Plus de 16 ms ? Quel type de serveur ? Quel est l'intérêt d'envoyer des ping si fréquemment ?

 
fxsaber:

J'ai envoyé ça au PM.

Si vous appuyez sur CTRL+BREAK pendant la compilation à 22%, ME se bloque.

 
Andrey Khatimlianskii:

Plus de 16 ms ? Quel est le type de serveur ? Quel est l'intérêt de ces pings si fréquents ?

Il ne s'agit pas de 16ms, mais d'une boucle sans délai.
Il lit un socket et ping heartbeat.

 
Roman:

Il ne s'agit pas de 16ms, mais d'une boucle sans délai.
Il lit un socket et ping heartbeat.

Je l'ai, je lis une prise.

Alors pourquoi glisser ? Ou bien lire une prise sans délai est-il une mauvaise chose ?

Je n'arrive pas à comprendre l'intérêt d'un battement de coeur à ce rythme (

 
Andrey Khatimlianskii:

Je l'ai, je lis une prise.

Pourquoi glisser alors ? Ou bien lire une prise sans délai est-il une mauvaise chose ?

Je n'arrive pas à comprendre l'intérêt d'un battement de coeur à ce rythme (

Alors à quoi sert une macro ?
Le socket est lu dans la boucle sans délai, etle heartbeat est exécuté avec une fréquence définie dans la même boucle sans délai.
Le bordereau n'a rien à voir avec cela, j'ai écrit un bordereau dans le cadre de ce projet, il peut s'avérer utile.
Le but de la macro est de définir la fréquence d'exécution de certains codes dans la boucle sans aucun délai.
Pas nécessairementun battement de cœur. Vous pouvez créer des macros avec des
fréquences différentes et elles seront exécutées différemment dans la boucle sans aucun délai.
Par exemple, Nikolaï a écrit une classe pour OnTimer. https://www.mql5.com/ru/code/31306
Et ici pour la boucle, qui peut descendre jusqu'aux microsecondes.

Multi Timer
Multi Timer
  • www.mql5.com
Данная библиотека Вам пригодится, когда Вам необходимы несколько таймеров с независимой обработкой и неконфликтующие между собой. Для работы с данной библиотекой важно запомнить следующие правила: В теле вашей программы не должно быть функции OnTimer , т.к. эта функция уже присутствует в файле Timer.mhq Не надо создавать никаких экземпляров...
 
Roman:

Alors la macro sert à quoi ?
Le socket est lu dans une boucle sans délai, etle heartbeat est exécuté à une certaine fréquence dans la même boucle sans délai.
Le bordereau n'a rien à voir avec cela, j'ai écrit que j'ai aussi écrit un bordereau, cela peut être utile.
Le but de la macro est de définir la fréquence d'exécution de certains codes dans la boucle sans aucun délai.
Pas nécessairementun battement de cœur. Vous pouvez créer des macros avec des
fréquences différentes et elles seront exécutées différemment dans la boucle sans aucun délai.
Par exemple, Nikolaï a écrit une classe pour OnTimer. https://www.mql5.com/ru/code/31306
Et ici pour la boucle, qui peut descendre jusqu'aux microsecondes.

C'est donc de ça qu'il s'agissait :

while ( true )
{
   static ulong prev = 0;
   if ( GetMicrosecondsCount() - prev >= InpPause_msc )
   {
     prev = GetMicrosecondsCount();
     // do something
   }

?


Alors on ne sait toujours pas à quoi sert le glissement de la microseconde. Apparemment, c'est juste un "extra". Eh bien, qu'il en soit ainsi)

 
Andrey Khatimlianskii:

C'est donc de ça qu'il s'agissait :

?

Alors on ne sait toujours pas pourquoi la microseconde glisse. Apparemment, c'est juste un "extra". Eh bien, qu'il en soit ainsi)

Vous pouvez aussi l'écrire de cette façon. Je l'ai juste fait à travers un interrupteur et une macro.
Dans votre exemple, il y a deux appels à GetMicrosecondsCount alors que dans le mien, il n'y en a qu'un.
. Oui, le glissement est là parce qu'il peut s'avérer utile dans cette boucle si un glissement d'une microseconde seulement est nécessaire.
Juste le fait que le glissement de microseconde est possible.

 
Andrey Khatimlianskii:

Je l'ai, je lis une prise.

Pourquoi glisser alors ? Ou bien lire une prise sans délai est-il une mauvaise chose ?

Je ne peux pas comprendre la signification d'un battement de coeur avec une telle fréquence (

Dans ce cas, le glissement n'est pas du tout nuisible. Parce que cela donne la priorité à un autre fil et ralentit votre propre fil.

 
Roman:

Eh bien, vous pourriez l'écrire comme ça. Je viens de le faire avec l'interrupteur et la macro.
Et dans votre exemple, il y a deux appels à GetMicrosecondsCount, dans le mien il n'y en a qu'un.
Et oui, le glissement aussi, si le glissement de microseconde est d'une quelconque utilité dans cette boucle.
Le simple fait qu'un glissement d'une microseconde soit possible.

Pas possible

 
Slava:

Impossible

OK, laissez-moi reformuler. Dans les limites du mql, c'est à peu près possible, selon la vitesse d'horloge du processeur.
Qu'en est-il du PWM ? -Un signal d'impulsion de fréquence constante et de rapport cyclique variable.
N'y a-t-il pas une constante ?

Raison: