Как автоматически запускать советник в тестере стратегий?

 
Я запускаю советник вручную через терминал метатрйдер 5 в тестере стратегий с разными настроками входных значений, причём эти значения зависят друг от друга. Т.е. первый запуск идёт с произвольными значениями настроек, второй запуск с настройками, полученными в результате первого прогона, третий с настройками, получившимися во втором прогоне и т.д. Можно ли автоматизировать этот процесс, т.е. вызывать прогон советника в тестере автоматически? Ну например написать ещё один советник или скрипт, который бы вызывал другого советника с разными входными параметрами, получал результаты тестирования, вызывал его с другими параметрами  и т.д.?
Документация по MQL5: Общие функции / TesterStatistics
Документация по MQL5: Общие функции / TesterStatistics
  • www.mql5.com
TesterStatistics - Общие функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Roman Dieser:
Я запускаю советник вручную через терминал метатрйдер 5 в тестере стратегий с разными настроками входных значений, причём эти значения зависят друг от друга. Т.е. первый запуск идёт с произвольными значениями настроек, второй запуск с настройками, полученными в результате первого прогона, третий с настройками, получившимися во втором прогоне и т.д. Можно ли автоматизировать этот процесс, т.е. вызывать прогон советника в тестере автоматически? Ну например написать ещё один советник, который бы вызывал другого советника с разными входными параметрами, получал результаты тестирования, вызывал его с другими параметрами  и т.д.?

Разве это не оптимизация?

 
Alexey Viktorov #:

Разве это не оптимизация?

Ну можно наверное сказать, что это мета-оптимизация. Второму советнику не нужно быть привязанным к инструменту, таймфрейму, тикам и т.п. Ему нужно просто вызывать первого советника с разными параметрами, получать результаты, и вызывать его опять с другими входными параметрами. Возможно такой мета-программой должен быть не советник, а скрипт.

 

Я имел ввиду это


 
Я же и говорю, что это действительно можно рассматривать как вариант оптимизации. Чтобы не перебирать все комбинации значений всех параметров, можно оптимизировать параметры по одному. Вручную. Хотелось бы это автоматизировать. Например запустить скрипт, который сам бы вызывал советника с разными параметрами -- не всеми подряд, а теми, которые определяются в результате предыдущего шага оптимизации.
 
https://www.mql5.com/ru/code/26132

Или  похожее творение этого автора. У него несколько похожих библиотек.
 
pivomoe #:
https://www.mql5.com/ru/code/26132

Или  похожее творение этого автора. У него несколько похожих библиотек.
Да, это идея. Спасибо. Но я тут посмотрел: оказывается метатрейдер можно запускать из командной строки с разными параметрами, в т.ч. в режиме тестера стратегий с указанием куда записать файл отчёта. Т.е. можно написать программу на любом языке (например на питоне), которая бы вызывала метатрейдер с разными настройками -- в зависимости от того, что получается в отчётах тестирования.
 
Roman Dieser:
Я запускаю советник вручную через терминал метатрйдер 5 в тестере стратегий с разными настроками входных значений, причём эти значения зависят друг от друга. Т.е. первый запуск идёт с произвольными значениями настроек, второй запуск с настройками, полученными в результате первого прогона, третий с настройками, получившимися во втором прогоне и т.д. Можно ли автоматизировать этот процесс, т.е. вызывать прогон советника в тестере автоматически? Ну например написать ещё один советник или скрипт, который бы вызывал другого советника с разными входными параметрами, получал результаты тестирования, вызывал его с другими параметрами  и т.д.?
Могу продать готовое решение, полностью перекрывает вашу задачу, управление из скрипта или советника, не внешнее. Помогу с написанием кода. Если надо, покажу реальный пример работы.
 
Roman Dieser #:
Да, это идея. Спасибо. Но я тут посмотрел: оказывается метатрейдер можно запускать из командной строки с разными параметрами, в т.ч. в режиме тестера стратегий с указанием куда записать файл отчёта. Т.е. можно написать программу на любом языке (например на питоне), которая бы вызывала метатрейдер с разными настройками -- в зависимости от того, что получается в отчётах тестирования.

   Зачем вам файл отчета? В конце прохода вызывается функция OnTester, с помощью нее можно писать в общую папку клиентских терминалов, что угодно.

    Через командный файл я тоже побывал. Но этот методом надежнее. Пользуюсь им уже несколько месяцев в режиме 24 часа 7 дней в неделю. Работает идеально.

     Я все реализовал с помощью вот этой библиотеке https://www.mql5.com/ru/code/19003

Expert
Expert
  • www.mql5.com
Библиотека чтения/записи параметров произвольных советников.
 
Aliaksandr Hryshyn #:
Могу продать готовое решение, полностью перекрывает вашу задачу, управление из скрипта или советника, не внешнее. Помогу с написанием кода. Если надо, покажу реальный пример работы.
Скромнее пожалуйста, это форум же!
 
Aleksei Beliakov #:
Скромнее пожалуйста, это форум же!

Наоборот, пусть говорит суть решения. 

Лично я подобные вещи сделал через создание файлов с отчетами по эксперту, а потом на основе этих файлов создаются bat-файлы, в которых запускается оптимизация "на основе результатов". Результаты, в свою очередь опять создают файлы отчетов, на основе которых скриптом можно создать новые bat-файлы, и они вновь могут быть запущены и так далее. 

Причина обращения: