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

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

StrategyParameterButton представляет собой кнопку, которую пользователь видит в окне параметров и нажатием которой можно совершать какие-то действия.

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

Расположение в репозитории ГитХаб: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Entity/StrategyParameter.cs

Расположение в проекте, если отрыть его на ПК:

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

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

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

Можете посмотреть в технических примерах внутри проекта OsEngine. Например, в ChangePriceBotExtStopMarket. В этом роботе используются кнопки для запуска торговой логики.

На картинке Вы видите создание параметра «кнопка» и подписку на событие нажатия на кнопку:

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

 

Вид в интерфейсах.

Параметр Button выглядит в настройках робота как кнопка:

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

Оптимизировать данный тип параметра нельзя автоматически. Более того, в оптимизаторе параметр Button не отображается!

Например, робот из примера выше в оптимизаторе будет выглядеть так:

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

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

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

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

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

Кнопка в окне параметров. StrategyParameterButton. Параметры робота #7

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

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

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