private void BtnExportStatClick(object sender, EventArgs e) { if (robotContext.dailyEquityExposure.Count == 0) return; var setupForm = new ExportSetupForm(); if (setupForm.ShowDialog() != DialogResult.OK) return; // выбрать файл if (saveFileDialog.ShowDialog() != DialogResult.OK) return; // сохранить кривую доходности и плечо using (var sw = new StreamWriterLog(saveFileDialog.FileName, false, setupForm.ExportEncoding)) { sw.WriteLine(string.Join(new string(setupForm.ColumnSeparator, 1), "Time", "Equity", "Leverage")); foreach (var rec in robotContext.dailyEquityExposure) { var timeStr = rec.a.ToString(setupForm.DateTimeFormat); var strEq = rec.b.ToStringUniform(); var strLev = rec.b.ToStringUniform(); if (setupForm.FloatSeparator == ',') { strEq = strEq.Replace('.', ','); strLev = strLev.Replace('.', ','); } var line = string.Join(new string(setupForm.ColumnSeparator, 1), timeStr, strEq, strLev); sw.WriteLine(line); } } }
public void SaveSettings() { var doc = new XmlDocument(); doc.AppendChild(doc.CreateElement("settings")); PropertyXMLTagAttribute.SaveObjectProperties(this, doc.DocumentElement); using (var sw = new StreamWriterLog(fileName, false, Encoding.Unicode)) { using (var xw = new XmlTextWriter(sw) { Formatting = Formatting.Indented }) { doc.Save(xw); } } }
public void SaveSettings() { var doc = new XmlDocument(); var docNode = (XmlElement)doc.AppendChild(doc.CreateElement("settings")); try { lock (this) { PropertyXMLTagAttribute.SaveObjectProperties(this, docNode); } } catch (Exception ex) { Logger.Error("Ошибка преобразования настроек в формат XML", ex); return; } try { using (var sw = new StreamWriterLog(filePath, false, Encoding.Unicode)) { using (var xw = new XmlTextWriter(sw) {Formatting = Formatting.Indented}) { lock (this) { doc.Save(xw); Logger.Info("Файл настроек сохранен (" + filePath + ")"); } } } } catch (Exception ex) { Logger.ErrorFormat("Ошибка сохранения файла настроек {0}: {1}", filePath, ex); } }
public static void SaveRobots(List<BaseRobot> robots, string path) { var doc = new XmlDocument(); var xmlNode = (XmlElement)doc.AppendChild(doc.CreateElement("RobotsPortfolio")); foreach (var robot in robots) { var xmlChild = (XmlElement)xmlNode.AppendChild(doc.CreateElement("robot")); PropertyXMLTagAttribute.SaveObjectProperties(robot, xmlChild); } using (var sw = new StreamWriterLog(path, false)) { using (var xw = new XmlTextWriter(sw) { Formatting = Formatting.Indented }) { doc.Save(xw); } } }