Обсуждение статьи "Разрабатываем мультивалютный советник (Часть 23): Приводим в порядок конвейер этапов автоматической оптимизации проектов (II)"

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Опубликована статья Разрабатываем мультивалютный советник (Часть 23): Приводим в порядок конвейер этапов автоматической оптимизации проектов (II):
Мы стремимся создать систему автоматической периодической оптимизации торговых стратегий, используемых в одном итоговом советнике. С развитием система становится всё более сложной, поэтому время от времени надо смотреть на неё в целом с целью выявления узких мест и неоптимальных решений.
Начнём с реализации давно назревших изменений в структуре файлов проекта. Сейчас они находятся в одной папке, что, с одной стороны, упрощает перенос и использование всего кода в новом проекте, но с другой стороны, в процессе непрерывной разработки у нас образуется несколько почти идентичных рабочих папок проектов для разных торговых стратегий, каждую из которых надо обновлять отдельно. Поэтому проведём разделение всего кода на библиотечную часть, которая будет одинаковой для всех проектов, и проектную часть, которая будет содержать код, специфичный для разных проектов.
Далее мы реализуем проверку, что если в процессе работы итогового советника появляются новые группы стратегий, то он сможет корректно загрузить обновлённые параметры и продолжить работу. Начнём, как обычно, с моделирования желаемого поведения в советнике, запущенном в тестере стратегий. Если там результаты окажутся удовлетворительными, то тогда можно будет переходить к его использованию в итоговых советниках, работающих уже не в тестере.
Что нам для этого понадобится? В прошлой части мы не реализовали сохранение в базу данных эксперта информацию о датах окончания интервала оптимизации и завершения выполнения конвейера оптимизации. Теперь нам эта информация понадобится, иначе при проходе в тестере, итоговому советнику нельзя будет понять, эта группа стратегий уже сформирована в определённую моделируемую дату, или ещё нет.
Также понадобится доработать итоговый советник, чтобы он мог проводить собственную повторную инициализацию при появлении новых групп стратегий в своей базе данных эксперта. Сейчас такой функциональности в нём просто нет. Здесь уже оказался бы нелишним хоть какой-то вывод информации о текущей группе торговых стратегий, чтобы можно было наглядно убедиться в успешной смене одной группы на другую. Удобнее было бы видеть эту информацию непосредственно на графике, на котором запущен советник, но можно, конечно, для этого использовать и обычный вывод в лог терминала.
И напоследок, приведём описание общего алгоритма работы с разработанными на данный момент инструментами.
Автор: Yuriy Bykov