В мат режиме макросы по отдельности VIRTUAL_ALTERNATIVE - чуть быстрее чем без макросов
Core 1 pass 0 returned result -2.950378 in 0:00:05.858 Core 1 pass 1 returned result -2.950378 in 0:00:05.810 Core 1 pass 2 returned result -2.950378 in 0:00:05.808 Core 1 pass 3 returned result -2.950378 in 0:00:05.798 Core 1 pass 4 returned result -2.950378 in 0:00:05.798 Tester optimization finished, total passes 5 Statistics optimization done in 0 minutes 29 seconds Statistics shortest pass 0:00:05.798, longest pass 0:00:05.858, average pass 0:00:05.814
VIRTUAL_SELECTORDERS_OBJECT - тормозит
Core 1 pass 0 returned result -2.950378 in 0:00:09.926 Core 1 pass 1 returned result -2.950378 in 0:00:09.868 Core 1 pass 2 returned result -2.950378 in 0:00:09.858 Core 1 pass 3 returned result -2.950378 in 0:00:09.943 Core 1 pass 4 returned result -2.950378 in 0:00:10.077 Tester optimization finished, total passes 5 Statistics optimization done in 0 minutes 50 seconds Statistics shortest pass 0:00:09.858, longest pass 0:00:10.077, average pass 0:00:09.934
VIRTUAL_ORDERSELECT_WITHOUT_COPY
Core 1 pass 0 returned result -2.950378 in 0:00:05.611 Core 1 pass 1 returned result -2.950378 in 0:00:05.549 Core 1 pass 2 returned result -2.950378 in 0:00:05.546 Core 1 pass 3 returned result -2.950378 in 0:00:05.574 Core 1 pass 4 returned result -2.950378 in 0:00:05.616 Tester optimization finished, total passes 5 Statistics optimization done in 0 minutes 28 seconds Statistics shortest pass 0:00:05.546, longest pass 0:00:05.616, average pass 0:00:05.579
#define VIRTUAL_ALTERNATIVE // Альтернативная скорость расчетов//#define VIRTUAL_SELECTORDERS_OBJECT // Работа с выбранным окружением без указателей, отключает мультивалютку.#define VIRTUAL_ORDERSELECT_WITHOUT_COPY // OrderSelect без копирования ORDER-структуры, отключает мультивалютку.
Мат режим на 1 сек быстрее ~20%
Core 1 pass 0 returned result -2.950378 in 0:00:05.148 Core 1 pass 1 returned result -2.950378 in 0:00:05.123 Core 1 pass 2 returned result -2.950378 in 0:00:05.304 Core 1 pass 3 returned result -2.950378 in 0:00:05.350 Core 1 pass 4 returned result -2.950378 in 0:00:05.180 Tester optimization finished, total passes 5 Statistics optimization done in 0 minutes 27 seconds Statistics shortest pass 0:00:05.123, longest pass 0:00:05.350, average pass 0:00:05.221
По реал тикам тоже на 1 сек быстрее ~10%
Core 1 pass 0 returned result -2.950378 in 0:00:12.547 Core 1 pass 1 returned result -2.950378 in 0:00:09.027 Core 1 pass 2 returned result -2.950378 in 0:00:09.000 Core 1 pass 3 returned result -2.950378 in 0:00:09.125 Core 1 pass 4 returned result -2.950378 in 0:00:08.976 Tester optimization finished, total passes 5 Statistics optimization done in 0 minutes 49 seconds Statistics shortest pass 0:00:08.976, longest pass 0:00:12.547, average pass 0:00:09.735
Core 1 pass 0 returned result -2.950378 in 0:00:29.771 Core 1 pass 1 returned result -2.950378 in 0:00:25.898 Core 1 pass 2 returned result -2.950378 in 0:00:25.800
В среднем почти 26 сек - против 5 сек в мат режиме
Осознал, этот режим дает ускорение только в случае, если используется одно виртуальное окружение, либо если нет частого переключения между виртуальными окружениями.
Осознал, этот режим дает ускорение только в случае, если используется одно виртуальное окружение, либо если нет частого переключения между виртуальными окружениями.
Убрал переключения и оставил 1 виртуалку
Core 1 pass 0 returned result -2.950378 in 0:00:03.745 Core 1 pass 1 returned result -2.950378 in 0:00:03.699 Core 1 pass 2 returned result -2.950378 in 0:00:03.700 Core 1 pass 3 returned result -2.950378 in 0:00:03.701 Core 1 pass 4 returned result -2.950378 in 0:00:03.719 Tester optimization finished, total passes 5 Statistics optimization done in 0 minutes 19 seconds Statistics shortest pass 0:00:03.699, longest pass 0:00:03.745, average pass 0:00:03.712
2 виртуалки без переключений на 0
Core 1 pass 0 returned result -2.950378 in 0:00:03.700 Core 1 pass 1 returned result -2.950378 in 0:00:03.654 Core 1 pass 2 returned result -2.950378 in 0:00:03.666 Core 1 pass 3 returned result -2.950378 in 0:00:03.664 Core 1 pass 4 returned result -2.950378 in 0:00:03.691 Tester optimization finished, total passes 5 Statistics optimization done in 0 minutes 18 seconds Statistics shortest pass 0:00:03.654, longest pass 0:00:03.700, average pass 0:00:03.675
VIRTUAL_ALTERNATIVE - чуть быстрее чем без макросов
Core 1 pass 1 returned result -2.950378 in 0:00:05.810
Core 1 pass 2 returned result -2.950378 in 0:00:05.808
Core 1 pass 3 returned result -2.950378 in 0:00:05.798
Core 1 pass 4 returned result -2.950378 in 0:00:05.798
Tester optimization finished, total passes 5
Statistics optimization done in 0 minutes 29 seconds
Statistics shortest pass 0:00:05.798, longest pass 0:00:05.858, average pass 0:00:05.814
VIRTUAL_SELECTORDERS_OBJECT - тормозит
Core 1 pass 0 returned result -2.950378 in 0:00:09.926
Core 1 pass 1 returned result -2.950378 in 0:00:09.868
Core 1 pass 2 returned result -2.950378 in 0:00:09.858
Core 1 pass 3 returned result -2.950378 in 0:00:09.943
Core 1 pass 4 returned result -2.950378 in 0:00:10.077
Tester optimization finished, total passes 5
Statistics optimization done in 0 minutes 50 seconds
Statistics shortest pass 0:00:09.858, longest pass 0:00:10.077, average pass 0:00:09.934
VIRTUAL_ORDERSELECT_WITHOUT_COPY
Core 1 pass 1 returned result -2.950378 in 0:00:05.549
Core 1 pass 2 returned result -2.950378 in 0:00:05.546
Core 1 pass 3 returned result -2.950378 in 0:00:05.574
Core 1 pass 4 returned result -2.950378 in 0:00:05.616
Tester optimization finished, total passes 5
Statistics optimization done in 0 minutes 28 seconds
Statistics shortest pass 0:00:05.546, longest pass 0:00:05.616, average pass 0:00:05.579
Мат режим на 1 сек быстрее ~20%
Core 1 pass 1 returned result -2.950378 in 0:00:05.123
Core 1 pass 2 returned result -2.950378 in 0:00:05.304
Core 1 pass 3 returned result -2.950378 in 0:00:05.350
Core 1 pass 4 returned result -2.950378 in 0:00:05.180
Tester optimization finished, total passes 5
Statistics optimization done in 0 minutes 27 seconds
Statistics shortest pass 0:00:05.123, longest pass 0:00:05.350, average pass 0:00:05.221
Core 1 pass 1 returned result -2.950378 in 0:00:09.027
Core 1 pass 2 returned result -2.950378 in 0:00:09.000
Core 1 pass 3 returned result -2.950378 in 0:00:09.125
Core 1 pass 4 returned result -2.950378 in 0:00:08.976
Tester optimization finished, total passes 5
Statistics optimization done in 0 minutes 49 seconds
Statistics shortest pass 0:00:08.976, longest pass 0:00:12.547, average pass 0:00:09.735
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
Forester, 2025.11.07 13:06
VIRTUAL_SELECTORDERS_OBJECT - тормозит
Core 1 pass 1 returned result -2.950378 in 0:00:25.898
Core 1 pass 2 returned result -2.950378 in 0:00:25.800
Неожиданно.
Осознал, этот режим дает ускорение только в случае, если используется одно виртуальное окружение, либо если нет частого переключения между виртуальными окружениями.
Осознал, этот режим дает ускорение только в случае, если используется одно виртуальное окружение, либо если нет частого переключения между виртуальными окружениями.
Убрал переключения и оставил 1 виртуалку
Core 1 pass 0 returned result -2.950378 in 0:00:03.745
Core 1 pass 1 returned result -2.950378 in 0:00:03.699
Core 1 pass 2 returned result -2.950378 in 0:00:03.700
Core 1 pass 3 returned result -2.950378 in 0:00:03.701
Core 1 pass 4 returned result -2.950378 in 0:00:03.719
Tester optimization finished, total passes 5
Statistics optimization done in 0 minutes 19 seconds
Statistics shortest pass 0:00:03.699, longest pass 0:00:03.745, average pass 0:00:03.712
Core 1 pass 0 returned result -2.950378 in 0:00:03.700
Core 1 pass 1 returned result -2.950378 in 0:00:03.654
Core 1 pass 2 returned result -2.950378 in 0:00:03.666
Core 1 pass 3 returned result -2.950378 in 0:00:03.664
Core 1 pass 4 returned result -2.950378 in 0:00:03.691
Tester optimization finished, total passes 5
Statistics optimization done in 0 minutes 18 seconds
Statistics shortest pass 0:00:03.654, longest pass 0:00:03.700, average pass 0:00:03.675
MQ тестер с той же задачей В среднем почти 26 сек - против 5 сек в мат режиме
Убрал переключения и оставил 1 виртуалку
Это с макросом?
Через какой метод переключаетесь между виртуалками?
VIRTUAL::SelectByIndex(0);// восстановит реальный тестер, чтобы получить правильное время и тик, а не последний из Virtual
Вот оно на каждом тике и тормозит до 8 секунд