Вынос индикатора в скрипты и IndicatorsFactory.

Вынос индикатора в скрипты и IndicatorsFactory.

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

15:20
399
FAQ

Комментарии

Нет комментариев. Ваш будет первым!