В классе BotPanel имеется ряд абстрактных членов, которые необходимо реализовать в классах наследниках.
По-простому, надо сделать несколько обязательных методов после того, как Вы начнёте создавать своего робота.
Рассмотрим пример создания робота. Пустого, но который уже будет виден тестером.
Шаг 1. Создаём в проекте класс MyFirstSimpleBot.
Шаг 2. Добавляем директивы using.
Это нужно, чтобы подключить нужные библиотеки и пространства имён в робота:
- Это системные штуки. Чтобы подключились стандартные типы данных C# и коллекции (нам нужны будут листы List<>) данных.
- Это примитивы в OsEngine. Свечи, трейды, ордера и всё остальное.
- Это индикаторы и всё, что с этим связано.
- Здесь расположен класс родитель для всех роботов, которым сейчас будем пользоваться.
- Это помогает прописывать робота в системе через атрибут класса, что очень удобно.
- А здесь хранятся все источники данных в OsEngine.
Шаг 3. Даём классу понять, что он робот. Наследуемся от BotPanel.
Для этого после названия класса ставим двоеточие и пишем BotPanel. После чего создаём обязательные члены класса для BotPanel. Должно получится вот так:
- Наследование. После того, как Вы это (: BotPanel) написали, программа поймёт, что Вы делаете робота для OsEngine.
- Нужно прописать конструктор. В нём мы будем задавать начальное состояние робота, объявлять источники и подписываться на события.
- Метод, хранящий в себе название робота. Чуть позже его реализуем.
- Метод, вызывающий уникальное окно робота. У нас его не будет, т.ч. мы просто удалим всё, что там внутри метода.
Шаг 4. Задаём роботу имя.
Для этого нам понадобиться доработать исходник в двух местах:
- Добавляем атрибут. В скобках пишем ТОЧНОЕ имя нашего класса.
- Добавляем возвращаемое значение в метод GetNameStragyType. В скобках тоже должно быть точное название нашего класса.
Шаг 5. Создаём моноисточник BotTabSimple.
Идём в конструктор и создаём источник для подключения к одному инструменту. Должно получиться вот так:
В красном квадратике вызов метода, создающего источники. В данном случае источники типа Simple.
Шаг 6. Сохраняем источник BotTabSimple как поле класса.
Для этого нужно создать поле у класса и сохранить в него ссылку на источник. Вот так:
- Создаём переменную типа BotTabSimple. Вне методов, чтобы из всего робота было её видно.
- В конструкторе мы положим в ранее созданную переменную источник. И будем далее обращаться к источнику по этой ссылке.
Шаг 7. Готово! Запускаем тестер и настраиваем источник!
Запускаем проект. Если что, это вот эта кнопка в Visual Studio. Надо обязательно проект собрать:
Выбираем тестер. И когда нажимаем на кнопку добавить робота, видим наш «MyNewSimpleBot»:
Удачных алгоритмов!
Комментарии открыты для друзей!
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