Settings saving and loading |
To save and load strategy settings the overrides of Save and Load methods used respectively.
public override void Load(SettingsStorage settings) { if (settings.Contains("UsedVolume")) Id = settings.GetValue<Guid>("UsedVolume"); if (settings.Contains("Ticks")) Name = settings.GetValue<string>("Ticks"); if (settings.Contains("SpreadVolume")) Volume = settings.GetValue<decimal>("SpreadVolume"); base.Load(settings); } public override void Save(SettingsStorage settings) { settings.SetValue("UsedVolume", UsedVolume); settings.SetValue("Ticks", Ticks); settings.SetValue("Volume", Volume); settings.SetValue("SpreadVolume", SpreadVolume); base.Save(settings); }
To save and load settings from an external file, you can use serialization and deserialization, respectively, implemented in S#.
var newStrategy = new MarketProfileStrategy(); if (File.Exists("marketProfile.xml")) { var settingsStorage = new XmlSerializer<SettingsStorage>().Deserialize("marketProfile.xml"); newStrategy.Load(settingsStorage); }
To save the settings to an external file, you must change the Save, method, described earlier.
public override void Save(SettingsStorage settings) { settings.SetValue("UsedVolume", UsedVolume); settings.SetValue("Ticks", Ticks); settings.SetValue("Volume", Volume); settings.SetValue("SpreadVolume", SpreadVolume); base.Save(settings); new XmlSerializer<PlazaTable>().Serialize(settings, "marketProfile.xml"); }