Ошибки, баги, вопросы - страница 1593
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Волшебный скрипт разворачивает время вспять ;-)
на смарт сообщение о отзыве на продукт приходит, в ЛК и сверху на сайте мкл нет.
Не баг, но не могу не поделиться
Пишу
Компилятор выдает варнинг
invalid date *****.mq4 115 46
Он еще и строковые даты проверяет на правильность даты, я потрясен ) (в июне 30 дней)
Видимо это никого это не волнует, но все же напишу еще раз.
Реальная задача: создать массивы общим размером примерно под 100% от свободной памяти, быстро заполнить их числами, произвести расчеты и освободить их.
Пробую получить размер свободной памяти через
результат : 23987 MB, а физической памяти у меня 12141 MB т.е. в два раза меньше.
Понимаю, что эта цифра для марсиан, но все же верю и пишу скрипт для её тестирования:
Получаю закономерный результат - невозможно распределить массив array3, т.к. память закончилась.
Затем раскомментирую строку, где указываю сколько сейчас доступно:
После этого скрипт выполняется успешно.
Не хочу быть назойливым для разработчиков, но для работы с памятью важно знать, сколько доступно.
Сделайте пожалуйста, чтобы можно было это знать через TerminalInfoInteger.
Вы в курсе, что в большинстве случаев Вы не сможете получить всю доступную память?
Есть такое понятие - фрагментация памяти. Вы тут решили всю память на 5 фрагментов разделить - а нет у системы ни одного непрерывного фрагмента памяти требуемого Вам размера
Вы в курсе, что в большинстве случаев Вы не сможете получить всю доступную память?
Есть такое понятие - фрагментация памяти. Вы тут решили всю память на 5 фрагментов разделить - а нет у системы ни одного непрерывного фрагмента памяти требуемого Вам размера
1. Можно вначале узнать, что физически означает параметр TERMINAL_MEMORY_AVAILABLE ?
2. На счет фрагментов, я думаю, что этим должен заниматься менеждер памяти Windows а не программист.
Мне важно знать сколько я могу использовать в данный момент, например я хочу использовать 50 % от доступной памяти.
Другая реальная задача - это запрос CopyTicks. Если запрашивать больше тиков чем доступной памяти то получаем 'out of memory'.
Другая реальная задача - это запрос CopyTicks. Если запрашивать больше тиков чем доступной памяти то получаем 'out of memory'.
как вариант, выгрузить данные в файл и брать оттуда необходимыми сегментами
Это для меня медленно. Мне хочется все сделать через память. Собственно это и делается сейчас, только приходится вызывать GlobalMemoryStatusEx и узнавать размер доступной.
Поддерживаю. Особенно остро эта проблема встаёт при оптимизации на облачных агентах, о возможностях которых ты вообще ничего не знаешь изначально. Там определить реальный объём доступной памяти невозможно ни через MQL, ни через WinApi (т.к. вызовы dll запрещены).
Действительно непонятно, какой практический смысл тогда имеет TERMINAL_MEMORY_AVAILABLE ? Зачем его было вводить, если нам от него ни горячо, ни холодно