Помогите с индикатором RSI

 
Здравствуйте. Необходимо переписать код под mql5. 

                        int count = candles.Count; // Количество свеч - rates_total
                        double[] item = new double[count];
                        if (count > 0)
                        {
                                double[] numArray = new double[count];
                                double[] numArray1 = new double[count];
                                numArray[0] = 0;
                                numArray1[0] = 0;
                                for (int i = 1; i < count; i++)
                                {
                                        double num = 0;
                                        double item1 = 0;
                                        if (candles[i - 1] < candles[i])
                                        {
                                                num = candles[i] - candles[i - 1]; // Если закрытие текущей свечи больше, чем закрытие предыдущей
                                        }
                                        else if (candles[i - 1] > candles[i])
                                        {
                                                item1 = candles[i - 1] - candles[i]; // Наоборот
                                        }
                                        numArray[i] = num;
                                        numArray1[i] = item1;
                                }
                                IList<double> nums = Series.EMA(numArray, period); // Рассчитываем по двум массивам EMA
                                IList<double> nums1 = Series.EMA(numArray1, period);
                                for (int j = 0; j < count; j++)
                                {
                                        if (nums1[j] == 0)
                                        {
                                                item[j] = 100;
                                        }
                                        else if (nums[j] / nums1[j] != 1)
                                        {
                                                item[j] = 100 - 100 / (1 + nums[j] / nums1[j]);
                                        }
                                        else
                                        {
                                                item[j] = 0;
                                        }
                                }
                        }
                        return item;
Проблема в том, что я не могу просто занести 2 массива в iMA(...,MODE_EMA,...), потому что там требуются хэндлы.
Получается, мне эти два массива нужно перенести в 2 отдельных индикатора и сделать по ним хэндлы? Это же настолько геморойно.
 

Не совсем понял причем тут МА, но вообще гемор да, но есть решение тут https://www.mql5.com/ru/code/1385

можете строить RSI по своим массивам

Класс для построения RSI с использованием кольцевого буфера
Класс для построения RSI с использованием кольцевого буфера
  • голосов: 15
  • 2012.12.18
  • Konstantin Gruzdev
  • www.mql5.com
Класс предназначен для расчета технического индикатора Индекс Относительной Силы (Relative Strength Index, RSI) с использованием алгоритма кольцевого буфера.
 
Maxim Dmitrievsky:

Не совсем понял причем тут МА, но вообще гемор да, но есть решение тут https://www.mql5.com/ru/code/1385

можете строить RSI по своим массивам


Как я понял, чтобы сгладить значения. Просто мне нужно построить 1 в 1 индикатор, код которого я выложил.
Причина обращения: