Количество переменных в MQL5

 
Какое максимальное количество пользовательских переменных в настройках советника поддерживает MQL5?

Хочу создать мультивалютный советник который работает по 52 валютным парам.

Каждая валютная пара имеет по 45 настроек и еще 65 общих настроек советника. Итого получается 52х45 + 65 = 2405 настроек.

Не загнётся ли MQL5 от столько настроек?

Или MQL5 на столько еще не продвинулся и остался с ограничительным рудиментом в 1280 пользовательских переменных?

 
Aidas Geguzis:
 

Хочу создать мультивалютный советник который работает по 52 валютным парам.

Каждая валютная пара имеет по 45 настроек и еще 65 общих настроек советника. Итого получается 52х45 + 65 = 2405 настроек.

Ты представляешь себе вписывание стольки настроек в советник при запуске ?  (Я уж не говорю, что когда так много настроек - 45 на пару - то ты с большой вероятностью получишь сильную "подстройку под кривую").

Не проще ли сделать ini-файл, в котором все эти настройки и прописывать ?

Лично я - вобще все настройки каждой пары прописываю прямо в коде эксперта.

 
Georgiy Merts:

Не проще ли сделать ini-файл, в котором все эти настройки и прописывать ?

Как написать ini-файл? Где он должен храниться и какова его структура?

 
Aidas Geguzis:
Какое максимальное количество пользовательских переменных в настройках советника поддерживает MQL5?

Хочу создать мультивалютный советник который работает по 52 валютным парам.

Каждая валютная пара имеет по 45 настроек и еще 65 общих настроек советника. Итого получается 52х45 + 65 = 2405 настроек.

Не загнётся ли MQL5 от столько настроек?

Или MQL5 на столько еще не продвинулся и остался с ограничительным рудиментом в 1280 пользовательских переменных?

У меня 28 пар и 2500 настроек в роботе, нормально работает на реале и демо, но в тестере есть ограничение, по моему 1024 настройки. Пришлось обходить это ограничение через файл. То есть засунуть туда можно эти настройки и тестировать, но придется выдумывать.
 
Да простят меня боги форума, но ребят, это сумасшествие... Не надо так(((
 
Maxim Romanov:
У меня 28 пар и 2500 настроек в роботе, нормально работает на реале и демо, но в тестере есть ограничение, по моему 1024 настройки. Пришлось обходить это ограничение через файл. То есть засунуть туда можно эти настройки и тестировать, но придется выдумывать.
Вы в ручную настраиваете все 2500 настроек под каждую пару? Даже не представляю что там можно настраивать в таком огромном объёме. Вы в один советник сразу все имеющиеся индикаторы запихнули?
 
Alexandr Saprykin:
Вы в ручную настраиваете все 2500 настроек под каждую пару? Даже не представляю что там можно настраивать в таком огромном объёме. Вы в один советник сразу все имеющиеся индикаторы запихнули?

Да, присоединяюсь к вопросу - у меня на каждую пару до шести настроек, и я считаю, что это многовато. А тут - две с половиной тысячи !!!

 
Sergey Savinkin:

Как написать ini-файл? Где он должен храниться и какова его структура?

Все файлы лежат в файловой области терминала. А структура - это обычный windows ini-файл.

В КодоБазе - есть готовые классы для работы с этим файлом.

.ini — Википедия
  • ru.wikipedia.org
Появились с самых первых версий Windows. В версии Windows 1.01 это был только файл WIN.INI. В Windows 3.0 добавился файл SYSTEM.INI. А затем их количество начало расти быстро и бесконтрольно. Не существует подробной официальной спецификации формата. Начиная с Windows 95, INI файлы считаются устаревшими и в качестве замены им Microsoft...
 
Georgiy Merts:

Ты представляешь себе вписывание стольки настроек в советник при запуске ?  (Я уж не говорю, что когда так много настроек - 45 на пару - то ты с большой вероятностью получишь сильную "подстройку под кривую").

Не проще ли сделать ini-файл, в котором все эти настройки и прописывать ?

Лично я - вобще все настройки каждой пары прописываю прямо в коде эксперта.

зачем .ini? Я записываю и храню настройки советника в .set файлах.

Если запись настроек в .ini файлах, то как тогда проводить оптимизацию параметров советника?

 
Sergey Savinkin:

Как написать ini-файл? Где он должен храниться и какова его структура?

long test_1, test_2, test_3;
//+------------------------------------------------------------------+
//| Expert Save settings function                                    |
//+------------------------------------------------------------------+
void SaveSettings()
{
  string file_name = Symbol() + ".dat";
  int file_handle;
  file_handle = FileOpen(file_name, FILE_WRITE|FILE_BIN);
  if(file_handle != INVALID_HANDLE)
  {
    if(FileSeek(file_handle, 0, SEEK_CUR) == true)
    {
      FileWriteLong(file_handle, test_1);
      FileWriteLong(file_handle, test_2);
      FileWriteLong(file_handle, test_3);
    } 
    FileClose(file_handle); 
  } 
}
//+------------------------------------------------------------------+
//| Expert Load setings function                                     |
//+------------------------------------------------------------------+
void LoadSettings()
{
  string file_name = Symbol() + ".dat";
  int file_handle;
  if(FileIsExist(file_name, 0))
  {
    file_handle = FileOpen(file_name, FILE_READ|FILE_BIN);
    if(file_handle != INVALID_HANDLE)
    {
      test_1 = FileReadLong(file_handle);
      test_2 = FileReadLong(file_handle);
      test_3 = FileReadLong( file_handle );
      FileClose(file_handle);
    }
  } 
 
Спасибо, с ini понятно. Это обычный файл в любом формате, куда можно сохранять настройки и считывать. Я думал, существует стандартные механизмы, при которых в тестере автоматически подхватывается ini-файл, отсюда и вопрос был.