Блог им. UHSF

Оформление окна Параметров OsEngine

    • 11 марта 2025, 12:46
    • |
    • UHSF
  • Еще

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

 

Знакомиться с функционалом будем на примере робота VisualSettingsParametersExample. Открываем проект OsEngine в Visual Studio и находим файл в папке Robots\TechSamples:

Оформление окна Параметров OsEngine

Открываем робота, смотрим Конструктор:

Оформление окна Параметров OsEngine

Выделены 2 области:
1. Привычное создание Параметров. Здесь отдельные настройки для Лонга и Шорта.

2. Настройки оформления Параметров (цвета и границы).

 

Подробнее нас интересует 2 область. Тут происходит настройка оформления Параметров.
Для этого используются соответствующие конкретной настройке методы:
SetForeColorParameter() – устанавливает цвет текста Параметра;
SetSelectionColorParameter() – устанавливает цвет выделенного текста Параметра;

SetBorderUnderParameter() – устанавливает границу под Параметром.

 

Все эти методы принимают имя Параметра (string), цвет (System.Drawing.Color), а третий еще и толщину границы (int). Вызываются они у ParamGuiSettings из любого места в роботе, ниже в коде посмотрим как.

 

Еще есть метод обновления окна Параметров RePaintParameterTables(), его применение для визуального оформления рассмотрим в конце статьи.

 

С помощью вышеупомянутых методов настраиваем вид Параметров. Первая сверху зона – настраиваем Параметры, относящиеся к Лонгу (цвет текста и цвет выделенного текста). Ниже – аналогичным образом для Шорта другие цвета. А в третьей зоне устанавливаем границы под Параметрами для дополнительного разделения на группы.

 

Настроили, теперь посмотрим, как это все выглядит. Запускаем OsEngine, находим робота и добавляем:

Оформление окна Параметров OsEngine

 

Добавили. Открываем Параметры:

Оформление окна Параметров OsEngine

Видим наше визуальное оформление. Настройки Лонг и Шорт разделены границами на блоки, и Параметры в каждом блоке имеют свои оттенки.

 

Теперь про Параметр WeightBidAsk. Параметр придуман для примера, практического смысла в нем может не быть. Это вес бидов или асков в стакане относительно суммы бидов и асков (в контрактах/лотах) в процентах.

 

Посмотрим, как в режиме реального времени обновлять и раскрашивать этот Параметр. Будем считать суммы бидов и асков и смотреть чего больше. Если больше бидов, то будем красить Параметр в зеленый цвет, если асков – в красный. И выводить его % от суммы бидов и асков.

 

Идем в обработчик события обновления стакана:

Оформление окна Параметров OsEngine
Оформление окна Параметров OsEngine

На входе некоторые проверки, взятие снимка стакана, и далее по пунктам разбираем:
1. Проверка интервала времени, пройденного с момента предыдущего обновления. Она нужна для корректной работы обновления, для которого метод RePaintParameterTables() не следует вызывать чаще, чем каждые 100 миллисекунд. Будьте аккуратнее с этим.
2. Считаем суммы бидов и асков в стакане.
3. Выполняем проверки, чего больше — бидов или асков. В зависимости от результата устанавливаем значение Параметру WeightBidAsk и задаем нужный цвет. Далее вызываем метод RePaintParameterTables(), он обеспечивает обновление Параметров в окне, благодаря чему значение и цвет меняются в режиме реального времени.
4. Фиксируем время обновления, чтобы работала логика в пункте №1.

 

Посмотрим, как это выглядит. Подключаем робота к бирже, выбираем какой-нибудь инструмент, открываем окно Параметров:

Оформление окна Параметров OsEngine

Видим в Параметре WeightBidAsk значение 76,5% зеленым цветом – это значит, что 76,5% от суммы всех бидов и асков составляют биды. Значение и цвет обновляются в реальном времени.

 

Вот и всё. Теперь знаем, как можно оформить Параметры на свой вкус.

Спасибо за внимание! Прибыльных алгоритмов и всего доброго!

 


Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.

  • обсудить на форуме:
  • OsEngine
2.7К | ★1
3 комментария

Читайте на SMART-LAB:
Рефинансирование как главный риск 2026 года для держателей облигаций
Если в 2024–2025 годах ключевой темой для российского долгового рынка была сама стоимость денег, то в 2026 году фокус смещается. Теперь для...
Фото
Длинные ОФЗ ― в фокусе внимания инвесторов
Длинные ОФЗ сейчас выглядят одним из самых интересных инструментов для инвестора, который хочет получить не только купонный доход, но и...
Циан продолжает обеспечивать высокую дивдоходность
Совет директоров Циан рекомендовал годовому общему собранию, которое назначено на 11 июня, утвердить дивиденд за первый квартал в размере 53 руб....
Мозговой штурм! Что нового на текущий момент?
Доброго дня, дорогие товарищи! Сегодня у нас в офисе прошел традиционный мозговой штурм. Делюсь  основным.

теги блога UHSF

....все тэги



UPDONW
Новый дизайн