не обязательно в виде cs-файл. во внешний скрипт можно подключить класс, реализующий IExternalScript или IExternalScript2..4, IExternalScriptMultiSec, в том числе в уже скомпилированном виде. Кубики должны реализовывать интерфейсы Handler'ов, то есть IStreamHandler, IValuesHandler и т.д.
Исходя их интерфейсов (а также фактически указанных входов в кубики), система определит что перед ней и при генерации кода сделает вызов соответствующего метода Execute в соответствующей части кода, для потоковых и не потоковых кубиков это будет тоже разная часть кода. Для потоковых кубиков вызов будет перед торговой логикой, для побарных внутри цикла торговой логики. Сигнатура метода определится типом кубика (интерфейсы, фактические входы), для внешнего скрипта сигнатура также будет определена реализуемым интерфейсом. В общем, довольно все просто, но некоторые моменты нигде особо не описаны и узнаются в процессе общения с системой
Примеры кубика и внешнего скрипта прилагаю, в них видно в чем разница
Attachments
LotSize.cs (79 downloads)TemplateNew.cs (86 downloads)
Отредактировано AleksandrGanov (Wed Jan 12 2022 04:42 AM)