void GenerateDistribute() { if (MarketDataList.Count == 0) { MessageBox.Show("Please load market data first."); return; } MarketDistributeList.Clear(); NormalDistributeList.Clear(); var nl = CommonLib.Distribute.GetNormalDistribute(0, 1, 3.5, 1d / CountStep); nl.ForEach(v => NormalDistributeList.Add(v)); da.StatisticStep = CountStep; da.ProcessMode = CurrentProcessType; var l = da.GetDistributeByTime(MarketDataList.ToList()); if (l.Count == 0) { return; } l.FirstOrDefault().Value.ForEach(v => MarketDistributeList.Add(v)); if (CalculateDataList == null) { CalculateDataList = new List <TimeValueObject>(); } CalculateDataList.Clear(); foreach (var v in da.GetDistributeTrendByTime(MarketDataList.ToList())) { if (v.Name == TargetObject.Ticker) { CalculateDataList.Add(new TimeValueObject() { Time = v.Time, Value = v.Value, Name = v.Name }); } } CurrentTime = EndTime; CurrentValue = da.GetDistanceByTime(MarketDataList.ToList(), Ticker); OnPropertyChanged("CurrentValue"); DistributeTrendList.Clear(); var trendList = da.GetDistributeTrendByTime(MarketDataList.ToList()); trendList.ForEach(v => { if (v.Name == TargetObject.Ticker) { DistributeTrendList.Add(new TimeValueObject() { Time = v.Time, Value = v.Value, Name = v.Name }); } }); }
void SaveToFile() { var dlg = new SaveFileDialog() { Filter = "Text File|*.txt |Csv File| *.csv | (*.*)|*.*" }; if (dlg.ShowDialog() == true) { var ep = new ReportCommonLib.ReportExportHelper(); ep.CreateCsvReport <IMarketData>(dlg.FileName, MarketDataList.ToList()); } }