/// <summary> /// 抓取通联数据 /// </summary> /// <param name="beginDate"></param> /// <param name="endDate"></param> /// <param name="stockCodeStr"></param> /// <returns></returns> public List <StockDayData> GetTLStockDayList(DateTime beginDate, DateTime endDate, string stockCodeStr) { string jsonStr = WebCatchHelper.GetTLDataByApi(beginDate, endDate, stockCodeStr); dynamic obj = JsonHelper.DeserializeJsonToObject <object>(jsonStr); List <StockDayData> stockDayDataList = JsonHelper.DeserializeJsonToList <StockDayData>(JsonHelper.SerializeObject(obj["data"])); return(stockDayDataList); }
/// <summary> /// 抓取东方财富数据 /// </summary> /// <returns></returns> public List <Model.stockprice> CatchEastMoneyRankData() { List <Model.stockprice> stockpriceList = null; string orginData = WebCatchHelper.GetEastMoneyData(); string[] orginDataArr = orginData.Split(new string[2] { "[", "]" }, StringSplitOptions.RemoveEmptyEntries); var eastMoneyArr = orginDataArr[1].Split(new char[2] { '"', '"' }, StringSplitOptions.RemoveEmptyEntries).Where(m => m != ",").ToList(); if (eastMoneyArr != null && eastMoneyArr.Count > 0) { stockpriceList = new List <Model.stockprice>(); } else { return(null); } eastMoneyArr.ForEach(m => { var itemArr = m.Split(','); Model.stockprice model = new Model.stockprice(); model.id = System.Guid.NewGuid().ToString(); model.stockcode = itemArr[1]; model.codename = itemArr[2]; model.lastprice = Convert.ToDouble(itemArr[3]); model.openprice = Convert.ToDouble(itemArr[4]); model.newprice = Convert.ToDouble(itemArr[5]); model.highestprice = Convert.ToDouble(itemArr[6]); model.lowestprice = Convert.ToDouble(itemArr[7]); model.turnover = Convert.ToInt32(itemArr[8]); model.tradingvolume = Convert.ToInt32(itemArr[9]); model.changeamount = Convert.ToDouble(itemArr[10]); model.changerate = Convert.ToString(itemArr[11]); model.amplitude = Convert.ToString(itemArr[13]); model.tradetime = Convert.ToDateTime(itemArr[28]); stockpriceList.Add(model); }); Init(new DateTime(2017, 3, 25), new DateTime(2017, 3, 30), stockpriceList); //init ENE stockpriceList.ForEach(m => { if (m.ma5 != null) { m.eneupper = Convert.ToDouble(Math.Round((decimal)(1.11 * m.ma5), 2)); m.enelower = Convert.ToDouble(Math.Round((decimal)(0.91 * m.ma5), 2)); m.enemiddle = (m.eneupper + m.enelower) / 2; if (m.enelower >= m.lowestprice) { m.istouch5 = true; } else { m.istouch5 = false; } } }); return(stockpriceList); }