Продолжаем заниматься улучшением робота, который начали писать в предыдущей статье. Сегодня добавим в него Параметры для того, чтобы можно было им управлять из интерфейсов.
Начало серии: https://smart-lab.ru/company/os_engine/blog/1044379.php

На текущий момент у нас есть робот, который видит OsEngine, в который можно подключить данные. И который уже даже начал совершать торговые операции:
Шаг 1. Добавляем параметр коллекция строк для включения и выключения.

- Определяем поле у класса типа StrategyParameterString.
- Это создание самого параметра. После этого он уже будет виден у робота в настройках, если включить тестер.
- А тут мы его используем. И если параметр в режиме Off, то выходим из торговой логики.
Шаг 2. Добавляем параметр Decimal для определения объёмов.

- Определяем поле у класса типа StrategyParameterDecimal.
- Это создание самого параметра. После этого он уже будет виден у робота в настройках, если включить тестер.
- А тут мы его используем. Передаём в метод BuyAtLimit у нашего источника значение объёма, которое настроил пользователь.
Шаг 3. Добавляем параметр типа Int для длины индикатора скользящая.

- Определяем поле у класса типа StrategyParameterInt.
- Это создание самого параметра. После этого он уже будет виден у робота в настройках, если включить тестер.
- А тут мы его используем. Передаём в скользящую среднюю настройки из параметра.
- Подписываемся на событие обновления параметров пользователем. Оно будет вызываться, когда какой-то параметр изменил значение.
- В обработчике устанавливаем для скользящей средней новую длину индикатора.
Запускаем тестер и смотрим на параметры робота!

Ссылка на исходный код робота: https://disk.yandex.ru/d/_aKkIx-h0kNqCA
Удачных алгоритмов!
Пост из серии статей «Быстрый старт в программирование на OsEngine».
Комментарии открыты для друзей!

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
