예제 #1
0
        /// <summary>
        /// Обработчик появления новых данных
        /// Вычисляет среднюю за период
        /// Вычисляет отклонение источника от средней за период
        /// </summary>
        ///// <param name="item">Bar</param>
        //public override void OnEvent(long id)
        public void Do(long id)
        {
            ///вычисляем новые занчения
            ///Input
            double iHighest = Indicator.Highest_i(Input.Value.ToList <double>(), Period);

            //(Input.Value.ToList<double>(), Period, Highest.ToList<double>());

            Highest.Add(iHighest);

            ///вызываем обработчики значений
            foreach (var handler in HandlersHighest)
            {
                handler.Invoke(Highest.Last());
            }

            ///упаковка посчитанных значений
            ValueHighest.Add(new ValueDouble()
            {
                Id = id,
                //DateTime = item.DateTime,
                //TODO 4. сейчас отрисовывается по имени MaFast, надо переделать на стороне отрисовки
                Name  = "Highest",
                Value = iHighest
            });

            ///отправка посчитанных значений
            foreach (var handler in HandlersValueHighest)
            {
                handler.Invoke(ValueHighest.Last());
            }
        }