Рубим проблему обновления библиотки на корню. Делаем перенос ботов и индикаторов в новые версии – перекидывая пару файлов в папку с новым билдом. И!!! Новый слой создания индикаторов!
План статьи:
1. Где лежат скрипты
2. Создаём индикатор
3. Использование новых индикаторов в роботах
4. Перенос роботов из библиотеки в файл
Во первых, надо зайти в проект который Вы скачали с ГитХаб и проследовать вот по этому пути:
Эта папка из которой запускается экзешник проекта, если кто не вкурсе, он там чуть ниже.
Так вот, рядом с ним теперь лежит папка Custom, в которую мы будем складывать индикаторы, роботов и ещё может что-то. Что там есть сейчас:
А есть здесь две папки. С индикаторами и с роботами. Индикаторов много и скоро будет очень много. Роботов пока мало и много будет не скоро, но об этом ещё поговорим.
В папке Robots лежат просто файлы прямиком копированные из основного проекта:
В папке с индикаторами посложнее. Здесь у нас отдельный проект… Для того чтобы редактировать можно было скрипты прямо здесь:
Сами скрипты индикаторов лежат в папке Scripts. Под циферкой два у нас запуск проекта для редактирования этих скриптов.
Сразу объясню зачем ещё один проект…
Итак, если мы просто так вынесем код индикатора в папку, то во время его редактирования у нас не будет возможности пользоваться подсказками Visual Studio. Что будет приводить к огромному кол-ву ошибок. Поэтому подумав немного я сделал отдельную обёртку для индикаторов, чтобы можно было удобно их редактировать и добавлять.
Редактирование просто из папки Scripts – тоже возможно. Но Visual Studio Вам не будет помогать.
Кроме того – для переноса своего индикатора из одной версии OsEngine в другую, достаточно добавить свой индикатор в папку Scripts и он заработает. Собирать никакие библиотеки дополнительно не нужно.
У роботов кстати – такой обёртки нет(и в ближайшие 3 месяца не будет). И писать ботов в скрипте сейчас – последнее дело. Продолжаем использовать слой внутри библиотеки, что рядом с BotFactory. Но об этом ещё поговорим…
Теперь в OsEngine индикаторы можно делать легко и не принуждённо, наконец-то. Скользящие средние – в 30 строк. Что-то сложнее в 80. Никаких запар с хранением настроек или визуализацией.
Короче – классный слой создания индикаторов.
Что касается старого слоя создания индикаторов – он остался на месте, вообще без изменений. Все кто делал свои индикаторы там, переносите дальше как и раньше. И не надо пытаться их пихать в эту папку. Оно не впихается, гарантирую.
Это был последний важный для создания ботов слой взаимодействия, который был мной спроектирован в институте, при царе горохе. Первый правился слой роботов, в прошлом году мы поправили слой серверов. В этом – Индикаторы.
Дальше будут конечно правки, но это уже внутренняя кухня библиотеки. Для разработчиков роботов и индикаторов ничего меняться не будет. Тьфу тьфу...
Как делать, видео:
После создания подгрузки индикаторов из файла – использовать их на прямую нельзя. Связывать OsEngine с библиотекой CustomIndicators я тоже не стал, ибо тогда перекомпиляция станет необходимым движением каждый раз когда новые индикаторы в папку ложатся. Короче – для того чтобы использовать индикаторы из папки – нужно их создавать через специальный интерфейс AIndicator.
Подробности в видео:
Ну тут самое простое. Нужно добавить класс робота в папку что мы уже смотрели:
Но, не без ограничений. Если Вы хотите переносить роботов в эту папку – придётся:
1) Использовать параметры для создание бота, а не уникальное окно настроек.
2) Робот должен быть в одном файле. И сейчас даже в одном классе. Пока пишу понимаю что это дело не тестировалось. Если читаете через пару месяцев после написания статьи – мы это дело убрали. Просто в одном файле.
3) Ну и мусор всякий грузить в папку с роботами не надо. А то щас начнётся. Он не примет скрипты из ЛУА, скрипты на pine. Скрипты из нинзи. Также ТсЛаб скрипты. ВелсЛаб. И всё остальное. Не надо пробовать – не получится. Только то что написано исключительно для и под OsEngine.
Вот собственно и всё. Пользуйтесь!
Удачных алгоритмов!
5 комментариев
У нас старый слой создания индикаторов сложный был и не правильный. Теперь простой и прекрасный.
Плюс переносить ботов можно перетаскивая их из папки в папку с новым проектом. Не нужно компилировать ничего.
а скорость — это движение к другой скорости…