Esempio n. 1
0
        /// <summary>
        /// Загрузить настройки.
        /// </summary>
        /// <param name="settings">Хранилище настроек.</param>
        public override void Load(SettingsStorage settings)
        {
            base.Load(settings);

            Ema.LoadNotNull(settings, "Ema");
            Roc.LoadNotNull(settings, "Roc");
        }
Esempio n. 2
0
        /// <summary>
        /// Сохранить настройки.
        /// </summary>
        /// <param name="settings">Хранилище настроек.</param>
        public override void Save(SettingsStorage settings)
        {
            base.Save(settings);

            settings.SetValue("Ema", Ema.Save());
            settings.SetValue("Roc", Roc.Save());
        }
Esempio n. 3
0
        /// <summary>
        /// Обработать входное значение.
        /// </summary>
        /// <param name="input">Входное значение.</param>
        /// <returns>Результирующее значение.</returns>
        protected override IIndicatorValue OnProcess(IIndicatorValue input)
        {
            var candle   = input.GetValue <Candle>();
            var emaValue = Ema.Process(input.SetValue(this, candle.HighPrice - candle.LowPrice));

            if (Ema.IsFormed)
            {
                return(Roc.Process(emaValue));
            }

            return(input);
        }