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

 

Добрый день.

Давно уже замечаю высокую загрузку процессора 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 тиков в секунду (это сейчас столько, а дальше темпы будут только расти), то частота обновления запросто может стать запредельной.

 

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

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

 
Renat Fatkhullin:

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

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

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

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

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

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

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

 
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
Всем, кто хоть немного знаком с устройством ноутбука, известно, что главное в нем – не корпус, не клавиатура и даже не экран. Главное в любом ноутбуке - это процессор. От того, какой процессор для ноутбука вы выберете, будет зависеть работа всего лэптопа в целом. Данная страница содержит рейтинг процессоров для ноутбуков. В нем собраны описания...
 
Lenovo Flex 2 15,8 ядер. максимально баров в окне 5000. Из индикаторов только Volumes. открыто чуть больше 10 графиков.  Сейчас воскресенье, тиков нет. Загрузка проца 75%, до 95%
До обновления такого не замечал
 
vponed:
Lenovo Flex 2 15,8 ядер. максимально баров в окне 5000. Из индикаторов только Volumes. открыто чуть больше 10 графиков.  Сейчас воскресенье, тиков нет. Загрузка проца 75%, до 95%
До обновления такого не замечал

Откройте Диспетчер задач Windows и посмотрите, какая именно программа грузит. Есть большая вероятность, что у Вас очень большая библиотека кодов, которая давно не компилировалась новыми билдами - поэтому терминал при включении включает фоновую компиляцию.

 
Vladimir Karputov:

Откройте Диспетчер задач Windows и посмотрите, какая именно программа грузит. Есть большая вероятность, что у Вас очень большая библиотека кодов, которая давно не компилировалась новыми билдами - поэтому терминал при включении включает фоновую компиляцию.

грузит metatraider5.exe
не очень то и большая библиотека
в общем, по вашей версии оно само пройдет

 
Vladimir Karputov:

Откройте Диспетчер задач Windows и посмотрите, какая именно программа грузит. Есть большая вероятность, что у Вас очень большая библиотека кодов, которая давно не компилировалась новыми билдами - поэтому терминал при включении включает фоновую компиляцию.

Вот кстати: после обновления на 2815 у меня этой перекомпиляции не происходит, хотя именно в этот раз она мне была бы нужна.

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

 
Проверено на собственном опыте. МТ5 тоже была адская загрузка процессора i5-8500 под 90%. Индикаторов всего 5 и без советников  Зависаний не было, но шум вентиляторов немного напрягал. Они то разгонялись, то замедлялись. это могло повлиять на их срок работы из-за износа.  Хотя на МТ4 с похожим наполнением все работало без проблем. Оказалось один из индикаторов был плохо скомпилирован и сильно нагружал ЦП. После некоторых изменений вводных данных индикатора, ЦП работает с нагрузкой около от 2% до 10% по МТ5 и тишина...)