В данном посте поговорим о параметрах индикаторов в OsEngine. Какие они бывают. Как их добавлять в индикатор. Как различные типы параметров потом выглядят в пользовательском интерфейсе.
Параметры для индикаторов упрощают и стандартизируют настройку индикаторов в OsEngine. Позволяют несколькими строками кода дать возможность пользователю настраивать индикатор, дают автоматические средства для сохранения настроек между перезагрузками.
Всего в слое создания индикаторов есть четыре различных типа параметров:
- Int – числовой.
- Decimal – числовой с точностью после нуля.
- Bool – булев параметр, принимающий значение True или False.
- String – строка или коллекция строк.
Посмотреть на реализацию параметров для индикаторов можно вот в этом классе:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Indicators/IndicatorParameter.cs
Также в проекте есть пример добавления всех типов параметров в индикатор:
Далее мы будем добавлять по одному типу параметров в пример и смотреть, как они выглядят в пользовательском интерфейсе.
1. Int – числовой параметр.
Добавляем в индикатор параметр:
- Создаём поле класса с типом IndicatorParametrInt. Называем его ParameterLen.
- Создаём сам индикатор путём вызова метода CreateParameterInt.
- Первый параметр – название параметра, то, что будет отображаться в интерфейсе.
- Второй параметр – значение параметра по умолчанию.
- Так можно обращаться к параметру. В данном случае мы взяли у параметра его значение и сохранили в переменную parameterInt.
В интерфейсе данный параметр будет выглядеть следующим образом:
- Название параметра.
- Значение параметра. Здесь его можно править – вводить целочисленные значения.
2. Decimal – числовой с точностью после нуля.
Добавляем параметр в индикатор:
- Создаём поле класса с типом IndicatorParametrDecimal. Называем его ParameterDeviationPercent.
- Создаём сам индикатор путём вызова метода CreateParameterDecimal.
- Первый параметр – название параметра, то, что будет отображаться в интерфейсе.
- Второй параметр – значение параметра по умолчанию.
- Так можно обращаться к параметру. В данном случае мы взяли у параметра его значение и сохранили в переменную parameterDecimal.
В интерфейсе данный параметр будет выглядеть следующим образом:
- Название параметра.
- Значение параметра. Здесь его можно править – вводить цифровые значения со значениями после запятой.
3. Bool – булев параметр, принимающий значение True или False.
Добавляем параметр в индикатор:
- Создаём поле класса с типом IndicatorParametrBool. Называем его ParameterAverageIsOn.
- Создаём сам индикатор путём вызова метода CreateParameterBool.
- Первый параметр – название параметра, то, что будет отображаться в интерфейсе.
- Второй параметр – значение параметра по умолчанию.
- Так можно обращаться к параметру. В данном случае мы взяли у параметра его значение и сохранили в переменную parameterBool.
- Возможное использование значения – это в операторе перехода.
В интерфейсе данный параметр будет выглядеть следующим образом:
- Название параметра.
- Значение параметра. Во всплывающем меню можно выбрать True или False.
4. String – коллекция строк.
Добавляем параметр в индикатор:
- Создаём поле класса с типом IndicatorParametrString. Называем его ParameterRegime.
- Создаём сам индикатор путём вызова метода CreateParameterStringCollection.
- Первый параметр – название параметра, то, что будет отображаться в интерфейсе.
- Второй параметр – значение параметра по умолчанию.
- Массив с возможными значениями параметра, из которых сможет выбирать пользователь.
- Так можно обращаться к параметру. В данном случае мы взяли у параметра его значение и сохранили в переменную parameterString.
В интерфейсе данный параметр будет выглядеть следующим образом:
- Название параметра.
- Значение параметра. Во всплывающем меню можно выбрать из списка значений, которые были переданы в параметр при создании.
5. String – строка для заполнения.
Добавляем параметр в индикатор:
- Создаём поле класса с типом IndicatorParametrString. Называем его ParameterPathToFolder.
- Создаём сам индикатор путём вызова метода CreateParameterString.
- Первый параметр – название параметра, то, что будет отображаться в интерфейсе.
- Второй параметр – значение параметра по умолчанию.
- Так можно обращаться к параметру. В данном случае мы взяли у параметра его значение и сохранили в переменную parameterString.
В интерфейсе данный параметр будет выглядеть следующим образом:
- Название параметра.
- Значение параметра. В данном случае можно править его прямо из пользовательского интерфейса.
Удачных алгоритмов!
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php