Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Обновил.
Оставил нормализацию всех тиков без отключения.
Проверил сжатие до 2 байт. Получил ускорение процентов на 10, число байт уменьшилось, но размер ZIP архивов увеличился процента на 3.
2025.11.18 22:46:38.542 1 (EURUSD,H1) Compressed size: 169378137
2025.11.18 22:46:38.542 1 (EURUSD,H1) Compressed 2862462720 bytes into 169378137 bytes ==> 5.92%
2025.11.18 22:46:38.542 1 (EURUSD,H1) Compress performance: 623 MB/s
2025.11.18 22:46:38.542 1 (EURUSD,H1) Compress performance: 10.9 Ticks (millions)/sec.
2025.11.18 22:46:38.542 1 (EURUSD,H1) Compress performance criterion: 183.9
2025.11.18 22:46:39.402 1 (EURUSD,H1) Decompress performance: 3225 MB/s
2025.11.18 22:46:39.402 1 (EURUSD,H1) Decompress performance: 56.4 Ticks (millions)/sec.
2025.11.18 22:46:39.402 1 (EURUSD,H1) Decompress performance criterion: 952.6
2025.11.18 22:46:41.112 1 (EURUSD,H1) Correct = true
для BTCUSDT
2023.12.31 23:59:58 -------------------- Statistics: --------------------
2023.12.31 23:59:58 3 bytes: 86.6%, 62644158 ticks
2023.12.31 23:59:58 4 bytes: 0.6%, 412167 ticks
2023.12.31 23:59:58 5 bytes: 12.7%, 9185484 ticks
2023.12.31 23:59:58 6 bytes: 0.0%, 15274 ticks
2023.12.31 23:59:58 11 bytes: 0.1%, 46214 ticks
2023.12.31 23:59:58 12 bytes: 0.0%, 1 ticks
2023.12.31 23:59:58 24 bytes: 0.0%, 1 ticks
2023.12.31 23:59:58 Total: 72303299 ticks, 236108596 bytes.
2023.12.31 23:59:58 Average: 3.266 bytes per tick
2023.12.31 23:59:58 UnZipped size: 236108596. Zipped size: 105802525. ZIP compression: 44.8 %
2023.12.31 23:59:58 Average: 1.463 bytes per tick
Для EURUSD
2023.12.29 23:54:58 3 bytes: 66.5%, 29801633 ticks
2023.12.29 23:54:58 4 bytes: 2.0%, 916083 ticks
2023.12.29 23:54:58 5 bytes: 31.5%, 14106637 ticks
2023.12.29 23:54:58 6 bytes: 0.0%, 25 ticks
2023.12.29 23:54:58 7 bytes: 0.0%, 8 ticks
2023.12.29 23:54:58 11 bytes: 0.0%, 800 ticks
2023.12.29 23:54:58 12 bytes: 0.0%, 3 ticks
2023.12.29 23:54:58 13 bytes: 0.0%, 4 ticks
2023.12.29 23:54:58 24 bytes: 0.0%, 1 ticks
2023.12.29 23:54:58 Total: 44825194 ticks, 163611534 bytes.
2023.12.29 23:54:58 Average: 3.65 bytes per tick
2023.12.29 23:54:58 UnZipped size: 163611534. Zipped size: 96541155. ZIP compression: 59.0 %
2023.12.29 23:54:58 Average: 2.154 bytes per tick
2025.11.18 23:27:25.777 1 (EURUSD,H1) Compressed 2862666420 bytes into 135718404 bytes ==> 4.74%
2025.11.18 23:27:25.777 1 (EURUSD,H1) Compress performance: 764 MB/s
2025.11.18 23:27:25.777 1 (EURUSD,H1) Compress performance: 13.4 Ticks (millions)/sec.
2025.11.18 23:27:25.777 1 (EURUSD,H1) Compress performance criterion: 281.7
2025.11.18 23:27:26.557 1 (EURUSD,H1) Decompress performance: 3550 MB/s
2025.11.18 23:27:26.557 1 (EURUSD,H1) Decompress performance: 62.0 Ticks (millions)/sec.
2025.11.18 23:27:26.557 1 (EURUSD,H1) Decompress performance criterion: 1308.8
для BTCUSDT
2023.12.31 23:59:58 -------------------- Statistics: --------------------
2023.12.31 23:59:58 2 bytes: 70.1%, 50705359 ticks
2023.12.31 23:59:58 4 bytes: 17.1%, 12350966 ticks
2023.12.31 23:59:58 5 bytes: 12.7%, 9185484 ticks
2023.12.31 23:59:58 6 bytes: 0.0%, 15274 ticks
2023.12.31 23:59:58 11 bytes: 0.1%, 46214 ticks
2023.12.31 23:59:58 12 bytes: 0.0%, 1 ticks
2023.12.31 23:59:58 24 bytes: 0.0%, 1 ticks
2023.12.31 23:59:58 Total: 72303299 ticks, 197342036 bytes.
2023.12.31 23:59:58 Average: 2.729 bytes per tick
2023.12.31 23:59:58 UnZipped size: 197342036. Zipped size: 108302550. ZIP compression: 54.9 %
2023.12.31 23:59:58 Average: 1.498 bytes per tick
Для EURUSD
2023.12.29 23:54:58 -------------------- Statistics: --------------------
2023.12.29 23:54:58 2 bytes: 66.2%, 29694779 ticks
2023.12.29 23:54:58 4 bytes: 2.3%, 1022937 ticks
2023.12.29 23:54:58 5 bytes: 31.5%, 14106637 ticks
2023.12.29 23:54:58 6 bytes: 0.0%, 25 ticks
2023.12.29 23:54:58 7 bytes: 0.0%, 8 ticks
2023.12.29 23:54:58 11 bytes: 0.0%, 800 ticks
2023.12.29 23:54:58 12 bytes: 0.0%, 3 ticks
2023.12.29 23:54:58 13 bytes: 0.0%, 4 ticks
2023.12.29 23:54:58 24 bytes: 0.0%, 1 ticks
2023.12.29 23:54:58 Total: 44825194 ticks, 134023609 bytes.
2023.12.29 23:54:58 Average: 2.99 bytes per tick
2023.12.29 23:54:58 UnZipped size: 134023609. Zipped size: 95495454. ZIP compression: 71.3 %
2023.12.29 23:54:58 Average: 2.13 bytes per tick
Самое компактное при 1млн. Но не намного улучшилось
1000000
2023.12.31 23:59:58 UnZipped size: 197342036. Zipped size: 107392883. ZIP compression: 54.4 %
Проверил сжатие программой 7Zip - сжал до 104 512 642 байт нормальным сжатием - возможно лучше внешним упаковщиком пользоваться, и тестировать более быстрым тестом по не сжатому в ZIP файлом.
Решил оставить 2 байта основной версией. Вариант на 3 байта закоментировал.
Вы, вроде, говорили, что увеличение файлов-клонов в RAM-диске поднимает производительность на определенных конфигурациях. В EAToMath это вынес в input-параметры. В блоге описывал.
Проверил сжатие программой 7Zip - сжал до 104 512 642 байт нормальным сжатием - возможно лучше внешним упаковщиком пользоваться, и тестировать более быстрым тестом по не сжатому в ZIP файлом.
Для торрента буду использовать этот упаковщик.
На многоядерке должен рвать остальные варианты по скорости (в обе стороны). И по компрессии показывать очень хороший результат.
Таких тиков оказалось 70% для BTCUSDT и 66% для EURUSD.
2-х байтовый вариант.
3-х байтовый вариант (#define compressTo3Bytes).
Т.е. на BTCUSD старый вариант лучше.
2-х байтовый вариант.
3-х байтовый вариант (#define compressTo3Bytes).
Т.е. на BTCUSD старый вариант лучше.
Значит в 4 байта отправилось больше тиков, чем в 2.
Скорость выше? Оставлю переключение по #define compressTo3Bytes
И вынесу класс в отдельную библиотеку, чтобы для других проектов включать только его, без кода и инпутов отMathTicker.
Скорость выше?
Одинаково
вынесу класс в отдельную библиотеку
Одинаково
Тогда хорошо бы иметь функции MqlTick[]->uchar[]->MqlTick. Подобие которых здесь. ZIP - сомнительная фича.Вместо
Используйте
Получите один большой блок, первые 4 байта будут содержать размер в int.
Но это раз в 10 медленнее, чем склейка малых блоков
2025.11.19 12:10:53.236 1 (EURUSD,H1) Ticks: 47768255
2025.11.19 12:11:28.308 1 (EURUSD,H1) Compressed size: 135898934
2025.11.19 12:11:28.308 1 (EURUSD,H1) Compressed 2866095300 bytes into 135898934 bytes ==> 4.74%
2025.11.19 12:11:28.308 1 (EURUSD,H1) Compress performance: 78 MB/s
2025.11.19 12:11:28.308 1 (EURUSD,H1) Compress performance: 1.4 Ticks (millions)/sec.
2025.11.19 12:11:28.308 1 (EURUSD,H1) Compress performance criterion: 28.7
Но это раз в 10 медленнее, чем склейка малых блоков