示例#1
0
        /// <summary>
        /// 获取板块数据
        /// </summary>
        /// <returns></returns>
        public static IEnumerable <GTA.PI.Models.PlateInfo> GetPlates(int retryTime = 0)
        {
            var req = new ReqPlates();

            req.securityType.Add("S0101");
            req.plateType.Add("P4901");
            req.plateType.Add("P4911"); //概念类
            req.plateType.Add("P4910");
            req.plateType.Add("P4906");
            req.page = new DataPage()
            {
                begin = 0, end = 0
            };
            var rep = SyncRequestEx.Instance.SyncSendData(req, _waitTime);

            if (rep is Exception)
            {
                if (retryTime > RetryTime)
                {
                    string exMsg = string.Format("同步板块数据异常. 重试{0}次仍未取到值.", DSPHelper.RetryTime);
                    LogHelper.Error("异常", exMsg);
                    return(null);
                }

                retryTime += 1;
                string errMsg = string.Format("获取交易日历发生异常!重试{0}次!", retryTime);
                LogHelper.Info("总运行", errMsg);
                return(GetPlates(retryTime));
            }

            return(TransferHelper.Transfer2List <GTA.PI.Models.PlateInfo>(rep));
        }
示例#2
0
        /// <summary>
        /// 获取交易日历
        /// </summary>
        /// <returns></returns>
        public static IEnumerable <TradeCalendarInfo> GetTradingDay(int retryTime = 0)
        {
            var req = new ReqTradeCalendar();

            req.exchangeCode.Add("SZSE");
            req.fields.Add("*");
            req.securityType = "S0101";
            req.dateBegin    = TransferHelper.DateTimeToString(DateTime.Today.AddMonths(-1));
            req.dateEnd      = TransferHelper.DateTimeToString(DateTime.Today);
            req.page         = new DataPage()
            {
                begin = 0, end = 0
            };
            var rep = SyncRequestEx.Instance.SyncSendData(req, _waitTime);

            if (rep is Exception)
            {
                if (retryTime > RetryTime)
                {
                    string exMsg = string.Format("同步交易日历异常. 重试{0}次仍未取到值.", DSPHelper.RetryTime);
                    LogHelper.Error("异常", exMsg);
                    return(new List <TradeCalendarInfo>());
                }

                retryTime += 1;
                string errMsg = string.Format("获取交易日历发生异常!重试{0}次!", retryTime);
                LogHelper.Info("总运行", errMsg);
                return(GetTradingDay(retryTime));
            }

            return(TransferHelper.Transfer2List <TradeCalendarInfo>(rep));
        }
示例#3
0
        /// <summary>
        /// 根据代码取行情数据
        /// </summary>
        /// <param name="rep"></param>
        /// <returns></returns>
        public static List <DataByTime> TransferDataByTime(object rep, object securityID)
        {
            var list = TransferHelper.Transfer2List <DataByTime>(rep);

            list = list.Where(m => m.Filling == "0").ToList();
            return(list);
        }
示例#4
0
        /// <summary>
        /// 获取指定板块的代码列表
        /// </summary>
        /// <returns></returns>
        public static IEnumerable <SymbolInfo> GetPlateSymbols(ulong plateID, int retryTime = 0)
        {
            var req = new ReqPlateSymbols();

            req.plateIDs.Add(plateID);
            req.setOper = ESetOper.Union;
            req.page    = new DataPage()
            {
                begin = 0, end = 0
            };
            var rep = SyncRequestEx.Instance.SyncSendData(req, _waitTime);

            if (rep is Exception)
            {
                if (retryTime > RetryTime)
                {
                    string exMsg = string.Format("同步板块股票异常. 重试{0}次仍未取到值. plateID:{1}.", DSPHelper.RetryTime, plateID);
                    LogHelper.Error("异常", exMsg);
                    return(null);
                }

                retryTime += 1;
                string errMsg = string.Format("获取板块:{0}的股票发生异常!重试{1}次!", plateID, retryTime);
                LogHelper.Info("总运行", errMsg);
                return(GetPlateSymbols(plateID, retryTime));
            }

            var obj = rep as RepPlateSymbols;

            if (obj.columns.Count == 0)
            {
                //string msg = string.Format("板块:{0},取不到对应的股票。", plateID);
                //LogHelper.Info("板块取股票", msg);
                return(null);
            }

            var list = TransferHelper.Transfer2List <SymbolInfo>(rep);

            return(list);
        }