Обзор интерфейса IIstrategyParameter.

Обзор интерфейса IIstrategyParameter.

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

 

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

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

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

 

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

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

 

 

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

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

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

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

1. StrategyParameterInt

2. StrategyParameterDecimal.

3. StrategyParameterDecimalCheckBox

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

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

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

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

 

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

Код самого интерфейса и всех параметров находится в файле StrategyParameter.cs. В репозитории OsEngine на ГитХаб это здесь.

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

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

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

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

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

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

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

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

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

 

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

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

1. StrategyParameterInt – целочисленное значение.

2. StrategyParameterDecimal – число с плавающей запятой.

3. StrategyParameterString – перечисление или строковое значение.

4. StrategyParameterBool – булево значение. True / False.

5. StrategyParameterTimeOfDay – время внутри дня.

6. StrategyParameterButton – кнопка внутри дня.

7. StrategyParameterLabel – надпись в окне параметров.

8. StrategyParameterCheckBox – галочка. True / False.

9. StrategyParameterDecimalChecBox – галочка и значение одновременно.

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

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

Поддержка OsEngine: https://t.me/osengine_official_support

19:16
329
FAQ

Комментарии

Нет комментариев. Ваш будет первым!