#60759 - Tue Feb 18 2014 06:01 PM
Появление входов
|
member
Registered: Sat Oct 19 2013
Записи: 174
|
Подскажите где почитать/посмотреть как закодить кубик, чтобы входы в кубик появлялись дополнительные, какие интерфейсы надо использовать и т.п. - как в кубике суммирования (два числа подаешь - появляется еще вход)
|
Наверх
|
|
|
|
#60764 - Tue Feb 18 2014 10:57 PM
Re: Появление входов
[Re: ra81]
|
member
Registered: Sat Oct 19 2013
Записи: 174
|
Спасибо! Посмотрел код, оставил только то, что более менее понятно, потратил часа 3  , получился такой маленький код:
// Сумма элементов
[HandlerCategory("FinStrateg")]
[HandlerName("PackSignal")]
[InputsCount(2, 9)]
public class PackSignal : ITwoSourcesHandler, IDoubleInputs, IDoubleReturns, IValuesHandlerWithNumber
{
public double Execute(double data, params double[] dataArr)
{
int n = dataArr.Length - 1; // Количество элементов в массиве, последний элемент массива - это номер бара для которого все вызвано, поэтому его отнимаем
double sum = data;
for (int i = 0; i < n; i++) sum = sum + dataArr[i];
return sum;
}
}
Вроде работает правильно! Есть несколько вопросов, если не затруднит ответить: все ли правильно написано (вдруг что важное стер), какой из указанных интерфейсов отвечает за размножение входов (ему как я понял требуется параметр [InputsCount(2, 9)] и массив с параметрами), будет ли работать с одним входом (если оставить один массив в параметрах и чтобы вход в кубик изначально был один)?
Отредактировано finstrateg (Tue Feb 18 2014 11:20 PM)
|
Наверх
|
|
|
|
#60780 - Thu Feb 20 2014 08:50 AM
Re: Появление входов
[Re: finstrateg]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Я бы предложил потратить еще 3 часа и разобраться самому. Это был бы левел ап однозначно.
[InputsCount(2, 9)] - отвечает за размножение. ITwoSourcesHandler - значит входов не менее чем 2.
Важного в кубиках немного. Только аттрибуты (то что в []) и описание интерфейсов (то что начинается с I)
Не забывайте еще что есть Потоковые и Последовательные индикаторы. У вас Последовательный.
_________________________
__
|
Наверх
|
|
|
|
#60807 - Thu Feb 20 2014 07:09 PM
Re: Появление входов
[Re: ra81]
|
member
Registered: Sat Oct 19 2013
Записи: 174
|
Спасибо!
По поводу потоковых или последовательных, я большого смысла в потоковых не увидел, так как к потоковым не конектятся последовательные кубики, а чтобы конектились, надо перегрузку писать для метода Execute - как я понял глядя в предложенный кубик, а зачем это делать если к последовательным все конектится, возможно потоковые побыстрей работают (хотя может и медленнее), но и с последовательными все быстро.
Сделать, чтобы размножение входов начиналось с одного входа - не получилось, указал [InputsCount(1, 9)] и IOneSourceHandler, в параметрах один массив оставил, так один вход появляется, но размножаться отказывается...
Ограничение есть до скольких штук можно размножать входы?
|
Наверх
|
|
|
|
#60809 - Thu Feb 20 2014 08:38 PM
Re: Появление входов
[Re: finstrateg]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Спасибо!
По поводу потоковых или последовательных, я большого смысла в потоковых не увидел, так как к потоковым не конектятся последовательные кубики, а чтобы конектились, надо перегрузку писать для метода Execute - как я понял глядя в предложенный кубик, а зачем это делать если к последовательным все конектится, возможно потоковые побыстрей работают (хотя может и медленнее), но и с последовательными все быстро.
Сделать, чтобы размножение входов начиналось с одного входа - не получилось, указал [InputsCount(1, 9)] и IOneSourceHandler, в параметрах один массив оставил, так один вход появляется, но размножаться отказывается...
Ограничение есть до скольких штук можно размножать входы?
Насчет ограничения не знаю. Возможно есть. Но потоковые вы зря :)). Благодаря только им ваши скрипты не считаются месяцами на оптимизации. А считаются быстро. Если оптимайз не пользуете то реально все равно.
_________________________
__
|
Наверх
|
|
|
|
|
|