По аналогии со способом подключения роботов в виде скриптов, который мы рассматривали в одной из прошлых статей, 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». В эту папку необходимо поместить все нужные сборки. Компилятор их автоматически подгрузит при компиляции индикатора.
Комментарии