Erros, bugs, perguntas - página 2811

 
fxsaber:

Pode sugerir um programa de terceiros que possa monitorizar o congelamento da CPU?

Quero excluir (ou confirmar) esta hipótese de travagem MT5 em funcionamento real.

Como devo controlar exactamente? Por processo, a melhor maneira de ver a história recente é ProcessExplorer.

 
Stanislav Korotky:

Como é monitorizado exactamente? Por processo, ProcessExplorer mostra melhor uma história recente.

Vejo que alguma função no MQL foi executada durante dezenas ou centenas de milissegundos quando deveria estar dentro de um. Quero saber se tudo estava a congelar na máquina naquele momento ou se é uma questão do MT5.

 
fxsaber:

Vejo que alguma função no MQL funcionava durante dezenas ou centenas de milissegundos quando deveria funcionar num só. Quero compreender se nesse momento tudo na máquina congelou ou se se trata de um problema do MT5.

Aparentemente, o programa tem de saber lidar com o temporizador e se o tempo desde o corte até ao corte for mais longo, todo o sistema é congelado. Os servidores têm um tal cão de guarda, pode ser software, mas os servidores são normalmente reiniciados em tal caso.

 

Directiva a la:

#property tester_file "abc.csv"

deixou de funcionar - o ficheiro existe mas não é enviado aos agentes. Não há erros nos registos. Havia um problema deste tipo?

PS. Reiniciado ao executá-lo a partir de debaixo do depurador. O ficheiro começou a pegar. Maravilhoso.

 
fxsaber:

Vejo que alguma função no MQL funcionava durante dezenas ou centenas de milissegundos quando deveria funcionar num só. Quero compreender se nesse momento tudo na máquina congelou ou se foi um problema com o MT5.

Tente aumentar ao máximo a prioridade dos processos MT5. Com os resultados (os congelamentos desaparecem ou permanecem) poderá julgar.

Além disso, certificar-se de que todos os controladores de hardware críticos estão actualizados.

 
fxsaber:

Pode sugerir um programa de terceiros que possa monitorizar o congelamento da CPU?

Quero excluir (ou confirmar) esta hipótese de travagem MT5 em funcionamento real.

LatencyMon vale a pena tentar

 
Erro durante a execução:
enum E {
        e1 = 0,
        e2 = 1,
        e3 = 0
};
void OnStart()
{
        Print( "\"", EnumToString(e3), "\"" );
}

Resultado: "e1

Esperado: "e3".

pelo menos não é claro porque e1 é melhor do que e3
 
A100:
Erro durante a execução:

Resultado: "e1

Esperado: "e3".

Pelo menos não é claro porque e1 é melhor do que e3
Também não é claro porque é que o e3 é melhor. A situação é discutível em qualquer caso
 
Alexey Navoykov:
Em qualquer caso, a situação é discutível.

Neste caso, é melhor, pelo menos, que seja explicitamente declarado

EnumToString(e3)

Se existem várias soluções e todas são equivalentes, ou todas devem ser representadas por "E::e1:e3" (todos os identificadores), ou o erro que é produzido quando nenhuma solução é melhor que outro "E::0" (valor em vez de identificador)

 
fxsaber:

Procure o tópico de OS para áudio. Ao construir um sistema áudio baseado em PC, é dada muita atenção à bitperfectness. Isto é especialmente verdade em relação ao temporizador do sistema e às prioridades do processo. São criados OS especiais minimalistas para deixar um número mínimo de processos, desactivar wifi e outros equipamentos desnecessários, aumentar a prioridade do jogador, definir a frequência máxima do temporizador, etc., etc.

Verificador de Latência DPC
Razão: