Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }