Errori, bug, domande - pagina 2811

 
fxsaber:

Puoi suggerire un programma di terze parti che possa monitorare i blocchi della CPU?

Voglio escludere (o confermare) questa ipotesi di frenata di MT5 nel funzionamento reale.

Come dovrei monitorare esattamente? Per processo, il modo migliore per vedere la storia recente è ProcessExplorer.

 
Stanislav Korotky:

Come viene monitorato esattamente? Per processo, ProcessExplorer mostra una storia recente migliore.

Vedo che qualche funzione in MQL è stata eseguita per decine o centinaia di millisecondi quando dovrebbe essere entro uno. Voglio sapere se tutto si è bloccato sulla macchina in quel momento o è un problema di MT5.

 
fxsaber:

Vedo che qualche funzione in MQL è stata eseguita per decine o centinaia di millisecondi quando dovrebbe essere eseguita in uno. Voglio capire se in quel momento tutto sulla macchina si è bloccato o è un problema di MT5.

Apparentemente, il programma deve sapere come gestire il timer e se il tempo da cut-off a cut-off è più lungo, l'intero sistema viene congelato. I server hanno un tale cane da guardia, può essere software, ma i server sono di solito riavviati in un caso del genere.

 

Direttiva a la:

#property tester_file "abc.csv"

ha smesso di funzionare - il file esiste ma non viene inviato agli agenti. Non ci sono errori nei log. C'era un tale problema?

PS. Riavviato eseguendolo da sotto il debugger. Il file ha iniziato a raccogliere. Meraviglioso.

 
fxsaber:

Vedo che qualche funzione in MQL è stata eseguita per decine o centinaia di millisecondi quando dovrebbe essere eseguita in uno. Voglio capire se in quel momento tutto sulla macchina si è bloccato o è stato un problema con MT5.

Prova ad aumentare la priorità dei processi di MT5 al massimo. Con i risultati (i blocchi scompaiono o rimangono) potrai giudicare.

Inoltre, assicuratevi che tutti i driver hardware critici siano aggiornati.

 
fxsaber:

Puoi suggerire un programma di terze parti che possa monitorare i blocchi della CPU?

Voglio escludere (o confermare) questa ipotesi di frenata di MT5 nel funzionamento reale.

LatencyMon vale la pena di provare

 
Errore durante l'esecuzione:
enum E {
        e1 = 0,
        e2 = 1,
        e3 = 0
};
void OnStart()
{
        Print( "\"", EnumToString(e3), "\"" );
}

Risultato: "e1"

Atteso: "e3".

almeno non è chiaro perché e1 sia meglio di e3
 
A100:
Errore durante l'esecuzione:

Risultato: "e1"

Atteso: "e3".

Almeno non è chiaro perché e1 sia meglio di e3
Né è chiaro perché l'e3 sia migliore. La situazione è irrilevante in ogni caso
 
Alexey Navoykov:
Nessuno dei due è migliore dell'e3. La situazione è irrilevante in ogni caso

In questo caso è meglio almeno che sia dichiarato esplicitamente

EnumToString(e3)

Se ci sono diverse soluzioni e tutte sono equivalenti, o tutte devono essere rappresentate da "E::e1:e3" (tutti gli identificatori), o l'errore che viene prodotto quando nessuna soluzione è migliore di un'altra "E::0" (valore invece di identificatore)

 
fxsaber:

Cercate l'argomento del sistema operativo per l'audio. Quando si costruisce un sistema audio basato su PC, si presta molta attenzione alla perfezione dei bit. Questo è particolarmente vero per il timer di sistema e le priorità dei processi. Speciali build minimaliste del sistema operativo vengono create per lasciare un numero minimo di processi, disabilitare il wifi e altre apparecchiature non necessarie, aumentare la priorità del lettore, impostare la frequenza massima del timer, ecc.

Controllore di latenza DPC