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

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
99
FAQ

Комментарии

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