Данный способ подключения роботов в платформу нужно использовать, когда Ваши алгоритмы уже готовы, и Вы не нуждаетесь в дебаггинге. Просто торгуете, перенося скрипты из версии в версию OsEngine.
Суть его заключается в следующем: код алгоритмов создается и отлаживается в основном проекте, но потом переносится и хранится в виде текстовых файлов с расширением cs. в специальном каталоге рядом с exe файлом приложения:
ВРЕМЯ ДЕЙСТВИЯ: ДО ЗАКРЫТИЯ ТОРГОВ
УСЛОВИЕ: ЦЕНА >= 1.894
СТОП-ЛОСС: ЦЕНА ВАШЕЙ ПОКУПКИ — 0.04
ТЭЙК-ПРОФИТ: ЦЕНА ВАШЕЙ ПОКУПКИ + 0.04
СТАТИСТИКА С 22.09.1997 ПО 29.12.2018: 710/396
(ЧИСЛО ПРИБЫЛЬНЫХ СДЕЛОК/ЧИСЛО УБЫТОЧНЫХ)
В классе BotPanel имеется ряд абстрактных членов, которые необходимо реализовать в классах наследниках.
По-простому, надо сделать несколько обязательных методов после того, как Вы начнёте создавать своего робота.
Рассмотрим пример создания робота. Пустого, но который уже будет виден тестером.
Класс BotPanel является родительским классом для абсолютно всех роботов в программе. Содержит компоненты, которые повторно используются роботами и необходимы для их нормального функционирования в OsEngine.
В основном BotPanel хранит в себе источники и параметры, и когда Вы хотите делать роботов на OsEngine, Вам нужно держать этот класс открытым.
Создание любого робота в программе должно начинаться с наследования от BotPanel и реализации его абстрактных членов, иначе терминал просто не сможет использовать ваш алгоритм.
Поговорим немного о структуре логики OsEngine, отвечающей за взаимодействие с роботами. Хотя BotPanel и является своеобразным мостом между алгоритмом робота и программой, его интерфейс не предоставляет всей функциональности, которая требуется ботам. Для решения этой задачи в программе существуют классы, реализующие интерфейс IIBotTab (источники данных).
О них мы подробно поговорим в последующих статьях. Сейчас нас интересует класс BotTabSimple. Он предоставляет роботам всю необходимую для торговли логику и поставляет рыночные данные по бумаге.
BotFactory, как можно догадаться из названия, – фабрика роботов. Подавляющее большинство объектов, используемое нами в реальном мире, так или иначе производятся на специально оборудованных для этого площадях, называемых заводами, фабриками, производствами и так далее. Так же и в OsEngine созданием экземпляров торговых роботов занимается специально созданный для этого объект.
Именно в этом классе OsEngine запрашивает список доступных роботов в системе. И именно здесь создаются экземпляры роботов.
Код класса расположен в файле BotFactory.cs в каталоге https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/BotFactory.cs
В самом проекте, если Вы откроете OsEngine, данный класс находится здесь: