А почему бы не поместить входные параметры в структуру? - страница 3

 
Комбинатор:
То задайте параметры файлом.

Кстати, да.

Если много параметров, то, на мой взгляд, INI-файл - самое "то, что дохтур прописал". 

Можно использовать прямо готовые Windows-функции работы с INI-файлами. Хотя, у меня - свои, самописные.

 
Taras Slobodyanik:

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


Да, верно.

 
Alexey Volchanskiy:

Да, верно.

Пример удобства можете показать? Никак не могу понять, о чем речь.

 
Ihor Herasko:

То есть не удивляет наличие двух окошек настроечных параметров: стандартное и новое?

Запускайте советник без стандартного окошка.

 
fxsaber:

Вроде, ветка не об этом, т.к. упоминается mqh-файл. А определить структуру - это то же самое, что написать все поля. Т.е. одно и то же.


Вроде я достаточно четко написал, но повторюсь на примере. Есть советник, у него 100 параметров input, все их надо передать в экземпляр класса алгоритма, где и происходит вся работа. Есть два пути:

  1. Сделать в классе функцию(-ции) установки параметров. Теперь представляем в уме функцию со 100 параметрами. Кстати, в MQL5 есть предел на количество параметров функции?
  2. Класс определяется после входных переменных, т.о. они видны из советника. Недостаток - меньше гибкости в случае использования множества экземпляров класса. Плюс - минимум писанины.

    input double LotSize = 0.1;
    // другие 100 input переменных...
    
    #include <MyLib\MyClassEA.mqh>
    CMyClassEA MyEA;
То есть проблема в том, как передать input переменные в экземпляр класса алгоритма
 
fxsaber:

Пример удобства можете показать? Никак не могу понять, о чем речь.


Что проще, передавать в функцию инициализации 100 параметров или ссылку на одну структуру с входными параметрами?

 
George Merts:

Кстати, да.

Если много параметров, то, на мой взгляд, INI-файл - самое "то, что дохтур прописал". 

Можно использовать прямо готовые Windows-функции работы с INI-файлами. Хотя, у меня - свои, самописные.


Смысл в том, чтобы оставить возможность стандартной оптимизации. С ini это разве возможно?

 
Ihor Herasko:

Сейчас так и делается. Заодно к советнику прилагается "Редактор" такого файла в виде DLL, которая отображает окно с разложенными по закладкам параметрами.

То есть все можно. Никто не спорит. Другое дело, что если бы это было в виде готового функционала в терминале, то вообще бы здорово было.


А как делаете оптимизацию? Уже не первый раз это спрашиваю и все молчат.

 
Alexey Volchanskiy:

Смысл в том, чтобы оставить возможность стандартной оптимизации. С ini это разве возможно?

Возможно. Правда, не понял, зачем ini.

 
fxsaber:

Запускайте советник без стандартного окошка.


Это как? Я действительно не понимаю, как это возможно. Знаю такую фишку для скриптов, но не для экспертов и индикаторов.

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