Добрый день!
Пишу скрипт для автоматизации оптимизации советников. Тут все понятно: выполнил MT5 с соответствующими файлами настройки, и вуаля! Встал вопрос: как можно после получения результатов оптимизации извне получить доступ и проанализировать результаты оптимизации, чтобы выбрать тот или иной сет параметров советника, изменить пару параметров и запустить с ними тест советника (без оптимизации)? Есть идеи?
Зачем "извне" ?
Я прямо в эксперте анализирую результаты оптимизации, и в лог пишу уже готовые данные. Если нужна многократная переоптимизация - пишем set-файл, который и будет использоваться в следующей оптимизации.
Или я что-то не учитываю?
https://www.mql5.com/ru/code/26223
https://www.mql5.com/ru/code/27611
![TesterDashboard - эффективное привлечение эволюционной интеллектуальной машины к поиску закономерностей. TesterDashboard - эффективное привлечение эволюционной интеллектуальной машины к поиску закономерностей.](https://c.mql5.com/36/52/testerdashboard-effektivnoe-privlechenie__1.png)
- 2021.10.14
- www.mql5.com
Зачем "извне" ?
Я прямо в эксперте анализирую результаты оптимизации, и в лог пишу уже готовые данные. Если нужна многократная переоптимизация - пишем set-файл, который и будет использоваться в следующей оптимизации.
Или я что-то не учитываю?
Дело в том, что мне надо провести ряд оптимизаций, а потом по отдельным наборам параметров результатов оптимизации провести тестирование. Я планирую заряжать это пакетом на ночь или пару дней, а по окончании рассматривать результаты. set-файл, который ты создаёшь, потом надо будет руками загрузить и запустить новую оптимизацию. Я не хочу это делать руками.
https://www.mql5.com/ru/code/26223
https://www.mql5.com/ru/code/27611
Спасибо. Интересно. Изучаю.
Дело в том, что мне надо провести ряд оптимизаций, а потом по отдельным наборам параметров результатов оптимизации провести тестирование. Я планирую заряжать это пакетом на ночь или пару дней, а по окончании рассматривать результаты. set-файл, который ты создаёшь, потом надо будет руками загрузить и запустить новую оптимизацию. Я не хочу это делать руками.
Ну, так анализируй автоматически set-файл, он имеет крайне простой формат, и автоматически загружай на новую оптимизацию.
На мой взгляд, ты в любом случае упрешься в проблему ручного выбора, сколько ни автоматизируй оптимизацию.
Ну, так анализируй автоматически set-файл, он имеет крайне простой формат, и автоматически загружай на новую оптимизацию.
На мой взгляд, ты в любом случае упрешься в проблему ручного выбора, сколько ни автоматизируй оптимизацию.
Нет. SET-файл - это настройки робота. А мне надо проанализировать результаты оптимизации после её завершения и по определённым параметрам выбрать тот набор параметров (данные для SET-файла), который мне нужен. Пусть для начала это будет результат с наилучшим значением критерия оптимизации. Как получить настройки робота, которые привели в нему? Ну или SET-файл им соответствующий, что одно и то же.
Нет. SET-файл - это настройки робота. А мне надо проанализировать результаты оптимизации после её завершения и по определённым параметрам выбрать тот набор параметров (данные для SET-файла), который мне нужен. Пусть для начала это будет результат с наилучшим значением критерия оптимизации. Как получить настройки робота, которые привели в нему? Ну или SET-файл им соответствующий, что одно и то же.
Организуй анализ фреймов. FrameInputs() получает входные параметры отдельного прохода.
В OnTesterPass() получаешь результат каждого прохода, и если надо - записываешь эти данные. А потом, в OnTesterDeinit() - анализируешь все, что получил, выбираешь лучший проход, и его параметры используешь для построения SET-файла, далее, в пакетном режиме запускаешь следующую итерацию с этим файлом. Снова во время оптимизации записываешь результаты проходов, в конце анализируешь, выбираешь лучший проход, и снова строишь новый SET-файл, который опять используешь для новой итерации. И так - пока не найдешь оптимальный SET-файл.
Организуй анализ фреймов. FrameInputs() получает входные параметры отдельного прохода.
В OnTesterPass() получаешь результат каждого прохода, и если надо - записываешь эти данные. А потом, в OnTesterDeinit() - анализируешь все, что получил, выбираешь лучший проход, и его параметры используешь для построения SET-файла, далее, в пакетном режиме запускаешь следующую итерацию с этим файлом. Снова во время оптимизации записываешь результаты проходов, в конце анализируешь, выбираешь лучший проход, и снова строишь новый SET-файл, который опять используешь для новой итерации. И так - пока не найдешь оптимальный SET-файл.
Согласен. Так можно. А что ты имеешь ввиду под "пакетным режимом"?
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Пишу скрипт для автоматизации оптимизации советников. Тут все понятно: выполнил MT5 с соответствующими файлами настройки, и вуаля! Встал вопрос: как можно после получения результатов оптимизации извне получить доступ и проанализировать результаты оптимизации, чтобы выбрать тот или иной сет параметров советника, изменить пару параметров и запустить с ними тест советника (без оптимизации)? Есть идеи?