По аналогии со способом подключения роботов в виде скриптов, который мы рассматривали в одной из прошлых статей, OsEngine поддерживает возможность подключения индикаторов в виде внешних текстовых файлов с расширением cs. Данный способ предоставляет дополнительную гибкость в виде возможности подключения индикаторов в проект без необходимости перекомпилирования, удобство переноса скриптов на новые сборки.
Предположим, вы хотите поделиться индикатором с кем-то или просто перенести его в новую версию программы, это можно сделать, подключив индикатор в качестве внешнего файла. Подключим наш индикатор, созданный в прошлой статье, в другой версии терминала. Перед этим нужно удалить атрибут IndicatorAttribute у класса индикатора:
Далее копируем файл LastDayMiddle.cs из папки, в которой он был создан, в нашем случае это OsEngine_v1\project\OsEngine\Indicators\Custom, в папку OsEngine_v2\project\OsEngine\bin\Debug\Custom\Indicators\Scripts\, которая располагается в проекте другого экземпляра OsEngine. Нужную папку можно открыть прямо из Visual Studio, для этого в обозревателе решений нажимаем правую кнопку мыши над желаемой папкой и выбираем пункт меню «Открыть папку в проводнике»:
После выполнения описанных действий нужно просто перезапустить целевой терминал и индикатор появится в списке доступных.
Если нужна возможность в проекте целевого терминала редактировать код и запускать индикатор в режиме отладки, можно не удалять атрибут IndicatorAttribute, а просто закомментировать.
Чтобы запустить индикатор в режиме отладки можно проделать те же действия в обратном порядке, только в одной и той же версии проекта. Но можно поступить и более изящно, для этого открываем обозреватель решений, нажимаем кнопку «Показать все файлы»:
Далее отобразятся все файлы в решении, разворачиваем до места, где лежат скрипты:
Выделяем нужный скрипт ПКМ и нажимаем пункт «Включить в проект»:
Вновь нажимаем кнопку «Показать все файлы», чтобы скрыть лишние каталоги. Далее возвращаем атрибут IndicatorAttribute индикатору и теперь он доступен для отладки:
Если скриптовый индикатор нуждается в подключении дополнительных библиотек, его нужно поместить в отдельную папку и в этой папке создать подпапку с именем «Dlls». В эту папку необходимо поместить все нужные сборки. Компилятор их автоматически подгрузит при компиляции индикатора.
Комментарии