MT5 y la velocidad en acción - página 53

 
Roman:

Tal y como está, estoy haciendo ping al servidor, con una frecuencia determinada en el tiempo sin retardo.

¿Más de 16 ms? ¿Qué tipo de servidor? ¿Qué sentido tiene hacer ping con tanta frecuencia?

 
fxsaber:

Envié esto al PM.

Si se pulsa CTRL+BREAK mientras se compila al 22%, ME se cuelga.

 
Andrey Khatimlianskii:

¿Más de 16 ms? ¿Qué tipo de servidor es? ¿Qué sentido tienen estos pings tan frecuentes?

El punto no es 16ms, es un bucle sin retardo.
Lee un socket y hace un ping a los latidos del corazón.

 
Roman:

El punto no es 16ms, es un bucle sin retardo.
Lee un socket y hace un ping a los latidos del corazón.

Lo tengo, leyendo un enchufe.

Entonces, ¿por qué resbalar? ¿O es que leer el zócalo sin demora es algo malo?

No puedo entender el sentido de los latidos del corazón a este ritmo (

 
Andrey Khatimlianskii:

Lo tengo, leyendo un enchufe.

Entonces, ¿por qué resbalar? ¿O es que leer el zócalo sin demora es algo malo?

No puedo entender el sentido de los latidos del corazón a este ritmo (

¿Para qué sirve una macro?
La toma se lee en el bucle sin retardo, yel latido se ejecuta con la frecuencia definida en el mismo bucle sin retardo.
El deslizamiento no tiene nada que ver, escribí un deslizamiento como parte de él, puede ser útil.
El objetivo de la macro es establecer la frecuencia de ejecución de algún código en el bucle sin ningún retraso.
No necesariamenteel latido del corazón. Puedes hacer cualquier macros con diferente
frecuencia y se ejecutarán de forma diferente en el bucle sin ningún retraso.
Por ejemplo, Nikolai escribió una clase para OnTimer. https://www.mql5.com/ru/code/31306
Y aquí para el bucle, que puede bajar a microsegundos.

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

Entonces, ¿la macro es para qué?
La toma de corriente se lee en un bucle sin retardo, yel latido se ejecuta con cierta frecuencia en el mismo bucle sin retardo.
El resbalón no tiene nada que ver, yo también escribí un resbalón, puede ser útil.
El objetivo de la macro es establecer la frecuencia de ejecución de algún código en el bucle sin ningún retraso.
No necesariamenteel latido del corazón. Puedes hacer cualquier macros con diferente
frecuencia y se ejecutarán de forma diferente en el bucle sin ningún retraso.
Por ejemplo, Nikolai escribió una clase para OnTimer. https://www.mql5.com/ru/code/31306
Y aquí para el bucle, que puede bajar a microsegundos.

Así que de eso se trataba:

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

?


Entonces todavía no está claro para qué sirve el deslizamiento del microsegundo. Aparentemente, es sólo un "extra". Bueno, que sea )

 
Andrey Khatimlianskii:

Así que de eso se trataba:

?

Entonces todavía no está claro por qué el deslizamiento del microsegundo. Aparentemente, es sólo un "extra". Bueno, que sea )

Bueno, también puedes escribirlo así. Lo hice a través de un interruptor y una macro.
En tu ejemplo hay dos llamadas a GetMicrosecondsCount mientras que en el mío hay una.
Sí, así que el deslizamiento de microsegundos puede ser útil en este bucle.
Sólo el hecho de que el deslizamiento de microsegundos es posible.

 
Andrey Khatimlianskii:

Lo tengo, leyendo un enchufe.

¿Por qué resbalar entonces? ¿O es que leer el enchufe sin demora es algo malo?

No puedo entender el significado de los latidos del corazón con tanta frecuencia (

En este caso, el deslizamiento es perjudicial en absoluto. Porque da prioridad a otro hilo y ralentiza el tuyo.

 
Roman:

Bueno, podrías escribirlo así. Sólo lo hice con switch y macro.
Y en tu ejemplo hay dos llamadas a GetMicrosecondsCount, en el mío hay una.
Y sí, el deslizamiento también, si es que el deslizamiento de microsegundos sirve de algo en este bucle.
Sólo el hecho de que un deslizamiento de microsegundos sea posible.

No es posible

 
Slava:

Imposible

Vale, déjame decirlo de otra manera. Dentro de mql más o menos posible, dependiendo de la velocidad de reloj del procesador.
¿Y el PWM? -Una señal de impulso de frecuencia constante y ciclo de trabajo variable.
¿No establece una constante?

Razón de la queja: