Супермодный компьютер - 256 GB RAM - А скорость тестируется все-равно медленно - страница 2

 
По моему ваш "монстр" четырехлетней давности, если RAM так же стар.
По моим наблюдениям, очеть шустр МТ5, если процессор последнего поколения i7-i9, RAM последнего поколения, и про SSD тоже самое. 

То есть, во всех этих деталях, важна какова у них скорость, а не обьем.

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

 
Roman Starinskij:

Всем большое спасибо за ответы. Постараюсь описать попытки оптимизировать работу тестов. :)

Код советника будет оптимизироваться, позже, когда весь фукнционал будет дописан. Поэтому пока и приобрели супер-мощнецкий комп для тестов этого монстра ))

Благодарю FXEU за подсказку поиграться с агентами тестирования. Добавил все возможные 12 агентов. Но в списке Тестера из всех агентов можно выбрать только 1 агент. Хотя он один стоит на все возможные 256 GB и стоит.  

Но по прежнему при тестах система нагружается не более чем на 5%. Ладно робот "тяжелый", но пусть и грузит систему на 100%, не жалко :)

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

 
Roman Starinskij:

Всем большое спасибо за ответы. Постараюсь описать попытки оптимизировать работу тестов. :)

Код советника будет оптимизироваться, позже, когда весь фукнционал будет дописан. Поэтому пока и приобрели супер-мощнецкий комп для тестов этого монстра ))

Благодарю FXEU за подсказку поиграться с агентами тестирования. Добавил все возможные 12 агентов. Но в списке Тестера из всех агентов можно выбрать только 1 агент. Хотя он один стоит на все возможные 256 GB и стоит.  

Но по прежнему при тестах система нагружается не более чем на 5%. Ладно робот "тяжелый", но пусть и грузит систему на 100%, не жалко :)




Многопоточное тестирование с помощью агентов

 https://www.metatrader5.com/ru/terminal/help/algotrading/strategy_optimization

проверьте в каждом окне что все потоки вкл. и на каждом потоке локальной машины в меню по правому клику.

то что Агент только один это вроде ок, раз показывает 12 потоков. может просто глюк и перезапуск нужен :))

Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
FXEU:


Многопоточное тестирование с помощью агентов

 https://www.metatrader5.com/ru/terminal/help/algotrading/strategy_optimization

проверьте в каждом окне что все потоки вкл. и на каждом потоке локальной машины в меню по правому клику.

то что Агент только один это вроде ок, раз показывает 12 потоков. может просто глюк и перезапуск нужен :))

Он не будет тестировать в многопотоке. Тестер в одиночном потоке работает. Агенты для оптимизации.
 

К сожалению да, агенты запускаются только при оптимизации. Но при оптимизации задействуется столько агентов, сколько Шагов тестирования указано при оптимизации, например 4. И по факту запускается 4 параллельных тестов одного робота, просто с разными настройками. В итоге машина загружается на 20%, при том, что на каждый робот (со своими параметрами) отводится всего 5% мощности. То есть суммарная нагрузка на систему выходит такая же, 5% на 1 прогон советника.

То есть при обычном тестирование и тестирование с оптимизацией - ресурсов используется столько же.

Вопрос: как заставить тестер использовать больше мощности машины, при одном потоке. Желательно, чтобы машина аж гудела и работала на 100% мощностей! :)  

 
Roman Starinskij:

Вопрос: как заставить тестер использовать больше мощности машины, при одном потоке. Желательно, чтобы машина аж гудела и работала на 100% мощностей! :)  

Больше чем на 1 поток можно нагрузить с применением OpenCL (но это не всегда рационально). Не известно, что у Вас там потребляет ресурсы - есть ли индикаторы, и зачем сразу использовать 500 инструментов (есть ли между ними какие то расчеты - корреляция или что то иное?). Не ясно какой период тестирования. Как вариант, для ускорения работы, если узким местом является чтение/запись - используйте оперативную память в качестве виртуального диска, куда перенесете терминал и всю историю для тестирования. Если у Вас 1000 и 1 индикатор, в правильности расчета которого Вы уверены - сохраните их вычисления в файл и читайте расчет из файла, находящегося на RAM диске. Другой правильный путь, как тут уже сказали, разбить историю на отрезки кратные процессору (тогда просто в советнике указываете даты начала/окончания тестирования, что бы вычисления были в этот период, а остальная история будет просто пробегать без вычислений) и применить оптимизацию или параллельный запуск терминалов, а потом использовать скрипт для соединения результатов тестирования.

Если всё совсем плохо, то ищите процессор с высокой производительностью на одно ядро, желательно с большим кэшем на всех уровнях.

 
Благодарю, будем пробовать!