#83024 - Sun Mar 18 2018 06:17 PM
C#, кубик с 5-ю входами
|
newbie
Registered: Sun May 05 2013
Записи: 30
Loc: Belarus
|
Добрый день.
Уважаемые разработчики, дайте пожалуйста ответ на такой вопрос:
Есть самописный кубик с тремя входами public class AnyClassName : IThreeSourcesHandler, ISecurityInput0, IBooleanInput1, IDoubleInput2, IDoubleReturns, IValuesHandlerWithNumber, IContextUses Метод Execute: public double Execute(ISecurity sec, bool condition, double dValue, int bar)
По аналогиии с этим кубиком пытаюсь создать кубик с 5-ю входами. Есть интерфейс IFiveSourcesHandler, но в то же время нет возможности указать тип 4-го и 5-го входных параметров (не находятся типы IDoubleInput3 и IDoubleInput4). Как так то? Если для 4-го и 5-го параметров указать интерфейс IDoubleInputs, а метод Execute оформить так: public double Execute(ISecurity sec, bool condition, double dValue, double dValue2, double dValu3, int bar) то, при запуске скрипта с таким кубиком ТСЛаб выдает ошибку "Ни одна из перегрузок метода Execute не принимает "4" аргументов".
Каким образом при этом можно создать кубик с 5-ю входами, если входные параметры разных типов? Т.е. как при этом должны выглядеть объявление класса кубика и метода Execute?
Отредактировано alexc (Sun Mar 18 2018 06:23 PM)
|
Наверх
|
|
|
|
#83025 - Mon Mar 19 2018 12:48 PM
Re: C#, кубик с 5-ю входами
[Re: alexc]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Есть самописный кубик с тремя входами public class AnyClassName : IThreeSourcesHandler, ISecurityInput0, IBooleanInput1, IDoubleInput2, IDoubleReturns, IValuesHandlerWithNumber, IContextUses Метод Execute: public double Execute(ISecurity sec, bool condition, double dValue, int bar)
По аналогиии с этим кубиком пытаюсь создать кубик с 5-ю входами.
В какой версии ТСЛаб Вы работаете? В версии 2.0 можно использовать другой синтаксис описания входных/выходных параметров кубика. Для начала, достаточно ограничиться интерфейсами IContextUses и IValuesHandlerWithNumber. А входы и выходы описывать АТРИБУТАМИ класса. Ваш кубик с 5 входами и 1 выходом можно описать (в версии ТСЛаб 2 по крайней мере) вот так:
[InputsCount(5)]
[Input(0, TemplateTypes.SECURITY)]
[Input(1, TemplateTypes.BOOL)]
[Input(2, TemplateTypes.DOUBLE)]
[Input(3, TemplateTypes.DOUBLE)]
[Input(4, TemplateTypes.DOUBLE)]
[OutputType(TemplateTypes.DOUBLE)]
public class SmileImitation5 : IContextUses, IValuesHandlerWithNumber
|
Наверх
|
|
|
|
#83028 - Mon Mar 19 2018 05:35 PM
Re: C#, кубик с 5-ю входами
[Re: Option Wizard]
|
newbie
Registered: Sun May 05 2013
Записи: 30
Loc: Belarus
|
Ваш кубик с 5 входами и 1 выходом можно описать (в версии ТСЛаб 2 по крайней мере) вот так:
[InputsCount(5)]
[Input(0, TemplateTypes.SECURITY)]
[Input(1, TemplateTypes.BOOL)]
[Input(2, TemplateTypes.DOUBLE)]
[Input(3, TemplateTypes.DOUBLE)]
[Input(4, TemplateTypes.DOUBLE)]
[OutputType(TemplateTypes.DOUBLE)]
public class SmileImitation5 : IContextUses, IValuesHandlerWithNumber
Да, спасибо, тоже нашел такой пример.
|
Наверх
|
|
|
|
|
|