Блог им. 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:
Фото
Саратовэнерго. Надбавки на 26г. установлены, но это уже не важно. Изменение целевой цены и рейтинга
Комитет государственного регулирования тарифов Саратовской области опубликовал постановление №390 от 26.12.2025г. об установлении сбытовой...
Фото
Промышленная автоматизация — один из ключевых трендов 2026 в ИТ #SOFL_тренды
Сегодня промышленность все чаще смотрит на ИТ как на инструмент для наращивания мощностей. Для российской экономики отрасль играет ключевую роль,...
Цены на бриллианты упали до уровней 2015 года
Рынок бриллиантов завершил 2025 год на минимальных уровнях за десятилетие. Индекс цен Rapaport для камней массой 1 карат на 1 января 2026 года...
Фото
Хэдхантер. Ситуация на рынке труда в декабре идет ко дну - хуже не было никогда
Вышла статистика рынка труда за декабрь 2025 года, которую Хедхантер публикует ежемесячно, что же там интересного: Динамика...

теги блога UHSF

....все тэги



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