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

 

Как получить количество доступной памяти?

        : TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE) = 32218
        : TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL) = 16301
        : TerminalInfoInteger(TERMINAL_MEMORY_TOTAL) = 32602
        : TerminalInfoInteger(TERMINAL_MEMORY_USED) = 384

Терминал выдает какую-то ерунду.

 
fxsaber:

После установки Win10 стал часто упираться в потолок по памяти (16 Гб). На Win7  с таким не сталкивался.

Запущено всего пять вкладок браузера, мессенджер и MT5, но диспетчер задач показывает, что занято 9 Гб.

Что с этим Win10 не так? Win7-потребление всегда соответствовало тому, что запущено.


После рестарта Win10 занимает 1 Гб. Понятно, что MT5 не высвобождает память, но 9 Гб - слишком много на почти пустой машине.

Почитайте про новый менеджер памяти Windows 10.

Его стратегия - кешировать, использовать максимум и удерживать, пока кто-то не запросит память. И это правильно. Поэтому теперь практически нельзя ориентироваться на «свободную» и «занятую» память - это фейк.

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

 
fxsaber:

Как получить количество доступной памяти?

Терминал выдает какую-то ерунду.

Вы забыли про 16 гб(судя по всему) виртуальной памяти.

Терминал четко сказал - физической установлено 16 гб, а всего доступно 32 гб. Показатели занятой и свободной памяти - заведомый фейк.

Хотя в memory available надо бы писать пусть даже заведомый фейк
 
Renat Fatkhullin:

Почитайте про новый менеджер памяти Windows 10.

Его стратегия - кешировать, использовать максимум и удерживать, пока кто-то не запросит память. И это правильно. Поэтому теперь практически нельзя ориентироваться на «свободную» и «занятую» память - это фейк.

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

Получается, что Win10 противопоказана для работы на удаленном сервере. Вон люди умудряются всего пару сотен мегабайт под MT5 делать. У меня что-то с этим очень хреново.

 
Renat Fatkhullin:

Поэтому теперь практически нельзя ориентироваться на «свободную» и «занятую» память - это фейк.

На этой картинке верхний Терминал - один чарт на 5000 M1-баров.

Нижний - 20 чартов, 10 советников, CopyTicks на каждом тике и прочее.


Из-за подобного бреда с верхним Терминалом упереться в ArrayResize - запросто.

 
Renat Fatkhullin:

заведомый фейк.

Как вычисляете MQL_MEMORY_USED? Размер всех внутренних объектов, включая массивы программы бывает только 10% от MQL_MEMORY__USED занимает.

Перезапуск советника может резко сократить это значение.

 
Renat Fatkhullin:

Вы забыли про 16 гб(судя по всему) виртуальной памяти.

Виртуалки нет.

 
Есть ли в МТ4 аналог ChartGetString(i,CHART_EXPERT_NAME)?
 
Konstantin Efremov:
Есть ли в МТ4 аналог ChartGetString(i,CHART_EXPERT_NAME)?

https://www.mql5.com/ru/forum/354451

Можно ли программно узнать какой эксперт выполняется на графике?
Можно ли программно узнать какой эксперт выполняется на графике?
  • 2020.10.29
  • www.mql5.com
WindowExpertName() возвращает имя эксперта в котором написан этот код, а задача состоит в том, чтобы узнать перед запуском этого эксперта не работа...
 
Если график вынесен за пределы терминала "Откреплен"  ChartGetInteger(ChartID(), CHART_BRING_TO_TOP, 0)  всегда false   хоть на переднем плане хоть на заднем
Причина обращения: