Новая версия платформы MetaTrader 5 build 5120: улучшения и исправления - страница 26
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У меня никакого влияния от количества блоков.
Таким образом создал блоки.
Так их читаю.
Performance = 5.5 Ticks(millions)/sec.
Total time in sek: 76
Performance = 15.8 Ticks(millions)/sec.
Total time in sek: 28
Performance = 20.9 Ticks(millions)/sec.
Total time in sek: 16
Performance = 13.7 Ticks(millions)/sec.
Total time in sek: 24
Performance = 9.2 Ticks(millions)/sec.
Total time in sek: 45
Performance = 5.8 Ticks(millions)/sec.
Total time in sek: 60
Performance = 4.8 Ticks(millions)/sec.
Total time in sek: 65
Performance = 1.9 Ticks(millions)/sec.
Total time in sek: 87
Performance = 11.4 Ticks(millions)/sec.
Total time in sek: 22
Performance = 11.2 Ticks(millions)/sec.
Total time in sek: 19
Performance = 6.3 Ticks(millions)/sec.
Total time in sek: 28
Performance = 3.6 Ticks(millions)/sec.
Total time in sek: 47
Performance = 5.3 Ticks(millions)/sec.
Total time in sek: 32
Performance = 3.4 Ticks(millions)/sec.
Total time in sek: 47
У меня получилось что 3 блока лучше всего по общему времени работы 16 сек и по Performance. Экономия памяти 36/3=12 раз и быстрее в 4 раза.
Обновление:А 1 блок памяти на всех соизмерим с вариантом, если у каждого агента свой блок памяти. Возможно это связано с тем, что у меня 2 процессора и 2 канала в памяти.
Тестировал с советником из вашего последнего поста. Только подправил счетчик агентов: return(FrameAdd(StringSubstr(TerminalInfoString(TERMINAL_DATA_PATH), -3), Amount, Value, Data));
и добавил счетчик общего времени. Эксперт приложил.
Скрипт на 36 блоков памяти:
провел тест для 72 агентов - он оказался медленнее 36 агентов на 20%. Т.е. то, что лучше проводить тесты на физических ядрах снова подтвердилось.
А 1 блок памяти на всех соизмерим с вариантом, если у каждого агента свой блок памяти.
Похоже, это просто особенности RAMDrive и нюансы работы с файлами. Нужен другой механизм.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 5120: улучшения и исправления
fxsaber, 2025.06.25 13:32
MQ могли бы создать свой механизм разруливания коллизий одновременного чтения данных, тогда производительность была бы гораздо выше, чем RAMDrive-реализация.
Он должен быть еще и совсем простым, т.к. только чтение. Предполагаю, что производительность при использовании только одного блока не будет падать.
Надо научиться записывать кусок памяти данными и передавать указатель на него агентам. И тогда все будет летать.
Только подправил счетчик агентов: return(FrameAdd(StringSubstr(TerminalInfoString(TERMINAL_DATA_PATH), -3), Amount, Value, Data));
Путь обрезается
Посмотрел формат фрейма.
У меня такой путь не обрезается.
Print(Name) ;
C:\Users\server\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8C
Видимо надо склеивать номер и сетевой путь
Видино надо склеивать номер и сетевой путь
Там любое количество данных можно передавать, если задействовать массив.
Надо научиться записывать кусок памяти данными и передавать указатель на него агентам. И тогда все будет летать.
Похоже, достаточно использовать msvcrt::memcpy для единократной записи и далее множества чтений. С указателями только нужно разобраться.
Попробовал незамысловатую реализацию такого единого хранения тиков для всех локальных агентов.
отличный
а что с использованием оперативной памяти в агентах тестирования?
Раньше хватало 2гб на ядро, теперь каждое ядро жрет около 4гб. это норма?
Ребята, вы одно чините, два ломаете. Пожалуйста, возьмитесь за ум, почините софт. Невозможно работать, из-за ваших "нововведений" мы не можем работать!
Ваш софт не работает, новые версии работают хуже некуда, они не считают, они не запускаются, они не видят все ядра, ни один билд не увидел моих всех ядер. Расчеты стали тупить и стали медленными, тестер начал жрать все ресурсы сервера, оно жрет всю память на диске.
И главное что вы сделали - убрали возможность работы старых версий тестера. на версии 4885 еще как-то работало, на версии 5ххх не работает ничего!!