Имею код типа:
Код: Выделить всё
function Initialize()
{
IndicatorName = "QQ";
PriceStudy=false;
AddInput("Input", Inputs.Candle);
AddSeries("Signal", DrawAs.Custom, Color.Green, AxisType.ZeroBased); // выходная
AddLevel(0, Color.Black, "Signal");
AddSeries("cAvg", DrawAs.Line, Color.Black, false); // для вычислений
}
function Evaluate()
{
var Inp=MY.CustomCandle(Input, CustomTFsec);
cAvg[0]=(Inp.GetValue("Open", 0)+Inp.GetValue("High", 0)+Inp.GetValue("Low", 0)+Inp.GetValue("Close", 0))/4.0;
Signal[0]=666;
До сих пор всё ОК. Если далее включаю любое вычисление еще одного индикатора от серии cAvg:
Код: Выделить всё
double dpdt=MY.pDerivativeNS(cAvg, 5).GetValue("pDerivativeNS", 0);
var Ind=MY.SomeInd(cAvg);
double didt=MY.pDerivativeNS(Ind, 5).GetValue("pDerivativeNS", 0);
(и одного вызова какаго-нибудь MY.индикатора на самом деле достаточно), то в логе в конце Evaluate выводятся вместо значений cAvg нули (т.е. содержимое серии портится), картинка Signal (основной результат) вообще не отрисовывается (пустое окно графика)...
В док-ции и примерах идет всегда только Ind2(Ind1(Input)), никогда от "внутренних" серий, но ведь компилируется же...
И что делать, если нужна такая вот "внутренняя" серия для вычислений, на которую хочу напустить индикатор?..