public void ReadData(string url) { if (string.IsNullOrEmpty(url)) { return; } var fileManager = new DataFile(); var fileName = fileManager.GetFileName(url); fileName = fileName.Substring(0, fileName.Length - 4); using (var fs = new FileStream(url, FileMode.Open, FileAccess.Read)) { BinaryReader r = new BinaryReader(fs); var xd = new byte[32]; for (long i = 0; i < fs.Length; i += 32) { for (int j = 0; j < 32; j++) { var x = r.ReadByte(); xd[j] = Convert.ToByte(x); } var rec = new MarketData(xd); rec.Ticker = fileName; var l = rec.Ticker.Length; if (l > 6) { rec.Ticker = rec.Ticker.Substring(l - 6); } MarketDataList.Add(rec); } } }
void LoadFromFile() { var dlg = new OpenFileDialog() { Filter = "Text File|*.txt |Csv File| *.csv | (*.*)|*.*" }; if (dlg.ShowDialog() == true) { var ep = new ReportCommonLib.ReportExportHelper(); var l = ep.LoadFromCsvFile <BackTestingCommonLib.MarketData>(dlg.FileName, Encoding.GetEncoding("GB18030"), GetSeperateChar(), null, preProcess); l.ForEach(v => MarketDataList.Add(v)); } }
public void LoadCurrentInstrumentMarketData(DateTime start, DateTime end) { if (CurrentInstrument == null) { return; } else { MarketDataList.Clear(); var ml = CurrentDataSource.GetDataList(new List <IInstrument>() { CurrentInstrument }, start, end, Grade); ml.ForEach(v => MarketDataList.Add(v)); } }
void LoadFromDB() { var sql = "Select * from Table_TradePrice where Time>='" + StartTime.ToString() + "' and Time<='" + EndTime.ToString() + "'"; if (!string.IsNullOrEmpty(InstrumentTicker)) { sql = sql + " and Ticker='" + InstrumentTicker + "'"; } var connectionStr = ConfigurationManager.ConnectionStrings["MarketDataConnectionString"]; using (var conn = new SqlConnection(connectionStr.ConnectionString)) { conn.Open(); var rl = conn.Query <BackTestingCommonLib.MarketData>(sql, new { }, null, true, 60000).ToList(); foreach (var r in rl) { MarketDataList.Add(r); } } }
public void LoadMarketData(DateTime start, DateTime end, Func <IDataSource> ds, IInstrument instrument) { if (ds == null || ds() == null) { MessageBox.Show("please select valid data source"); return; } var dl = ds().GetDataList(new List <IInstrument> { instrument }, start, end, MarketDataGrade.FiveMinutes); SourceList.Clear(); dl.ForEach(v => SourceList.Add(v)); var ml = MarketData.SummaryMarketDataList(dl, CurrentPeriod); MarketDataList.Clear(); ml.ForEach(v => MarketDataList.Add(v)); OnPropertyChanged("IsLoaded"); }
void New() { var obj = new BackTestingCommonLib.MarketData(); MarketDataList.Add(obj); }