Изображение блога
OS_Engine_team
OS_Engine_team Блог компании Os_Engine
14 августа 2024, 18:35

Обзор интерфейса IIstrategyParameter. Параметры робота #1

Это введение по минисерии статей в рамках нашего гайда о том, что такое параметры у роботов, какие они бывают в OsEngine, и как использовать окно параметров для того, чтобы управлять роботом.

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

Обзор интерфейса IIstrategyParameter. Параметры робота #1

Как правило, большинство торговых алгоритмов имеет настраиваемые параметры, которые позволяют гибко настраивать систему для разных рынков и инструментов. Более того, с разными настройками робот может показывать совершенно разные результаты на одной и той же бумаге.

Конечно можно в роботах задействовать собственные варианты внедрения настроек, но куда предпочтительнее использовать специально созданные для этого классы. Ведь стандартные параметры сразу прорисовываются в интерфейсе тестера, торговой станции и оптимизатора.

Все типы параметров реализуют интерфейс IIStrategyParameter.

 

1. Параметры в окне настроек BotStation и тестера.

Использование готовых параметров дает возможность программе выводить настройки робота в специальном окне без необходимости создания для этого дополнительных модулей. Доступ к этому окну можно получить, нажав кнопку «Параметры», у конкретного робота:

Обзор интерфейса IIstrategyParameter. Параметры робота #1
Рис. 1. Вызов окна параметров у робота.

 

2. Параметры в оптимизаторе.

Во-вторых, роботы, задействующие параметры, могут быть использованы в оптимизаторе OsEngine.

Оптимизатор автоматически подтягивает все параметры из стратегии, позволяет настроить их должным образом и тестирует робота, перебирая все доступные комбинации.

Следует заметить, что оптимизатор умеет перебирать значения не всех параметров. Для итераций подходят:

  1. StrategyParameterInt
  2. StrategyParameterDecimal.
  3. StrategyParameterDecimalCheckBox
  4. Остальные конфигурирует пользователь до начала процесса оптимизации.

Оптимизируемые параметры Int и Decimal:

Обзор интерфейса IIstrategyParameter. Параметры робота #1
Рис. 2. Внешний вид таблицы параметров в оптимизаторе. Параметры Decimal, Int

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

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

Обзор интерфейса IIstrategyParameter. Параметры робота #1
Рис. 3. Внешний вид таблицы параметров в оптимизаторе. Параметр DecimalCheckBox

 

3. Параметры в исходниках.

Код самого интерфейса и всех параметров находится в файле StrategyParameter.cs. В репозитории OsEngine на ГитХаб это здесь: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Entity/StrategyParameter.cs

Внутри самого проекта, если его открыть, это находится здесь:

Обзор интерфейса IIstrategyParameter. Параметры робота #1
Рис. 4. Расположение класса в структуре проекта.

Сам интерфейс выглядит так:

Обзор интерфейса IIstrategyParameter. Параметры робота #1
Рис. 5. Интерфейс IIStrategyParameter.

Классы, реализующие интерфейс IIStrategyParameter, обязаны иметь следующие члены:

Name – публичное свойство типа string. Возвращает отображаемое имя параметра, оно должно быть уникальным в рамках робота.

GetStringToSave — общедоступный метод. Возвращает строку с настройками объекта параметра для сохранения.

LoadParamFromString — общедоступный метод. Принимает массив строк с настройками для параметра и инициализирует состояние объекта.

Type – публичное свойство типа StrategyParameterType. Возвращает тип параметра.

TabName – публичное свойство типа string. Предоставляет доступ к имени вкладки, на которой будет отображаться параметр в окне параметров.

ValueChange – общедоступное событие. Сигнализирует об изменении основного значения параметра.

 

4. Типы параметров роботов для OsEngine.

В том же классе, что и выше, можно найти перечисление со списком типов параметров, которые Вам доступны:

Обзор интерфейса IIstrategyParameter. Параметры робота #1
Рис. 6. Типы параметров в OsEngine.

  1. StrategyParameterInt – целочисленное значение.
  2. StrategyParameterDecimal – число с плавающей запятой.
  3. StrategyParameterString – перечисление или строковое значение.
  4. StrategyParameterBool – булево значение. True / False.
  5. StrategyParameterTimeOfDay – время внутри дня.
  6. StrategyParameterButton – кнопка.
  7. StrategyParameterLabel – надпись в окне параметров.
  8. StrategyParameterCheckBox – галочка. True / False.
  9. StrategyParameterDecimalChecBox – галочка и значение одновременно.

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

Удачных алгоритмов!

Комментарии открыты для друзей!

Обзор интерфейса IIstrategyParameter. Параметры робота #1

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

Обзор интерфейса IIstrategyParameter. Параметры робота #1

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн