Ошибки, баги, вопросы - страница 2811

 
fxsaber:

Подскажите стороннюю программу, которая может мониторить фризы CPU?

Хочу исключить (либо подтвердить) эту гипотезу тормозов MT5 в реальной работе.

Как именно мониторить? В разбивке по процессам лучше всего показывает свежую историю ProcessExplorer.

 
Stanislav Korotky:

Как именно мониторить? В разбивке по процессам лучше всего показывает свежую историю ProcessExplorer.

Вижу, что какая-то функция в MQL выполнялась десятки или сотни миллисекунд, когда должна укладываться в одну. Вот и хочу понять, в этот момент все на машине замирало или это проблема MT5.

 
fxsaber:

Вижу, что какая-то функция в MQL выполнялась десятки или сотни миллисекунд, когда должна укладываться в одну. Вот и хочу понять, в этот момент все на машине замирало или это проблема MT5.

Нужно видимо, что б программа умело работала с таймером, если время от отсечки до отсечки затрачено больше, то был фриз всей системы. На серверах есть такой вотч дог, он бывает программным - надо искать, но серваки ребутятся обычно в таком случае.

 

Директива а-ля:

#property tester_file "abc.csv"

перестала работать - файл существует, но на агенты не отправляется. Ошибок в логах нет. Была такая проблема?

PS. Передернул запуском из-под отладчика. Файл начал подхватываться. Чудеса.

 
fxsaber:

Вижу, что какая-то функция в MQL выполнялась десятки или сотни миллисекунд, когда должна укладываться в одну. Вот и хочу понять, в этот момент все на машине замирало или это проблема MT5.

попробуйте увеличить приоритет процессов МТ5 до максимального. по результатам (пропадут фризы или останутся) можно будет о чем то судить. если тормоза пропадут или существенно снизятся, то однозначно присутствует что-то, что душит работу терминала. 

убедитесь дополнительно, что все критичные драйвера железа в актуальном состоянии.

 
fxsaber:

Подскажите стороннюю программу, которая может мониторить фризы CPU?

Хочу исключить (либо подтвердить) эту гипотезу тормозов MT5 в реальной работе.

LatencyMon стоит попробовать

 
Ошибка при выполнении:
enum E {
        e1 = 0,
        e2 = 1,
        e3 = 0
};
void OnStart()
{
        Print( "\"", EnumToString(e3), "\"" );
}

Результат:   "e1"

Ожидалось: "e3"

по крайней мере не понятно, чем e1 лучше, чем e3
 
A100:
Ошибка при выполнении:

Результат:   "e1"

Ожидалось: "e3"

по крайней мере не понятно, чем e1 лучше, чем e3
Так же как и чем e3 лучше.  Ситуация спорная в любом случае
 
Alexey Navoykov:
Так же как и чем e3 лучше.  Ситуация спорная в любом случае

В данном случае лучше хотя бы тем, что оно явно указано

EnumToString(e3)

Если несколько решений и все равнозначные, то либо все должны быть представлены в результате "E::e1:e3" (все идентификаторы), либо ошибка, которая выдается, когда нет ни одного решения лучше, чем другое "E::0" (значение вместо идентификатора)

 
fxsaber:

Поищите на тему ОС для аудио. При построении аудиосистемы на базе ПК много внимания уделяется bitperfect'ности. В первую очередь это относится к системному таймеру и приорететам процессов. Создаются специальные минималистичные сборки ОС, где оставляют минимальное количество процессов, отключают wifi и прочее ненужное оборудование, повышают преоритет плеера, выставляют максимальную частоту таймера и тд. и тп.

DPC Latency Checker
Причина обращения: