/// <summary> /// 根据股票数据或者期货数据整理得到的数组 /// </summary> /// <param name="data">DataTable格式的股票或者期货数组</param> /// <returns>List格式的数据</returns> public stockFormat[] GetStockArray(DataTable data) { stockFormat[] stockArray = new stockFormat[28802]; int lastTime = 0; foreach (DataRow row in data.Rows) { stockFormat stock = new stockFormat(); stock.ask = new stockPrice[5]; stock.bid = new stockPrice[5]; stock.code = (int)row["Code"]; stock.date = (int)row["Date"]; //剔除非交易时间的交易数据。 int now = (int)row["Time"] + (int)row["Tick"] * 500; if (now < 93000000 || (now > 113000000 && now < 130000000) || (now > 150000000) || (int)row["Tick"] >= 2) { continue; } if (now <= lastTime) { continue; } stock.time = now; lastTime = now; stock.lastPrice = (double)row["LastPrice"]; for (int i = 1; i <= 5; i++) { stock.ask[i - 1] = new stockPrice((double)row["Ask" + i.ToString()], (double)row["Askv" + i.ToString()]); stock.bid[i - 1] = new stockPrice((double)row["Bid" + i.ToString()], (double)row["Bidv" + i.ToString()]); } stock.preClose = (double)row["PreClose"]; stockArray[TradeDays.TimeToIndex(now)] = stock; } return(stockArray); }
/// <summary> /// 根据股票数据或者期货数据整理得到的链表 /// </summary> /// <param name="data">DataTable格式的股票或者期货数据</param> /// <returns>List格式的数据</returns> public List <stockFormat> GetStockList(DataTable data) { List <stockFormat> stockList = new List <stockFormat>(); int lastTime = 0; foreach (DataRow row in data.Rows) { stockFormat stock = new stockFormat(); stock.ask = new stockPrice[5]; stock.bid = new stockPrice[5]; stock.code = (int)row["Code"]; stock.date = (int)row["Date"]; //剔除非交易时间的交易数据。 int now = (int)row["Time"] + (int)row["Tick"] * 500; if (now < 93000000 || (now > 113000000 && now < 130000000) || (now > 150000000) || (int)row["Tick"] >= 2) { continue; } if (now <= lastTime) { continue; } stock.time = now; lastTime = now; stock.lastPrice = (double)row["LastPrice"]; for (int i = 1; i <= 5; i++) { stock.ask[i - 1] = new stockPrice((double)row["Ask" + i.ToString()], (double)row["Askv" + i.ToString()]); stock.bid[i - 1] = new stockPrice((double)row["Bid" + i.ToString()], (double)row["Bidv" + i.ToString()]); } stock.preClose = (double)row["PreClose"]; stockList.Add(stock); } return(stockList); }