Добрый день!

Пытаюсь написать свой кубик...
Нужно сделать 4 входа: источник данных и три десятичных числа.

Пишу так

Code:
[TSLab.Script.Handlers.InputsCountAttribute(4)]
    [TSLab.Script.Handlers.InputAttribute(0, TSLab.Script.Handlers.TemplateTypes.SECURITY, false)]
    [TSLab.Script.Handlers.InputAttribute(1, TSLab.Script.Handlers.TemplateTypes.DOUBLE, true)]
    [TSLab.Script.Handlers.InputAttribute(2, TSLab.Script.Handlers.TemplateTypes.DOUBLE, true)]
    [TSLab.Script.Handlers.InputAttribute(3, TSLab.Script.Handlers.TemplateTypes.DOUBLE, true)]
   public class PosSizeD : TSLab.Script.Handlers.IContextUses, TSLab.Script.Handlers.INeedVariableName, TSLab.Script.Handlers.IDoubleReturns, IBar2DoubleHandler

public IList<double> Execute(ISecurity source, double SP, double SKP, double Part, double MaxShares)


Лучшее, чего мне удалось добиться это кубик но с одним входом, который выдает ошибку, что Execute не принимает 1 параметр. Что логично.

Полагаю, что проблема в словах IContextUses, INeedVariableName, IDoubleReturns, IBar2DoubleHandler - но что они значат и какие мне нужно писать я не понимаю.
Помогите плиз.