Esempio n. 1
0
 private IEnumerable<ISecurity> GetData()
 {
     try
     {
         SecurityInfoApi api = new SecurityInfoApi();
         return api.GetAllSecurity();
     }
     catch (Exception ex)
     {
         LogHelper.Logger.WriteLine(ex.ToString(), this.ServiceName);
         return new List<ISecurity>();
     }
 }
Esempio n. 2
0
        public void RefreshKLineData()
        {
            // 获取所有证券信息
            var securities = new SecurityInfoApi().GetAllSecurity().ToList();

            // 检查并更新或增加
            foreach (var security in securities)
            {
                DateTime? lastTradeDate = appService.GetLastTradeDate(KLineType.Day, security.Code);
                List<StockKLine> stockKLines = null;

                if (lastTradeDate == null)
                {
                    try
                    {
                        stockKLines = wmcloudApi.GetKLineFromWmcloudApi(security.Code);
                    }
                    catch (Exception ex)
                    {
                        //此处异常通常是因为security.Code并不是真正的股票代码(如:166105),此时通联数据并不支持
                        continue;
                    }
                }
                else
                {
                    try
                    {
                        string startDate = lastTradeDate.Value.AddDays(1).ToString("yyyyMMdd");
                        stockKLines = wmcloudApi.GetKLineFromWmcloudApi(security.Code, startDate);
                    }
                    catch (Exception ex)
                    {
                        //此处异常通常是因为security.Code并不是真正的股票代码(如:166105),此时通联数据并不支持
                        continue;
                    }
                }

                appService.Add(KLineType.Day, security.Code, stockKLines);
            }
        }
Esempio n. 3
0
        private IEnumerable<ISecurity> GetSecurityFromApi()
        {
            IEnumerable<ISecurity> result = null;
            int i = 0;
            do
            {
                try
                {
                    result = new SecurityInfoApi().GetAllSecurity();
                }
                finally
                {
                    i++;
                }

                // 尝试10次获取数据, 确保能够获取数据成功
                if (i > 9)
                {
                    break;
                }
            } while (result == null);

            return result;
        }
Esempio n. 4
0
 public void TestReadSecurityInfo()
 {
     var securities = new SecurityInfoApi().GetAllSecurity().ToList();
     Assert.IsNotNull(securities);
     Assert.IsTrue(securities.Count > 0);
 }