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