MT5 и скорость в боевом исполнении - страница 39

 
Igor Makanu:

как вариант, а можно запустить ЕА в виде сервиса ? - единственное неудобство - не будет события OnTick()

Сервисом не пробовал и, почти уверен, не буду в ближайшее время. Все же советник умеет реагировать на горячие клавиши и некоторые объекты на чарте. Плюс что-то может вывести для информации на чарт.

 
fxsaber:

Это и имел в виду.

С русским у меня плохо.

Это интересно, а если терминал сворачивать просто, то нагрузка снижается?

 
fxsaber:

Смотрю, что даже мои теперь вылизанные в производительности боты работают так, что CPU Терминала 15%. А теперь лайфхак!

  • Закрываем Обзор рынка (CTRL+M) - в нем только торгуемые символы.
  • Закрываем таблицу с текущими позами (CTRL+T).
  • Минимизируем все чарты.

Вуаля, CPU Терминала 2.5%! Разгружайте свои VPS. Если у кого-то еще какие действенные рекомендации, дайте знать.


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

Можно просто свернуть терминал, эффект тот же.

 
Aleksey Vyazmikin:

Это интересно, а если терминал сворачивать просто, то нагрузка снижается?

Откройте диспетчер задач при открытом терминале.
Определите примерную нагрузку ЦП, сверните терминал.
Циферки нагрузки должны уменьшится.
У меня нагрузка падает в 0 - 1%.

 
Roman:

Откройте диспетчер задач при открытом терминале.
Определите примерную нагрузку ЦП, сверните терминал.
Циферки нагрузки должны уменьшится.
У меня нагрузка падает в 0 - 1%.

У меня это не помогает Windows 7.

 
fxsaber:

Смотрю, что даже мои теперь вылизанные в производительности боты работают так, что CPU Терминала 15%. А теперь лайфхак!

  • Закрываем Обзор рынка (CTRL+M) - в нем только торгуемые символы.
  • Закрываем таблицу с текущими позами (CTRL+T).
  • Минимизируем все чарты.

Вуаля, CPU Терминала 2.5%! Разгружайте свои VPS. Если у кого-то еще какие действенные рекомендации, дайте знать.


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

F11 не помогает?

для арбитража так и делал, все лишнее сворачивал

 
Maxim Dmitrievsky:

F11 не помогает?

Чарты не сворачивает.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: Benchmark

fxsaber, 2020.10.01 23:49

2020.10.02 00:45:14.113 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 878 mсs.
2020.10.02 00:45:14.114 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 943 mсs.
2020.10.02 00:45:14.114 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 297 mсs.
2020.10.02 00:45:14.116 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 1787 mсs.
2020.10.02 00:45:14.116 Alert: Time[Test9.mq5 35 in IsInvisible: ::ChartNext(Chart)] = 2 mсs.
2020.10.02 00:45:14.117 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 980 mсs.
2020.10.02 00:45:14.117 Alert: Time[Test9.mq5 35 in IsInvisible: ::ChartNext(Chart)] = 2 mсs.
2020.10.02 00:45:14.117 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 59 mсs.
2020.10.02 00:45:14.118 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 803 mсs.
2020.10.02 00:45:14.119 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 1059 mсs.

CHART_IS_MAXIMIZED тормозит для чужих чартов. Баг-репорт готов! С библиотекой это было очень просто.

 
fxsaber:

Чарты не сворачивает.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132

#define WM_SYSCOMMAND 0x0112
#define SC_MINIMIZE   0xF020

// Сворачивает все окна.
void MinimizeAllCharts()
{
  static const long ChartsHandle = user32::GetDlgItem(MTTESTER::GetTerminalHandle(), 0xE900);
  
  for (long handle = user32::GetWindow(ChartsHandle, GW_CHILD); handle; handle = user32::GetWindow(handle, GW_HWNDNEXT))
    user32::PostMessageW(handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
}

void OnStart()
{
  MinimizeAllCharts();
}

Горячая клавиша и готово. Как закрывать Обзор рынка и Инструменты - не разобрался. Будет полезно для всех, кто использует VPS, если покажут.

 
fxsaber:

Как закрывать Обзор рынка и Инструменты - не разобрался.

Зачем сворачивать чарты, если можно свернуть весь терминал?

Или все терминалы вместе. Горячая клавиша уже есть — Win+D.

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