Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
2) Откзался от считывания свопов из архива.
Нужно установить даты на которых надо тестировать и которые записаны в архиве:
У вас с 1970 по 1970
сделал обновление.
Возможно, статический массив ускорит дело.
Штатное обнуление.
Возможно, статический массив ускорит дело.
Теоретически быстрее. Обновил.
Ускорение на уровне погрешности.
Старый
2026.02.11 11:35:51.742 pass 8 returned result 514165380.744476 in 0:00:07.788
2026.02.11 11:35:51.742 optimization finished, total passes 11
2026.02.11 11:35:51.752 optimization done in 0 minutes 24 seconds
2026.02.11 11:35:51.752 shortest pass 0:00:07.714, longest pass 0:00:08.174, average pass 0:00:07.930
Новый вариант
2026.02.11 11:39:50.482 pass 10 returned result 514165380.744476 in 0:00:07.749
2026.02.11 11:39:50.482 optimization finished, total passes 11
2026.02.11 11:39:50.492 optimization done in 0 minutes 24 seconds
2026.02.11 11:39:50.492 shortest pass 0:00:07.659, longest pass 0:00:08.392, average pass 0:00:08.033
Ускорение на уровне погрешности.
Делается лишний шаг - заполнение массива и пробег по нему.
Архитектурно быстрее будет так.
ЗЫ Сам делаю именно так.
Делается лишний шаг - заполнение массива и пробег по нему.
Архитектурно быстрее будет так.
ЗЫ Сам делаю именно так.
Сам пользуюсь блоками сжатыми в ZIP. Их можно только целиком распаковать. Так же тики сжаты до разного числа байт. Можно конечно из тех функций делать вызовы Strategy(Tick);
Но на это надо потратить часы, чтобы понять что-куда, сделать и протестировать во всех режимах. Ради нескольких миллисекунд не готов на такие временные затраты. Мои тесты с МО 12 дней считаются - секунды не дадут ничего.
Инструмент работает - теперь его лучше не трогать.
Сам пользуюсь блоками сжатыми в ZIP. Их можно только целиком распаковать.
Обновил библиотеку.
!!! Последняя версия файла библиотеки MathTicker.mqh (44.7 KB) - в корневой папке. Но её нужно сохранить вместо \MQL5\Include\Forester\MathTicker.mqh (это старая версия, которую невозможно перезаписать из за бага сайта).
Теперь встраивание стало проще - нужно меньше кода. Библиотека теперь сама перехватывает вызовы OnTick() и OnTester() запускает нужные функции и затем вызывает OnTick() и OnTester() из эксперта.
Описание и примеры кода - изменены на новую версию.
Добавлено:
Перед запуском тестирования нужно вручную указать имя сервера для считывания тиков. Результаты тестов на разных серверах могут значительно отличаться, например из за проскальзываний.
MathTick.stepvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
MathTick.minvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
MathTick.maxvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
И добавлены функции MathTick.CalcMargin(ORDER_TYPE_BUY,_Symbol,1.0,price,margin) и MathTick.FreeMargin() - это аналоги OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,1.0,price,margin) и AccountInfoDouble(ACCOUNT_MARGIN_FREE)
Всё это может пригодиться для расчета лота в % от свободной маржи.
!!! Последняя версия файла библиотеки MathTicker.mqh (44.7 KB) - в корневой папке.