StrategyParameterButton – описание и пример использования в OsEngine.

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

Состоит из следующих членов:

StrategyParameterButton – общедоступный конструктор с параметрами, инициализирует начальное состояние объекта. Принимает следующие данные:

  1. buttonLabel – имя, отображаемое на кнопке;
  2. tabName – имя вкладки, на которой должен отображаться параметр;

StrategyParameterButton – закрытый конструктор без параметров.

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

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

Value – публичное поле типа TimeOfDay, содержит основное значение параметра – время дня.

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

LoadParamFromString – общедоступный метод, не несет функциональной нагрузки, требуется для соответствия интерфейсу.

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

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

ValueChange – общедоступное событие, не несет функциональной нагрузки, требуется для соответствия интерфейсу.

Click – публичный метод, обрабатывает событие нажатия на реальную кнопку в пользовательском интерфейсе, вызывает событие UserClickOnButtonEvent.

UserClickOnButtonEvent – публичное событие, высылает сигнал нажатия на кнопку.

Возвращаемся к нашему подопытному боту. Предположим, мы хотим отображать в логах некую информацию о расчетах, но не хотим, чтобы робот спамил ей постоянно с какой-либо периодичностью. Добавим в параметры кнопку, которая в лог будет писать текущее отклонение цены в процентах от SMA.

Рис. 1. Пример использования StrategyParameterButton.

  1. добавляем закрытое поле с типом параметра StrategyParameterButton;
  2. создаем экземпляр класса параметра при помощи метода CreateParameterButton;
  3. подписываемся на событие нажатия кнопки;
  4. создаем метод обработчик события нажатия на кнопку, в методе вычисляем текущее отклонение и выводим в лог;

После проделанных операций посмотрим, как это выглядит в интерфейсе пользователя:

Рис. 2. Применение StrategyParameterButton в интерфейсе программы.

17:54
33
FAQ

Комментарии

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