StrategyParameterButton представляет собой кнопку, которую пользователь видит в окне параметров и нажатием которой можно совершать какие-то действия.
Расположение в репозитории ГитХаб: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Entity/StrategyParameter.cs
Расположение в проекте, если отрыть его на ПК:
Сам класс выглядит следующим образом:
StrategyParameterButton – класс, предоставляющий возможность добавить кнопку в окно параметров и повесить обработчик на ее событие клика. Таким образом можно добавить в алгоритм любой функционал для ручного управления, при этом не прибегая к созданию дополнительных окон. В платформе есть бесплатный робот ElementsOnChartSampleBot, демонстрирующий процесс добавления графических элементов на график при помощи этого параметра.
Состоит из следующих членов:
StrategyParameterButton – общедоступный конструктор с параметрами. Инициализирует начальное состояние объекта. Принимает следующие данные:
StrategyParameterButton – закрытый конструктор без параметров.
Name – публичное свойство типа string. Возвращает имя параметра уникальное в рамках робота, в котором используется параметр.
TabName – публичное свойство типа string. Предоставляет доступ к имени вкладки, на которой будет отображаться параметр в окне параметров.
Value – публичное поле типа TimeOfDay. Содержит основное значение параметра – время дня.
GetStringToSave – общедоступный метод. Возвращает строку с настройками объекта параметра для сохранения.
LoadParamFromString – общедоступный метод. Не несет функциональной нагрузки, требуется для соответствия интерфейсу.
Name – публичное свойство типа string. Возвращает отображаемое имя параметра, оно должно быть уникальным в рамках робота.
Type – публичное свойство типа StrategyParameterType. Возвращает значение StrategyParameterType.Button.
ValueChange – общедоступное событие. Не несет функциональной нагрузки, требуется для соответствия интерфейсу.
Click – публичный метод. Обрабатывает событие нажатия на реальную кнопку в пользовательском интерфейсе, вызывает событие UserClickOnButtonEvent.
UserClickOnButtonEvent – публичное событие. Высылает сигнал нажатия на кнопку.
Можете посмотреть в технических примерах внутри проекта OsEngine. Например, в ChangePriceBotExtStopMarket. В этом роботе используются кнопки для запуска торговой логики.
На картинке Вы видите создание параметра «кнопка» и подписку на событие нажатия на кнопку:
Параметр Button выглядит в настройках робота как кнопка:
Оптимизировать данный тип параметра нельзя автоматически. Более того, в оптимизаторе параметр Button не отображается!
Например, робот из примера выше в оптимизаторе будет выглядеть так:
Удачных алгоритмов!
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка 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