Вы только произвели некоторый расчет.
Т.к. серия в Вашем индикаторе выходящая одна то надо выбрать что рисовать или
EMAnDI или EMApDI
или добавить 2 серии выходных в инициализации. как пример вот так:
Код: Выделить всё
function Initialize()
{
IndicatorName = "ADXEMA"; // Задайте название индикатора и сохраните с данным именем
PriceStudy = false; // Рисовать в области цены (true – да, false – нет)
AddInput("Input", Inputs.Candle);// Input - входной ряд (Inputs.Price) или свечи (Inputs.Candle)
AddSeries("EMApDI", DrawAs.Line, Color.Green);
AddSeries("EMAnDI", DrawAs.Line, Color.Red);
AddParameter("PeriodEMA", 9);
AddParameter("PeriodADX", 14);
}
function Evaluate()
{
var E = EMA(Input.Close, PeriodEMA);
var A = ADX(Input, PeriodADX);
var nDi = A.GetValue("NegDI", 0);
var pDi = A.GetValue("PosDI", 0);
EMAnDI = E[0] + nDi;
EMApDI = E[0] + pDi;
}
и в GetValue не нужно указывать 14, это смещение в серии. если мы рассчитываем текущий бар это должно быть смещение 0.
пример выполнения: