/// <summary> /// Загрузить настройки. /// </summary> /// <param name="settings">Хранилище настроек.</param> public override void Load(SettingsStorage settings) { base.Load(settings); LongMa.LoadNotNull(settings, "LongMa"); ShortMa.LoadNotNull(settings, "ShortMa"); }
/// <summary> /// Обработать входное значение. /// </summary> /// <param name="input">Входное значение.</param> /// <returns>Результирующее значение.</returns> protected override IIndicatorValue OnProcess(IIndicatorValue input) { var shortValue = ShortMa.Process(input); var longValue = LongMa.Process(input); return(new DecimalIndicatorValue(this, shortValue.GetValue <decimal>() - longValue.GetValue <decimal>())); }
/// <summary> /// Сохранить настройки. /// </summary> /// <param name="settings">Хранилище настроек.</param> public override void Save(SettingsStorage settings) { base.Save(settings); settings.SetValue("LongMa", LongMa.Save()); settings.SetValue("ShortMa", ShortMa.Save()); }
/// <summary> /// Save settings. /// </summary> /// <param name="settings">Settings storage.</param> public override void Save(SettingsStorage settings) { base.Save(settings); settings.SetValue(nameof(LongMa), LongMa.Save()); settings.SetValue(nameof(ShortMa), ShortMa.Save()); settings.SetValue(nameof(MedianPrice), MedianPrice.Save()); }
/// <summary> /// Load settings. /// </summary> /// <param name="settings">Settings storage.</param> public override void Load(SettingsStorage settings) { base.Load(settings); LongMa.LoadNotNull(settings, nameof(LongMa)); ShortMa.LoadNotNull(settings, nameof(ShortMa)); MedianPrice.LoadNotNull(settings, nameof(MedianPrice)); }
/// <summary> /// To handle the input value. /// </summary> /// <param name="input">The input value.</param> /// <returns>The resulting value.</returns> protected override IIndicatorValue OnProcess(IIndicatorValue input) { var mpValue = MedianPrice.Process(input); var sValue = ShortMa.Process(mpValue).GetValue <decimal>(); var lValue = LongMa.Process(mpValue).GetValue <decimal>(); return(new DecimalIndicatorValue(this, sValue - lValue)); }