not enough memory??? - страница 3

 

Как я и написал выше:

Чудес не бывает - ресурсы всегда ограничены, а программисты(MQL4 программисты)/пользователи(терминала или тестера) легко могут запросить больше чем надо.


Взгляните на показатель "Физическая память: свободно 7 мегабайт". Горб использования памяти в хронологии использования физической памяти явно показывает дикий расход памяти. Фактически это стресс-тест по памяти.


Видимо, Вы просто не понимаете, что используете и что реально запрашиваете. Взглянем на скрипт 'ZZ_All Quotings 0-0090':

//+-------------------------------------------------------------------------------------------+
//| ZZ_All Quotings 0-0090.mq4|
//| Copyright © Zhunko |
//|27.03.2007 - 26.07.2008 MF ZHUNKO vadim@zhunko.ru |
//+-------------------------------------------------------------------------------------------+
//| Скрипт для закачки истории по всем валютным парам и металлам. |
//| С поледующим контролем на "дыры" в истории. |
//| Всвязи с функциональным расширением, скрипт "ZZ_All Quotings Exchange+Metals 0-0050" |
//| переименован в "ZZ_All Quotings Х-ХХХХ". |
//| Перед использованием скрипта установите в МТ4 сервис -> настройки -> графики -> |
//|нужное максимальное количество баров в окне. Именно это количество баров будет |
//|загружаться и контролироваться. За тем перезагрузите МТ4 и воспользуйтесь скриптом. |
//| Конец работы скрипта не означает конец загрузки истории. Процесс загрузки можно посмотреть|
//| в диспетчере задач. По окончании загрузки истории необходимо перезагрузить МТ4 для |
//| сохранения истории в файлах *.hst. |


Вот комментарии автора:

Скрипт очень требователен к наличию оперативной памяти:

  • при памяти 1Гб в процессе закачки истории с сервера ДЦ Moneyrain с параметром "Количество баров в окне" 50000 баров за один раз можно закачать только валютные пары и металлы;
  • затем надо выгрузить МТ4 с контролем выгрузки в диспетчере задач, чтобы сформировались файлы *.hst;
  • потом опять включить МТ4 и продолжить загрузку со следующей группы.

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


Что внутри скрипта? Загрузка всей истории по всем доступным символам. История грузилась до упора в течение двух минут и только когда стало не хватать памяти, пошли сообщения о недостатке памяти:

18:35:23 'XXXXX': login (4.00, #YYYYYYYY)
18:37:25 Memory handler: cannot allocate 4595272 bytes of memory


Все абсолютно верно - загружать в память сотню символов по 9 таймфреймов с максимальной глубиной мало кто сможет выдержать, не так ли?
 

Renat писал (а) >>

Взгляните на показатель "Физическая память: свободно 7 мегабайт". Горб использования памяти в хронологии использования физической памяти явно показывает дикий расход памяти. Фактически это стресс-тест по памяти.

"свободной" памяти около гига... на показатель "Физическая память: свободно xx мегабайт" в висте можно не смотреть, т.к. при простое системы эта цифра непрерывно уменьшается до десятков/единиц мегабайт.

 

Кажется где-то читал.

Кто-то из Метаквотов напоминал, что МТ4 не работает с количеством памяти более 2 Гб.

 
embezz писал (а) >>

"свободной" памяти около гига... на показатель "Физическая память: свободно xx мегабайт" в висте можно не смотреть, т.к. при простое системы эта цифра непрерывно уменьшается до десятков/единиц мегабайт.

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


Кстати, автор заявления (Sergey_Murzinov) посчитал нужным удалить свое заявление про проблемы терминала с памятью после моего разъяснения.


Кто-то из Метаквотов напоминал, что МТ4 не работает с количеством памяти более 2 Гб.

Это ограничение любой обычной программы в 32х разрядной операционке (вариант расширения до 3 Гб можно не рассматривать).

 
Renat писал (а) >>

Кстати, автор заявления (Sergey_Murzinov) посчитал нужным удалить свое заявление про проблемы терминала с памятью после моего разъяснения.


Просто не хочу участвовать в беспреспективной дискуссии
 
Sergey_Murzinov писал (а) >>
Просто не хочу участвовать в беспреспективной дискуссии

Потому что заявили серьезную претензию при закрытых данных. А потом закрытые данные вскрылись.


Мы принимаем любые серьезные претензии и исправляем свои ошибки.

 
Mathemat писал (а) >>

Off-topic: ай-яй-яй, 4 ядра - и всего 2 гига памяти. А что за камешек, если не секрет, Prival?

Тип ЦП QuadCore Intel Core 2 Quad Q6600, 2400 MHz (9 x 267)

Системная плата Asus P5KR

Чипсет системной платы Intel Bearlake P35

Системная память 2048 Мб (DDR2-800 DDR2 SDRAM)

Видеоадаптер NVIDIA GeForce 8600 GT (512 Мб)

Я редко что-либо оптимизирую (перебором). Чаще использую визуальный анализ. Смотрю, как ведут себя индикаторы. Если нравиться, то делаю набор правил, и снова прогоняю в визуальном режиме, смотрю, как и где совершаться сделки, что можно добавить в местах просадки.

2 гига обычно хватало. Впервые выскочила такая ошибка в МТ4. Чаще это бывало в MаthСade когда использую огромные матрицы для анализа котировок.

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

Порядок действий.

  1. Меняю логику принятия торговых решений в советнике
  2. Захожу в тестер и удаляю шаблон tester
  3. Сбрасываю свойства эксперта
  4. Прогоняю без визуализации
  5. Открываю график
  6. Выделаю и удаляю все объекты
  7. Сохраняю шаблон tester
  8. И только после этого запускаю в визуальном режиме.

Все это приходиться делать из-за того, что сразу в визуальном режиме используемые индикаторы НЕ отражаются ((.

Или я не умею это делать. Поэтому как робот делаю одну и туже последовательность 2-8, надоедает.

Прочитав советы (ответы) в этой ветке. Вспомнил что у меня тогда было открыта туча окон (visual). Так что теперь добавлю 9 пункт, закрывать окна предыдущего прогона, если не нужен для визуального сравнения с новым прогоном.

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