Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Можно избавиться от большого количества NormalizeDouble.
В коде есть отключение нормализации
есть иногда отличия в 14-16 знаке после запятой. Думаю нет смысла ее использоватьСтранно, что такой вариант не дал ускорения.
Думаю нет смысла ее использовать
Правильно ли я понимаю, что zip-файл содержит сразу много независимых zip-блоков?
При оптимизации сейчас на каждом проходе идет последовательная zip-распаковка этих блоков.
Имеет смысл всего один раз распаковать в другой файл непосредственно перед оптимизацией в OnTesterInit.
И удалить этот файл в OnTesterDeinit.
Можно избавиться от большого количества NormalizeDouble.
дает 59% ==. Но массивы тиков не равны.
Преобразование в int не делаю, т.к. на вход приходит лонг.
Скорость с этой функцией
2025.11.18 18:01:44.850 1 (EURUSD,H1) Decompress performance: 2446 MB/s
2025.11.18 18:01:44.850 1 (EURUSD,H1) Decompress performance: 42.7 Ticks (millions)/sec.
2025.11.18 18:01:44.850 1 (EURUSD,H1) Decompress performance criterion: 722.4
2025.11.18 18:01:46.550 1 (EURUSD,H1) Correct = false
А просто с нормализацией
2025.11.18 18:02:47.796 1 (EURUSD,H1) Decompress performance: 3171 MB/s
2025.11.18 18:02:47.796 1 (EURUSD,H1) Decompress performance: 55.4 Ticks (millions)/sec.
2025.11.18 18:02:47.796 1 (EURUSD,H1) Decompress performance criterion: 936.6
2025.11.18 18:02:49.526 1 (EURUSD,H1) Correct = true
Т.е. нормализация всех тиков быстрее, чем с этими проверками и частичная нормализация.
Думаю нет смысла этот делать, а просто нормализовать все.Попробовал такую версию
дает 59% ==.
Речь шла о том, что на этапе компрессии оставлять флаг этого равенства. Т.е. во время декомпрессии значение этого равенства должно было быть уже известным.
Думаю нет смысла этот делать, а просто нормализовать все.
Я делал и это дало заметный эффект. У меня в 70% равенство, но с быстрым умножением, а не тормозным делением.
//#define MathTicker_optimize //optimize best number of files and ticksРечь шла о том, что на этапе компрессии оставлять флаг этого равенства. Т.е. во время декомпрессии значение этого равенства должно было быть уже известным.
Я делал и это дало заметный эффект. У меня в 70% равенство, но с быстрым умножением, а не тормозным делением.
Ну а если еще и метку каждому тику сохранять, то и размеры файлов увеличатся. Наверное байт надо выделять на это. Это увеличит файлы с средним в 3,2 байта до 4,2 байт.
Думаю просто нормализацию оставить. Согласен, что для тп/сл при касании она нужна. Уберу дефайн на отключение нормализации.
Тем более что потери в 1 секунду на тест за 3 года (кажется так) - не большая потеря. У меня каждый проход 12 минут считался последний раз из за долгого обучения МО. А на какие то простые быстрые стратегии (чтобы за секунды считались) у меня нет идей.
v=d * this.pointКак будут результаты, дайте знать. Все таки нестандартная конфигурация.
Ну а если еще и метку каждому тику сохранять, то и размеры файлов увеличатся.
У меня шесть байтов на тик, поэтому мог себе доп. биты позволить без увеличения размера. Ваш же вариант значительно сильнее по степени сжатия, а потому чувствительнее к доп. информации.
Forester #:
Тоже использую умножение.
Здесь надо менять - ускорит.
Подбор числа файлов убрал из кода.
Вы, вроде, говорили, что увеличение файлов-клонов в RAM-диске поднимает производительность на определенных конфигурациях. В EAToMath это вынес в input-параметры. В блоге описывал.
Еще одна идея есть.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Canvas - это круто!
Nikolai Semko, 2025.11.18 17:34
https://claude.ai/share/a99469f8-79d9-4f3f-8aaa-55f951560093