StrategyParameterString представляет собой обертку для перечислений и строковых значений. Будем разбираться с тем, где данный параметр находится в OsEngine и как его использовать.
Расположение в репозитории ГитХаб.
Расположение в проекте, если отрыть его на ПК:

Сам класс выглядит следующим образом:

Включает следующие члены:
StrategyParameterString – общедоступный конструктор с параметрами. Инициализирует начальное состояние объекта. При этом внутрь передаётся коллекция строк, из которой пользователь потом может выбирать. Принимает следующие данные:
name – название для экземпляра;
value – значение по умолчанию;
collection – список допустимых значений для параметра;
tabName – имя вкладки, на которой должен отображаться параметр;
StrategyParameterString – общедоступный конструктор с параметрами. Инициализирует начальное состояние объекта. При использовании данного конструктора в параметр можно будет вписать любое значение. Принимает следующие данные:
name – название для экземпляра;
value – значение по умолчанию;
tabName – имя вкладки, на которой должен отображаться параметр;
StrategyParameterString – закрытый конструктор без параметров.
GetStringToSave - общедоступный метод. Возвращает строку с настройками объекта параметра для сохранения.
LoadParamFromString - общедоступный метод. Принимает массив строк с настройками для параметра и инициализирует состояние объекта.
Name – публичное свойство типа string. Возвращает отображаемое имя параметра, оно должно быть уникальным в рамках робота.
TabName – публичное свойство типа string. Предоставляет доступ к имени вкладки, на которой будет отображаться параметр в окне параметров.
Type – публичное свойство типа StrategyParameterType. Возвращает значение StrategyParameterType.String.
ValueString– публичное свойство типа string. Задает или возвращает текущее основное значение параметра. Именно к этому значению нужно обращаться из кода робота. Тут хранится значение, которое пользователь выбрал в интерфейсе.
ValuesString – публичное свойство типа List<string>. Возвращает список значений, доступных для ValueString.
ValueChange - общедоступное событие. Сигнализирует об изменении значения ValueString.
Пример использования.
Можете посмотреть в технических примерах внутри проекта OsEngine. Например, в CustomParamsUseBotSample:

Здесь переменная Regime используется для определения торгового режима у робота. Создаётся в конструкторе:

Используется в качестве дополнительной точки выхода из торговой логики, если пользователь выбрал Off:
Вид в интерфейсах.
В окне параметров робота данный параметр виден во всплывающем меню:

В оптимизаторе это выглядит так:

Удачных алгоритмов!
P.S.
Os Engine поддержка терминала: https://t.me/osengine_official_support
Обсуждаем в телеграмме: https://t.me/o_s_a_chat
Канал проекта: https://t.me/bad_quant
Комментарии