OsEngine 1.6. Новый слой создания индикаторов. Динамически подгружаемые индикаторы и роботы из папки

OsEngine 1.6. Новый слой создания индикаторов. Динамически подгружаемые индикаторы и роботы из папки

 

Рубим проблему обновления библиотки на корню. Делаем перенос ботов и индикаторов в новые версии – перекидывая пару файлов в папку с новым билдом. И!!! Новый слой создания индикаторов!

 

План статьи:

1.       Где лежат скрипты

2.       Создаём индикатор

3.       Использование новых индикаторов в роботах

4.       Перенос роботов из библиотеки в файл

 

1.     Где лежат скрипты

 

Во первых, надо зайти в проект который Вы скачали с ГитХаб и проследовать вот по этому пути:

 

Эта папка из которой запускается экзешник проекта, если кто не вкурсе, он там чуть ниже.

Так вот, рядом с ним теперь лежит папка Custom, в которую мы будем складывать индикаторы, роботов и ещё может что-то. Что там есть сейчас:

 

А есть здесь две папки. С индикаторами и с роботами. Индикаторов много и скоро будет очень много. Роботов пока мало и много будет не скоро, но об этом ещё поговорим.

В папке Robots лежат просто файлы прямиком копированные из основного проекта:

 

В папке с индикаторами посложнее. Здесь у нас отдельный проект… Для того чтобы редактировать можно было скрипты прямо здесь:

 

 

Сами скрипты индикаторов лежат в папке Scripts. Под циферкой два у нас запуск проекта для редактирования этих скриптов.

Сразу объясню зачем ещё один проект…

Итак, если мы просто так вынесем код индикатора в папку, то во время его редактирования у нас не будет возможности пользоваться подсказками Visual Studio. Что будет приводить к огромному кол-ву ошибок. Поэтому подумав немного я сделал отдельную обёртку для индикаторов, чтобы можно было удобно их редактировать и добавлять.

Редактирование просто из папки Scripts – тоже возможно. Но Visual Studio Вам не будет помогать.

Кроме того – для переноса своего индикатора из одной версии OsEngine в другую, достаточно добавить свой индикатор в папку Scripts и он заработает. Собирать никакие библиотеки дополнительно не нужно.

 

У роботов кстати – такой обёртки нет(и в ближайшие 3 месяца не будет). И писать ботов в скрипте сейчас – последнее дело. Продолжаем использовать слой внутри библиотеки, что рядом с BotFactory. Но об этом ещё поговорим…

 

2.     Создание нового индикатора

 

Теперь в OsEngine индикаторы можно делать легко и не принуждённо, наконец-то. Скользящие средние – в 30 строк. Что-то сложнее в 80. Никаких запар с хранением настроек или визуализацией.

Короче – классный слой создания индикаторов.

Что касается старого слоя создания индикаторов – он остался на месте, вообще без изменений. Все кто делал свои индикаторы там, переносите дальше как и раньше. И не надо пытаться их пихать в эту папку. Оно не впихается, гарантирую. 

Это был последний важный для создания ботов слой взаимодействия, который был мной спроектирован в институте, при царе горохе. Первый правился слой роботов, в прошлом году мы поправили слой серверов. В этом – Индикаторы.

Дальше будут конечно правки, но это уже внутренняя кухня библиотеки. Для разработчиков роботов и индикаторов ничего меняться не будет. Тьфу тьфу...

Как делать, видео:

 

3.    Использование в роботах

После создания подгрузки индикаторов из файла – использовать их на прямую нельзя. Связывать OsEngine с библиотекой CustomIndicators я тоже не стал, ибо тогда перекомпиляция станет необходимым движением каждый раз когда новые индикаторы в папку ложатся. Короче – для того чтобы использовать индикаторы из папки – нужно их создавать через специальный интерфейс AIndicator.

Подробности в видео:

 

4.    Перенос роботов в скрипты

 

Ну тут самое простое. Нужно добавить класс робота в папку что мы уже смотрели:

 

Но, не без ограничений. Если Вы хотите переносить роботов в эту папку – придётся:

1) Использовать параметры для создание бота, а не уникальное окно настроек.

2) Робот должен быть в одном файле. И сейчас даже в одном классе. Пока пишу понимаю что это дело не тестировалось. Если читаете через пару месяцев после написания статьи – мы это дело убрали. Просто в одном файле.

3) Ну и мусор всякий грузить в папку с роботами не надо. А то щас начнётся. Он не примет скрипты из ЛУА, скрипты на pine. Скрипты из нинзи. Также ТсЛаб скрипты. ВелсЛаб. И всё остальное. Не надо пробовать – не получится. Только то что написано исключительно для и под OsEngine.

 

Вот собственно и всё. Пользуйтесь!

 

Удачных алгоритмов!

 

 

03:41
862

5 комментариев

20:37
+1
Огромная Благодарность — Алексею и команде! Сасибо за Ваш труд! Удачи — в реализации, новых идей.
18:27
+1
Новый подход великолепен!
18:44
+1
Согласен с выше на писаном++, не вот так #))) А что дает изменение? Скорость?
06:18
+1
ну. Можно и так наверное сказать. Но не скорость в исполнении программы, а скорость в разработке и переносе роботов в новые версии библиотеки.
У нас старый слой создания индикаторов сложный был и не правильный. Теперь простой и прекрасный.
Плюс переносить ботов можно перетаскивая их из папки в папку с новым проектом. Не нужно компилировать ничего.
21:43
Изменение — это, как бы другое измерение,
а скорость — это движение к другой скорости…