Данный пример робота служит демонстрацией реализации кастомных элементов параметров.
В нем показано:
Для начала открываем папку с проектом и заходим в «project».
Далее открываем проект в Visual Studio.
Находим в проекте папку «Robots» и открываем ее.
И наконец-то находим папку «TechSamples» и в ней уже выбираем нашего робота «CustomParamsUseBotSample».
Строки 1-9:
Импортируются необходимые пространства имен:
Строки 12-15:
Определяется пространство имен OsEngine.Robots.TechSamples для организации кода и класс ElementsOnChartSampleBot наследует от BotPanel:
Строки 19-20:
Инициализируется панель бота:
Cоздается простая вкладка, сохраняется ссылка на вкладку в _tab для дальнейшего использования.
Строка 22-41:
Создание параметров робота:
Строки 43-56:
Создание индикаторов:
Создание и настройка индикаторов: быстрая и медленная скользящие средние, (SMA) и ATR.
Строка 58:
Подписываемся на событие ParametrChangeByUser:
При изменениях параметров индикаторов пользователем вызывается данный метод и обновляет их значения.
Строка 60:
Подписывается на событие CandleFinishedEvent:
Строки 64-66:
Настройка интерфейса параметров:
Строки 69-74:
Создание пользовательской вкладки для значений индикаторов:
Строки 79-136:
Метод, отвечающий за создание таблицы значений индикаторов:
Строки 138-161:
Метод, отвечающий за обновление значений таблицы:
Строки 163-187:
Метод, который создает ячейки в таблице уже для готовых значений:
Строки 191-200:
Метод обновления значений параметров индикаторов:
Строки 202-226:
Этот блок отвечает за набор переменных робота:
Строки228-236:
Переопределение методов GetNameStrategyType и ShowIndividualSettingsDialog.
Первый метод возвращает имя стратегии, второй — пустой предназначен для отображения индивидуальных настроек.
Строки 240-273:
Этот метод, вызываемый при каждом формировании новой свечи на графике, отвечает за обработку торговых сигналов робота:
Строки 275-296:
Метод, отвечающий за открытие позиции:
Строки 298-320:
Метод, отвечающий за закрытие позиции:
Заходим в тестер и запускаем нашего робота, открываем окно параметров.
В ней находятся базовые настройки робота.
Здесь мы настраиваем наши индикаторы.
Настройка значений для логики выхода из позиции.
В этой вкладке параметров находится таблица значений индикаторов.
Для создания такой таблицы нам требуется три следующих метода:
Метод CreateTable:
7. Для каждого столбца устанавливаются следующие свойства:
Метод PaintTable:
Метод GetRow:
1. Создаёт и возвращает строку для таблицы на основе данных свечи и значений индикаторов (медленная и быстрая скользящие средние, ATR).
2. Создаётся новый объект типа DataGridViewRow.
3. Возвращает заполненную строку для добавления в таблицу DataGridView.
Вывод: этот пример робота будет полезен для демонстрации, как создавать и настраивать кастомные элементы в окне параметров робота. Он показывает, как добавлять и настраивать индикаторы на графике, а также как создавать таблицу для вывода значений индикаторов, что может служить готовым шаблоном для реализации подобных задач.
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