В первом сообщении Вы упоминаете, что программа выдает ошибку, содержащую строку "Version=1.0.4921.38999".
Не сами же Вы такой номер версии придумали? Более вероятно, что это отрабатывает инструкция "[assembly: AssemblyVersion("1.0.*")]", которая есть где-то в Вашем коде.
Компилятор, встретив такую строку при компиляции, изменит версию компилируемой сборки: подставит вместо "*" новые числа (дату и время, по сути).
Ну а программа TSLab, сохранив ранее в скрипте связь (ссылку) на Ваш индикатор в виде:
"Hexes.SC, Test, Version=1.0.4921.38999, Culture=neutral, PublicKeyToken=null"
при следующем запуске, не сможет его найти. Теперь он уже будет называться, например, так:
"Hexes.SC, Test, Version=1.0.4924.48999, Culture=neutral, PublicKeyToken=null"
По мнению программы, это уже совсем другой индикатор, и связь в скрипте она оборвет.
Рядом с исходным кодом Вашего индикатора есть папка "Properties" в которой есть файл "AssemblyInfo.cs" а в нем есть строка "[assembly: AssemblyVersion("1.0.*")]".
(Если нету, поиском поищите)
Поменяйте "*" на "0.0" или любые другие два числа. Это приведет к тому, что номер версии dll с Вашим индикатором, не будет меняться при каждой компиляции, а останется постоянным, и не потребуется восстанавливать связи между кубиками.
Далее потребуется перекомпилировать dll и заново установить связи в скрипте.
Сборка = Assembly = файл Test.dll с Вашим индикатором
_________________________
Не пишите мне! Никому ничего делать не буду.