Originally Posted By: Nektodron
да, для расчетных данных таких значений нет

Originally Posted By: Nektodron

в программе существуют понятия:
IStreamHandler - потоковый вычислитель
IValuesHandler - вычислитель внутри торгового цикла
исходными данными для IStreamHandler могут быть только другие IStreamHandler.
Блок формула автоматически становится либо IStreamHandler (если все исходные данные - потоки), либо IValuesHandler (если хотя бы один им не является).
Соответственно, не потоковую формулу уже нельзя цеплять к IDoubleAccumHandler, нужно делать блок имеющий интерфейс IDouble2CalculatorHandler.

Nektodron, в связи с этим такой вопрос: т.к. в формуле не возможно обратиться к входящим вычисленным значениям[i-1], возможно ли в рассчётном блоке в API, в который будет входить значение из формулы, суммировать к примеру это входящее значение с [i-1] или [i-n]-значением самого рассчётного через IDoubleCalculatorHandler (я так понимаю у меня во входящем блоке-формуле - значение получаются IValuesHandler)? И если можно, подскжите пример какого либо кода блока (я к сожалению не нашёл примера с IDoubleCalculatorHandler где используется индексирование)

Это к чему: если так не сделать, тогда мне придётся на вход подавать источники-ценные бумаги, причём несколько, и всё что я сделал в визуале до этого блока-формулы, с которым надо произвести рассчёт, писать код индикатора на C# (чего очень не хотелось бы..). А действие то в принципе простое - суммировать текущее значение входящей формулы с рассчётным предыдущим[i-1].
---------------------------
нашёл пример в AccumHandlers, где есть примеры с IDoubleCalculatorHandler, блоков-классов с индексированием CrossOver и CrossUnder, но они я так понимаю IStreamHandler, и к моему блоку не цепляются, а вот блок-класс Sub например -IValuesHandler и цепляется, но там нет индексирования.


Отредактировано uprav (Wed Jun 23 2010 09:14 PM)
_________________________