MT5 e la velocità in azione - pagina 53

 
Roman:

Così com'è, sto pingando il server, ad una certa frequenza, senza alcun ritardo.

Più di 16 ms? Che tipo di server? Qual è lo scopo del ping così frequente?

 
fxsaber:

Inviato questo al PM.

Se premete CTRL+BREAK mentre compilate al 22%, ME si blocca.

 
Andrey Khatimlianskii:

Più di 16 ms? Che tipo di server è? Che senso ha un ping così frequente?

Il punto non è 16ms, è un loop senza ritardo.
Legge un socket e fa il ping del battito cardiaco.

 
Roman:

Il punto non è 16ms, è un loop senza ritardo.
Legge un socket e fa il ping del battito cardiaco.

Capito, leggere una presa.

Allora perché scivolare? O leggere la presa senza indugio è una cosa negativa?

Non riesco a capire il senso del battito cardiaco a questo ritmo (

 
Andrey Khatimlianskii:

Capito, leggere una presa.

Perché scivolare allora? O leggere la presa senza indugio è una cosa negativa?

Non riesco a capire il senso del battito cardiaco a questo ritmo (

Quindi a cosa serve una macro?
La presa viene letta in un ciclo senza ritardo, e l'heartbeat viene eseguito con una frequenza definita nello stesso ciclo senza ritardo.
Slip non ha niente a che fare con questo, ho scritto uno slip come parte di esso, può tornare utile.
Lo scopo della macro è di impostare la frequenza di esecuzione di alcuni codici nel ciclo senza alcun ritardo.
Non necessariamenteil battito cardiaco. Potete fare qualsiasi macro con
frequenza diversa e saranno eseguite in modo diverso nel ciclo senza alcun ritardo.
Per esempio, Nikolai ha scritto una classe per OnTimer. https://www.mql5.com/ru/code/31306
E qui per il ciclo, che può scendere a microsecondi.

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

Quindi la macro a cosa serve?
Il socket viene letto in un ciclo senza ritardo, e l'heartbeat viene eseguito ad una certa frequenza nello stesso ciclo senza ritardo.
Slip non c'entra niente, ho scritto che ho scritto anche uno slip, può tornare utile.
Lo scopo della macro è di impostare la frequenza di esecuzione di alcuni codici nel ciclo senza alcun ritardo.
Non necessariamenteil battito cardiaco. Potete fare qualsiasi macro con
frequenza diversa e saranno eseguite in modo diverso nel ciclo senza alcun ritardo.
Per esempio, Nikolai ha scritto una classe per OnTimer. https://www.mql5.com/ru/code/31306
E qui per il ciclo, che può scendere a microsecondi.

Ecco di cosa si trattava:

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

?


Poi non è ancora chiaro a cosa serva il microsecondo di slittamento. A quanto pare, è solo "extra". Beh, che lo sia)

 
Andrey Khatimlianskii:

Ecco di cosa si trattava:

?

Allora non è ancora chiaro il motivo del microsecondo di slittamento. A quanto pare, è solo "extra". Beh, che lo sia)

Beh, si può scrivere anche così. L'ho fatto attraverso un interruttore e una macro.
Nel tuo esempio ci sono due chiamate a GetMicrosecondsCount mentre nel mio ce n'è una.
Sì, quindi lo slittamento dei microsecondi può tornare utile in questo ciclo.
Solo il fatto che lo slittamento di microsecondi è possibile.

 
Andrey Khatimlianskii:

Capito, leggere una presa.

Perché scivolare allora? O leggere la presa senza indugio è una cosa negativa?

Non riesco a capire il significato del battito cardiaco con tale frequenza (

In questo caso lo slittamento non è affatto dannoso. Perché dà la priorità a un altro thread e rallenta il proprio thread.

 
Roman:

Beh, si potrebbe scrivere così. L'ho appena fatto con switch e macro.
E nel tuo esempio ci sono due chiamate a GetMicrosecondsCount, nel mio ce n'è una.
E sì, anche lo slittamento, se lo slittamento dei microsecondi è di qualche utilità in questo ciclo.
Solo il fatto stesso che uno slittamento di un microsecondo è possibile.

Non è possibile

 
Slava:

Impossibile

Ok, lasciami riformulare. Entro mql approssimativamente possibile, a seconda della velocità di clock del processore.
Che dire del PWM? -Un segnale a impulsi di frequenza costante e duty cycle variabile.
Non imposta una costante?