Библиотеки: Input_Struct - страница 2

 

Добавлено перечисление.

Удобно использовать для визуализации нужного поля из БД.

#property script_show_inputs

#define iInput01 Num
#define dInput01 Koef

#include <fxsaber\Input_Struct\Input_Struct.mqh> // https://www.mql5.com/ru/code/47932

input bool inLoad = true;        // Load/Save
input ENUM_INPUT_STRUCT inIndex; // Выбор поля

void OnStart()
{
  INPUT_STRUCT Inputs[5];

  if (inLoad) // Прочли БД
    for (int i = (int)FileLoad(__FILE__, Inputs) - 1; i >= 0; i--)
      Print(Inputs[i][inIndex]); // Взяли нужное поле из БД
  else // Сохранили БД
  {
    Inputs[0] = "Num = 50, Koef = 1.023";
    Inputs[1] = "Num = 51, Koef = 1.123";
    Inputs[2] = "Num = 52, Koef = 1.223";
    Inputs[3] = "Num = 53, Koef = 1.323";
    Inputs[4] = "Num = 54, Koef = 1.423";
    
    FileSave(__FILE__, Inputs);
  }
}


Результат.


1.423
1.323
1.223
1.123
1.023


Самое простое применение - выбор поля из БД для формирования индикаторного буфера нужным значением.

 

fxsaber, извиняюсь, что не совсем по теме, но может вы сможете объяснить почему разработчики терминала так упорно отказываются от выпадающих меню в input параметрах? Все эти варианты со множеством параметров в одной строке конечно хороши, но у этого подхода есть один важный минус, их нельзя простым способом подключить к оптимизатору тестера.

И то, что вы доказываете, что при определенном подходе опытный(!) программист может сам замутить кастомный оптимизатор (хоть какую-то оптимизацию, прописав изменяемые параметры прямо в коде) тоже выглядит прекрасным... но блин почему все-таки не предлагается решения с менюшками? Была бы возможность делать выпадающие меню, можно было бы как угодно формировать любое(!) количество внешних параметров (в удобочитаемой и удобноиспользуемой форме), и все они при желании легко могли бы быть доступны в официальном оптимизаторе.

Почему этого не делают? Какова настоящая причина? Это же не должно быть сложным...