В примере сравнения заменил один инклудник другим.
#property tester_no_cache //#include <Forester\MathTicker.mqh> // подключение торговли в математическом режиме #define EATOMATH_ADVANCED_SETTINGS // Дополнительные настройки EAToMath. #include <fxsaber\EAToMath\EAToMath.mqh> // https://www.mql5.com/ru/code/61283 input int rep=0;//Repeats for optimization void OnInit(){} void OnTick(){ static MqlTick Tick; if (SymbolInfoTick(_Symbol, Tick)){ #ifdef _MathTick_ if(MathTick.SaveTick(Tick)){ return; }//если сохраняем тики, то выход и не торгуем. #endif Strategy(Tick); } } double Sum = 0; void Strategy(MqlTick& Tick){ // простейшая стратегия - использована для сравнения скорости чтения с EAToMath Sum += Tick.bid+Tick.ask; } ulong StartTime = GetMicrosecondCount(); ; double OnTester(){ #ifdef _MathTick_ // запуск с MathTick - он считает параметры символа из файла с тиками. Для тестов в мат режиме if(MathTick.SaveTicksEnd()){return 0;}//закрыть файл после записи тиков и выйти if(MathTick.ReadSymbolVars()){ MathTick.Ticker();//в режиме мат расчетов подаст все тики в Strategy(MqlTick &Tick). } #endif long work_time = (long)(GetMicrosecondCount() - StartTime)/1000; //return(NormalizeDouble(work_time, 1)); // для получения скорости работы и return Sum;// для сравнения результатов расчета }
MathTicker.
optimization finished, total passes 60 optimization done in 0 minutes 23 seconds shortest pass 0:00:00.365, longest pass 0:00:00.400, average pass 0:00:00.375 local 60 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
EAToMath.
optimization finished, total passes 60 optimization done in 0 minutes 31 seconds shortest pass 0:00:00.520, longest pass 0:00:00.544, average pass 0:00:00.529 local 60 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
Разница, как здесь.
Но все же причина, скорее всего, не в сжатии тиков. Вы не тратите ресурсы на проброс тика в виртуалку и получение его оттуда через SymbolInfoTick. Грубо говоря, вы не делаете на каждом тике два присваивания MqlTick и проверку работы с ордерами (хоть их и ноль).
Хорошо бы сравнить на втором примере - торговый.
В обоих случаях будет работать Virtual. Все должно быть одинаково. А 150 мс на этапе чтения останутся, но думаю это мелочи)
Там все сделки тоже на 1 час дольше. Что-то с GMT связано.
Поправил https://www.mql5.com/ru/forum/460016/page10#comment_58475640
- 2025.02.25
- www.mql5.com
Запустил оптимизацию в мат режиме на всех 36 агентах, с чтением тиковых данных из одного файла. Нагрузился только процессор:

SSD не изнашивается.
Пример того, как MQ тестер в режиме по реальним тикам загружает SSD:
https://www.mql5.com/ru/forum/497682/page7#comment_58423659
Наконец то дождался остановки 100%-ной записи на SSD для 30 агентов. Для первых 16ти потребовалось 22 минуты. Потом запустил остальные 20 (но 6-ти агентам не хватило места на SSD, 30 только смогли запуститься). Итоговое время на запуск оптимизации 1 час 20 минут.
Вот поймал момент окончания записи

Всего было записано временных файлов в папку тестера на 282 Гб (на 30 агентов в среднем почти по 9,4 Гб):
Запустил оптимизацию в мат режиме на всех 36 агентах, с чтением тиковых данных из одного файла. Нагрузился только процессор:
Аналогичная картина с другой реализацией. Создал RAMDrive на 10 гигов, этого хватило для хранения тиковой истории сразу 29 символов с 2019 по 2025 годы (фильтрованы и сжаты).
18/20 агентов (два всегда оставляю disabled, чтобы не было проблем при работе с расчетной машиной). Только ядра процессора загружены. Память расходуется исключительно на иногда огромную торговую историю виртуалок каждого прохода. Но это все равно копейки.
Мат. режим - супер для локальных агентов.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MathTicker - генератор тиков в математическом режиме
Forester, 2025.11.10 18:09

Что за конфигурация железа?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования



MathTicker - генератор тиков в математическом режиме:
Записывает тики в режиме по реальным тикам и считывает их в математическом вызывая вашу стратегию с каждым тиком.
Автор: Forester