Оптимизация АТС на GPU - страница 4

 
George Merts:
Ну, дык зачем гигабайты памяти ? Что ты там хранишь-то ? Запрашиваешь историю тиков за несколько лет по всем символам ??? И что дальше с ней делать ?
Из криминального я храню только пару десятков баров для каждого символа.  Большой расход памяти получается из-за запросов истории. Насколько я понял сначала история копируется в память и только потом отдается советнику, причем из памяти эта история удаляется только спустя время. Отсюда и получается большой объем используемой памяти.
 
pivomoe:
Из криминального я храню только пару десятков баров для каждого символа.  Большой расход памяти получается из-за запросов истории. Насколько я понял сначала история копируется в память и только потом отдается советнику, причем из памяти эта история удаляется только спустя время. Отсюда и получается большой объем используемой памяти.

Если и в самом деле - хранится сотня баров по нескольким десяткам символов - где там гигабайты ? Скажем, советник запрашивает память для 100 тысяч баров - это в худшем случае десятки мегабайт. Облако должно все это без проблем обрабатывать.

И уж точно - гораздо быстрее, чем будет работать локальный агент на ноутбуке. Похоже, что что-то не так с алгоритмом.

 
George Merts:

Если и в самом деле - хранится сотня баров по нескольким десяткам символов - где там гигабайты ? Скажем, советник запрашивает память для 100 тысяч баров - это в худшем случае десятки мегабайт. Облако должно все это без проблем обрабатывать.

И уж точно - гораздо быстрее, чем будет работать локальный агент на ноутбуке. Похоже, что что-то не так с алгоритмом.

Под 2 гигабайтам я имею ввиду память ,которую использует агент по диспетчеру задач. Реально советник после доступа к трех месячной истории по каждому символу возвращает вот такие значение MQLInfoInteger(MQL_MEMORY_USED) 51 мегабайт TerminalInfoInteger(TERMINAL_MEMORY_USED) 2448 мегабайт. Хотя по диспетчеру задач получается почему то, меньше 2 гигов. Дальше в процессе оптимизации расход по диспетчеру увеличивается ещё мегабайт на 500.
 
pivomoe:
Под 2 гигабайтам я имею ввиду память ,которую использует агент по диспетчеру задач. Реально советник после доступа к трех месячной истории по каждому символу возвращает вот такие значение MQLInfoInteger(MQL_MEMORY_USED) 51 мегабайт TerminalInfoInteger(TERMINAL_MEMORY_USED) 2448 мегабайт. Хотя по диспетчеру задач получается почему то, меньше 2 гигов. Дальше в процессе оптимизации расход по диспетчеру увеличивается ещё мегабайт на 500.

Будь акуратен при запросе памяти в советнике. Операция ЖУТКО медленная. Я, по незнанию ее сперва воткнул в рефреш (на каждом баре), и никак не мог понять, почему у меня, в общем-то простые советники весьма тормозили. Хорошо, что есть профайлер.  Оказалось, что чуть ли не большая часть времени тратилась на запросы свободной памяти в советнике.

Профилирование кода - Разработка программ - Справка по MetaEditor
Профилирование кода - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Профилирование — это сбор характеристик программы, таких как время выполнения отдельных ее фрагментов (функций, строк). В MetaEditor встроена штатная функция профилирования, благодаря которой программист может провести оптимизацию исходного кода. Профилирование можно проводить на обычном графике в торговой платформе, а также на исторических...
 
George Merts: И какие проблемы использовать файлы ? Облако вполне с ними справляется.

 Т.е агент из MQL5 Cloud Network может читать и записывать в файлы из общей папки терминалов ?

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...
 
@pivomoe автор если у тебя законченная версия советника я могу тебе помощь и сделать ускоритель для твоего советника, но я не видел код советника, но в несколько тысяч раз я могу любой советник ускорить. Если надо пиши в личку или скайп.
Причина обращения: