MT5 - высокая загрузка процессора

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
upx
12
upx  

Добрый день.

Давно уже замечаю высокую загрузку процессора MetaTrader'ом 5. Доходит до 100%, при этом на процесс terminal64.exe приходится 40-70%, при ощутимой загрузке ядра. Ни один робот не запущен, и даже ни один график не открыт. Открыт обзор рынка, символов выбрано много: 80-100. Открытых ордеров тоже может быть много (до 250) на многих символах, но бывает высокая загрузка и при полном отсутствии ордеров. Не удается даже запустить отладчик: робот не успевает проинициализироваться за 5 секунд и завершает работу. Процессор, правда, слабый, но MT4 в этом смысле работает явно лучше. Выглядит это примерно так:



Версия:
Terminal    MetaTrader 5 x64 build 1643 started (MetaQuotes Software Corp.)
Terminal    Windows 7 Professional (x64 based PC), IE 11.00, UAC, Intel Celeron  900 @ 2.20GHz, RAM: 1748 / 4028 Mb, HDD: 4302 / 46790 Mb, GMT+03:00

Заглянул ProcessExplorer'ом, когда процессор нагружается, на первое место выходит поток terminal64.exe+0x17242cd (обычно он стоит внизу):

В стеке при этом часто попадается примерно это:



Предполагаю слишком частое обращение к функциям прорисовки. Активных символов много, соответственно при каждом тике с каждого символа может где-то какая-то цифра измениться. В подтверждение замечено, что если окно MT5 свернуть, загрузка процессора резко падает. То же самое - если закрыть в нем окна «Обзор рынка» и «Инструменты».

А еще проблема высокой загрузки возникает при запуске на удаленном сервере (через удаленный рабочий стол), там процессор помощнее и сам MT5 там не зависает, но сильно нагружает процессор клиент удаленного рабочего стола (процесс mstsc.exe). Не знаю кто здесь больше виноват: MT5 или mstsc.exe, но все проходит, если окно MT5 свернуть.

Собственно, оно и так видно, что цены Bid и Ask в обзоре рынка, и суммы цен прибылей, меняются с большой скоростью, хотя более чем 3-5 раз в секунду их перерисовывать смысла нет: все равно среагировать не успеешь. Соответственно, есть пожелание к разработчикам: сделать ограничение по скорости обновления данных на экране: а то если в «жаркое» время суток с 50-80 символов полезет по 3-5 тиков в секунду (это сейчас столько, а дальше темпы будут только расти), то частота обновления запросто может стать запредельной.

MetaQuotes
Админ
26931
Renat Fatkhullin  

Поищем причину и попробуем снизить нагрузку.

Но Intel Celeron  900 с 1 ядром - это жестоко конечно. Там не только Метатрейдер, а любая программа с запросами будет тормозить.

upx
12
upx  
Renat Fatkhullin:

Поищем причину и попробуем снизить нагрузку.

Но Intel Celeron  900 с 1 ядром - это жестоко конечно. Там не только Метатрейдер, а любая программа с запросами будет тормозить.

900 - это не частота, а модель процессора. Частота - 2.2 GHz. А что, неужели мало?
MetaQuotes
Админ
26931
Renat Fatkhullin  
upx:
900 - это не частота, а модель процессора. Частота - 2.2 GHz. А что, неужели мало?

Мало конечно. Ибо 1 ядро - это уже приговор для современного софта. Обратите внимание на красную линию в CPU - это время ядра операционки, около 30%. Там и операционка неслабо в своем ядре потребляет.

Но в любом случае будем смотреть, воспроизводить и оптимизировать. Мы стараемся делать очень экономичные решения, чтобы они работали на максимально широком охвате оборудования.

xFFFF
65
xFFFF  
upx:
900 - это не частота, а модель процессора. Частота - 2.2 GHz. А что, неужели мало?

Этот проц - супер тормоз! Он даже хуже современных Атомов.

Aleksey Vyazmikin
15575
Aleksey Vyazmikin  
upx:

Добрый день.

Давно уже замечаю высокую загрузку процессора MetaTrader'ом 5. Доходит до 100%, при этом на процесс terminal64.exe приходится 40-70%, при ощутимой загрузке ядра. Ни один робот не запущен, и даже ни один график не открыт. Открыт обзор рынка, символов выбрано много: 80-100. Открытых ордеров тоже может быть много (до 250) на многих символах, но бывает высокая загрузка и при полном отсутствии ордеров. Не удается даже запустить отладчик: робот не успевает проинициализироваться за 5 секунд и завершает работу. Процессор, правда, слабый, но MT4 в этом смысле работает явно лучше. Выглядит это примерно так:



Версия:
Terminal    MetaTrader 5 x64 build 1643 started (MetaQuotes Software Corp.)
Terminal    Windows 7 Professional (x64 based PC), IE 11.00, UAC, Intel Celeron  900 @ 2.20GHz, RAM: 1748 / 4028 Mb, HDD: 4302 / 46790 Mb, GMT+03:00

Заглянул ProcessExplorer'ом, когда процессор нагружается, на первое место выходит поток terminal64.exe+0x17242cd (обычно он стоит внизу):

В стеке при этом часто попадается примерно это:



Предполагаю слишком частое обращение к функциям прорисовки. Активных символов много, соответственно при каждом тике с каждого символа может где-то какая-то цифра измениться. В подтверждение замечено, что если окно MT5 свернуть, загрузка процессора резко падает. То же самое - если закрыть в нем окна «Обзор рынка» и «Инструменты».

А еще проблема высокой загрузки возникает при запуске на удаленном сервере (через удаленный рабочий стол), там процессор помощнее и сам MT5 там не зависает, но сильно нагружает процессор клиент удаленного рабочего стола (процесс mstsc.exe). Не знаю кто здесь больше виноват: MT5 или mstsc.exe, но все проходит, если окно MT5 свернуть.

Собственно, оно и так видно, что цены Bid и Ask в обзоре рынка, и суммы цен прибылей, меняются с большой скоростью, хотя более чем 3-5 раз в секунду их перерисовывать смысла нет: все равно среагировать не успеешь. Соответственно, есть пожелание к разработчикам: сделать ограничение по скорости обновления данных на экране: а то если в «жаркое» время суток с 50-80 символов полезет по 3-5 тиков в секунду (это сейчас столько, а дальше темпы будут только расти), то частота обновления запросто может стать запредельной.


Попробуйте уменьшить количество баров в окне.

Я так понял процессор мобильный?

Тут рейтинг есть https://www.notebook-center.ru/processor.html я для четверки ниже 500 стараюсь не брать - для 9 терминалов и 198 советников в совокупности...

Процессоры для ноутбуков :: Ноутбук-Центр
  • www.notebook-center.ru
Всем, кто хоть немного знаком с устройством ноутбука, известно, что главное в нем – не корпус, не клавиатура и даже не экран. Главное в любом ноутбуке - это процессор. От того, какой процессор для ноутбука вы выберете, будет зависеть работа всего лэптопа в целом. Данная страница содержит рейтинг процессоров для ноутбуков. В нем собраны описания...
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий