При наложении фильтра в истории - терминал на долго зависает.

 
При огромной истории при наложении фильтра "выбирать символ" терминал грузит процессор и висит очень долго. Хотя история не очень и большая - по моему порядка 20000 сделок или 40000, что вообщем-то для истории в годы не много.
Документация по MQL5: Получение рыночной информации / SymbolSelect
Документация по MQL5: Получение рыночной информации / SymbolSelect
  • www.mql5.com
Получение рыночной информации / SymbolSelect - Документация по MQL5
 

Вы знаете даже и дополню - если история достаточно объемная то и ТЕСТИРОВАНИЕ идет запредельно медленно. Ну просто один прогон по истории по EURUSD может занимать минут 15. Так как советник очень простой и нет никаких вычислений, кроме большого числа сделок ( но ведь с 1993 года же ) то остается грешить именно на то что история длинная. Подозреваю, что все хранится в одном списке. Видимо даже и открытые позиции, так как я по истории не хожу в советнике.


Было бы разумно как мне кажется сделать древовидную структуру истории - с листьями по дням например. То есть поиск год->месяц->день а дальше просто уже список. И памяти начинает в тестере жрать ну просто не мерянно - под три гига. Как высококвалифицированный программист могу сказать - я бы грешил именно на то что история в одном простом списке. 200% надо тут пооптимизировать.

 
 
Ну а увы - результат на лицо - ЗАПРЕДЕЛЬНО долго идет тестирование простейшего советника. И при просто просмотре с 20000 сделок в истории за тройку дней подвисает так, что проще терминал перезагрузить прибив его через такменеджер, чем ждать.
 

Предоставьте, пожалуйста, код эксперта. Есть сильное подозрение, что работа с торговой историей в советнике реализована неоптимально.



 
Rosh:

Предоставьте, пожалуйста, код эксперта. Есть сильное подозрение, что работа с торговой историей в советнике реализована неоптимально.



У меня в советнике вообще нет ничего кроме PositionSelect. С историей работы нет.
Причина обращения: