В блоке внешний скрипт уже давно можно использовать dll наравне с cs файлами.
Следует, в таком случае, поправить статью, в обсуждении которой мы сейчас переписываемся. Там по-прежнему скрипт - это .cs-файл "в отличие от индикатора".
А также дописать туда, что есть различия при использовании 32- и 64-разрядной версии TSlab (или исправить ошибку). Суть: одна и та же dll прекрасно работает с 32-разрядной версией и выдает ошибку в 64-разрядной. Ошибка повторяется раз 5-6 при каждой попытке запуска и выглядит так:
c:\...\AppData\Local\TSLab\TSLab\temp\code4.cs(22,22) : error CS0234: Имя типа или пространства имен 'ScriptEngine' отсутствует в пространстве имен 'TSLab' (пропущена ссылка на сборку?)
Строка 22 файла code4.cs, где возникает ошибка:
public TSLab.ScriptEngine.Template.ExternalScriptItem.Handler XXX_script_h = new TSLab.ScriptEngine.Template.ExternalScriptItem.Handler();
TSLab.ScriptEngine в референсах упомянута, но в скрипте code4.cs строки "using TSLab.ScriptEngine" нет.
Если же запускать 32-разрядную версию, то все работает. Вероятно, потому что в этом случае строка 22 правильная:
public TSLab.XXX_namespace.XXX_class XXX_class_script_h = new TSLab.XXX_namespace.XXX_class();