MT5 Самооптимизация советника

 

Необходимо реализовать самооптимизацию советника. Подскажите кто может на простых примерах кода, дальше разберусь сам.

Интересует как из кода советника запустить тестер, передать в него параметры, оптимизировать, получить прооптимизированные параметры обратно.

Спасибо.

 

Из когда врядли можно запустить тестер.

Для самооптимизации советника - тестер-оптимизатор должен быть внутри самого советника, написан на MQL - задача вполне реальная, но достаточно объемная. Хотя, с другой стороны, все зависит от вашей ТС. Вполне возможно, что адаптивная ее часть может обходиться простой пробежкой по истории, и нахождением оптимального значения для того или иного торгового действия - это, в общем-то уже не так и сложно.

 
Laryx:

Из когда врядли можно запустить тестер.

Для самооптимизации советника - тестер-оптимизатор должен быть внутри самого советника, написан на MQL - задача вполне реальная, но достаточно объемная. Хотя, с другой стороны, все зависит от вашей ТС. Вполне возможно, что адаптивная ее часть может обходиться простой пробежкой по истории, и нахождением оптимального значения для того или иного торгового действия - это, в общем-то уже не так и сложно.

Спасибо за ответ. Просто ждал от mql5 ,что это будет реализовано. Я занимался этой проблемой в mql4, там это реализовывалось через промежуточные файлы. Кстати были неплохие результаты.Сейчас разработал отличный советник , вернее автоматизировал свою ручную торговлю. Там жесткий принцип открытия позиции, а дальше обычное усреднение (не мартин), получается что открытая позиция всегда максимально приближена к цене и малейший откат приводит к профиту. Сейчас оптимизирую вручную раз в неделю, но хочу сделать полный автомат и пустить его на нескольких счетах.
 

Вот обсуждения на эту тему https://www.mql5.com/ru/forum/11277

Сам же я автооптимизацию , в итоге, сделал просто эмулятором. Списки тестируемых параметров прогоняю несколько раз. После каждого параметра сохраняю результат. Один список-одиночные параметры, второй-парные, третий пока не делал-но это уже с облаком. Результат складирую в отдельной папочке, поскольку в паке test он может случайно затереться моими же  тестами типа форвардов. А дальше - ручками. Кстати, надо на Работах попросить-мож, кто сделает автозагрузку сетов в процессе работы терминала.

Тестирование стратегий по расписанию с автоподстановкой результата в советника
Тестирование стратегий по расписанию с автоподстановкой результата в советника
  • www.mql5.com
Суть в следующем: тестим советника ежедневно на данных прошлых суток и результаты оптимизации подставляем в работающего на рынке советника.
 
Paragormon:

Вот обсуждения на эту тему https://www.mql5.com/ru/forum/11277

Сам же я автооптимизацию , в итоге, сделал просто эмулятором.

А эмулятор собственный или какой-то "штатный"?
 
Laryx:

1-Из когда врядли можно запустить тестер.

2-Для самооптимизации советника - тестер-оптимизатор должен быть внутри самого советника, написан на MQL - задача вполне реальная, но достаточно объемная. Хотя, с другой стороны, все зависит от вашей ТС. Вполне возможно, что адаптивная ее часть может обходиться простой пробежкой по истории, и нахождением оптимального значения для того или иного торгового действия - это, в общем-то уже не так и сложно.

  1) можно!

  2) нет

---

Использовать штатный оптимизатор куда  более логично удобно и разумно

 
andrspir:

Необходимо реализовать самооптимизацию советника. Подскажите кто может на простых примерах кода, дальше разберусь сам.

Интересует как из кода советника запустить тестер, передать в него параметры, оптимизировать, получить прооптимизированные параметры обратно.

Спасибо.

   у меня есть опыт в реализации данного механизма

   Я написал в сервис ДЕСК Метаквотам - предложение реализовать в MQL4/5  данный механизм  штатными средствами

    достаточно:


1) получить штатные функции управления полями в закладке ТЕСТЕР  ( CTRL+T)

         1 программно из эксперта заполнить все поля

         2 затем - программно запустить оптимизацию (  фактически нажать кнопочку старт )

         3 дождаться завершения оптимизации

    * сейчас это все реализовано через API ... механизм весьма трудоемкий для обычного пользователя

---

2)  получить штатные функции  доступа к результатам оптимизации

* сейчас это реализовано  ЧЕРЕЗ API

      полученные результаты оптимизации   - из закладки РЕЗУЛЬТАТЫ ОПТИМИЗАЦИИ  - скидываю через API в файл HTML

     затем файл зачитывается и парсится ,      что весьма в общем то для рядового программиста ( не знакомого с API и принципами работы сложно )

---

Мое предложение - всем кому интересна автоматическая оптимизация  попросить МЕТАКВОТОВ реализовать функции в MQL4/5

    

 
Да было бы неплохо, это существенно оасшириь возможности и торговые системы обретут новый вито развития.
 

Горячо поддерживаю. Кроме того, программно надо иметь возможность не только  задавать начальные условия тестера, но и возможность выбирать параметры для оптимизации. И не только выбирать (ставить галочку), но и при необходимости переписывать старт/шаг/стоп. 

Плюс, надо предусмотреть программное обновление сета в советнике.

 
Paragormon:

Горячо поддерживаю. Кроме того, программно надо иметь возможность не только  задавать начальные условия тестера, но и возможность выбирать параметры для оптимизации. И не только выбирать (ставить галочку), но и при необходимости переписывать старт/шаг/стоп. 

Плюс, надо предусмотреть программное обновление сета в советнике.

Все что Вы перечислили - решено ( через API )

На самом деле сложно получить результаты  - которые попадают в окно ТЕСТЕРА - закладка результаты оптимизации

--

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

 
YuraZ:

Все что Вы перечислили - решено ( через API )

На самом деле сложно получить результаты  - которые попадают в окно ТЕСТЕРА - закладка результаты оптимизации

--

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

вот как раз получать результаты - проблем нет никаких....
Причина обращения: