StrategyParameterButton представляет собой кнопку, которую пользователь видит в окне параметров и нажатием которой можно совершать какие-то действия.
Расположение в репозитории ГитХаб.
Расположение в проекте, если отрыть его на ПК:

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

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. В этом роботе используются кнопки для запуска торговой логики.
На картинке Вы видите создание параметра «кнопка» и подписку на событие нажатия на кнопку:

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

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

Удачных алгоритмов!
P.S.
Os Engine поддержка терминала: https://t.me/osengine_official_support
Обсуждаем в телеграмме: https://t.me/o_s_a_chat
Канал проекта: https://t.me/bad_quant
Общество с ограниченной ответственностью "ВАН ТЕХНОЛОГИИ"
специализируется на разработке программного обеспечения для алгоритмической торговли на биржах.
ИНН 2373023082 ОГРН 1232300013593 т. +7 953 769 56 45 почта: alexey@o-s-a.net
353225, Россия, Краснодарский край, Динской м.р-н,
Васюринское с.п., Васюринская ст-ца, Луначарского ул., д. 142
Основной ОКВЭД: 62.01 - разработка компьютерного программного обеспечения.
Дополнительный ОКВЭД: - 46.66 - 47.41 - 47.99 - 62.02 - 62.09 - 63.11 - 63.11.1 - 82.99 - 95.11
Open Source Algo Trading Platform
Программа предназначена для автоматизации процесса торговли на бирже. Программа обеспечивает реализацию следующих функций: создание автоматизированных торговых систем для торговли на бирже; тестирование автоматизированных торговых систем; скачивание и сохранение исторических данных по торгам на биржах; оптимизация механических торговых систем; подключение к биржам и торговля на них. ОС: Windows 10/11, Windows Server 2012/2016/2019/2022. Язык программирования: C# Внесена в единый реестр российского программного обеспечения (Реестровая запись №30086 от 06.10.2025): https://reestr.digital.gov.ru/reestr/4075388/
Комментарии