Оптимизатор и его настройка

 

Товарищи помогите советом. Так как сильно не слежу за развитием платформы, то могу не знать о её новинках. Есть следующая потребность в настройке оптимизатора:

В роботе есть 3 параметра: sl, tp, режим. Режим это перечисление. Режим может принимать значение пункты и проценты. 

Если выбраны пункты то мне надо стопы прогнать в диапазоне 100-500 с шагом в 10, а если проценты то в диапазоне 1-10 с шагом в 1.

Как запустить оптимизатор так чтобы он сам поменял значения оптимизируемых параметров в зависимости от выбранного режима ? Может какой-то батник написать, возможно ли такое автоматизировать ?

 
Alexey Oreshkin:

Товарищи помогите советом. Так как сильно не слежу за развитием платформы, то могу не знать о её новинках. Есть следующая потребность в настройке оптимизатора:

В роботе есть 3 параметра: sl, tp, режим. Режим это перечисление. Режим может принимать значение пункты и проценты. 

Если выбраны пункты то мне надо стопы прогнать в диапазоне 100-500 с шагом в 10, а если проценты то в диапазоне 1-10 с шагом в 1.

Как запустить оптимизатор так чтобы он сам поменял значения оптимизируемых параметров в зависимости от выбранного режима ? Может какой-то батник написать, возможно ли такое автоматизировать ?

Если очень хочется - можно автоматизировать. Для этого должен быть исходный код советника MQL4 или MQL5
 
То что внутри можно убрать невалидные варианты это понятно, но это крайний случай так как при этом получается слишком много вариантов для перебора и оптимизатор автоматом включает генетику, а этого не хочется. 
 
input int sl=1;
int stop=sl;

int OnInit()
   {
   if(перечисление==пункты) stop=100+(stop-1)*10;
   return(INIT_SUCCEEDED);
   }
 

Ну, вот - совсем не хочется. 

Есть ещё пожелания? 

 
Alexey Oreshkin:
То что внутри можно убрать невалидные варианты это понятно, но это крайний случай так как при этом получается слишком много вариантов для перебора и оптимизатор автоматом включает генетику, а этого не хочется. 

Генетика в пятёрке включается при большом количестве проходов а если в пределах сотни то производится каждый тест. Можно делать в несколько этапов сначала предварительная престрелка а потом более точно. В коде вставляется input перед а в оптимизаторе выбираете шаг, это просто

 
По идее, должна помочь функция ParameterSetRange(). Правда, в своё время она мне почему-то не очень помогла в подобной задаче.
Документация по MQL5: Работа с результатами оптимизации / ParameterSetRange
Документация по MQL5: Работа с результатами оптимизации / ParameterSetRange
  • www.mql5.com
ParameterSetRange - Работа с результатами оптимизации - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksey Nikolayev:
По идее, должна помочь функция ParameterSetRange(). Правда, в своё время она мне почему-то не очень помогла в подобной задаче.

Покрутил эту функцию. Она делает то что надо, но частично. Я получается могу создать некие снапшоты, но немогу их перебирать для запуска оптимизации, могу только через фреймы работать с готовым результатом. Жаль, ладно, придётся по старинке.