Ejemplo n.º 1
0
        /// <summary> 返回板块类型名称
        /// </summary>
        /// <param name="stockBlockType"></param>
        /// <returns></returns>
        public static string StockBlockTypeName(StockBlockType stockBlockType)
        {
            switch (stockBlockType)
            {
            case StockBlockType.gn:
                return("概念");

            case StockBlockType.fg:
                return("风格");

            case StockBlockType.zs:
                return("指数");

            case StockBlockType.hy:
                return("行业");

            case StockBlockType.hyDet:
                return("行业细分");

            case StockBlockType.dq:
                return("地区");

            default:
                throw new ArgumentOutOfRangeException("stockBlockType");
            }
        }
Ejemplo n.º 2
0
        /// <summary> 从通达信文件中加载 地区 板块数据
        /// </summary>
        private Dictionary <string, int> LoadDqBlockDataFile(StockBlockType blockType = StockBlockType.dq)
        {
            Dictionary <string, int> retDic = new Dictionary <string, int>();

            string[]     fileNameSplit = BLL.StockBlockFileName(StockBlockType.dq).Split(',');
            string       fileNameZs    = (CommProp.TDXFolder + fileNameSplit[0]).Replace(@"\\", @"\");
            string       fileNameDb    = (CommProp.TDXFolder + fileNameSplit[1]).Replace(@"\\", @"\");
            string       blockTypeName = BLL.StockBlockTypeName(blockType);
            const string formatMod     = "{0},{1},{2}";

            string[] lines = File.ReadAllLines(fileNameZs, Encoding.Default);
            Dictionary <string, string> dicDqName = new Dictionary <string, string>();

            foreach (string line in lines)
            {
                if (line.Length <= 0)
                {
                    break;
                }
                string[] split = line.Split('|');
                if (split.Length == 6 && split[2] == "3")
                {
                    dicDqName.Add(split[5], split[0]);
                }
            }

            DataTable baseDbf = BLL.LoadBaseDbf(fileNameDb);

            if (baseDbf != null && baseDbf.Rows.Count > 0)
            {
                foreach (DataRow dr in baseDbf.Rows)
                {
                    string dqCode = dr["DY"].ToString().Trim();
                    if (dicDqName.ContainsKey(dqCode))
                    {
                        string stockCode = dr["GPDM"].ToString().Trim();
                        string bkName    = dicDqName[dqCode];
                        string key       = string.Format(formatMod, stockCode, blockTypeName, bkName);
                        retDic.Add(key, 0);
                    }
                }
            }

            return(retDic);
        }
Ejemplo n.º 3
0
        /// <summary> 通达信板块文件
        /// </summary>
        public static string StockBlockFileName(StockBlockType stockBlockType)
        {
            switch (stockBlockType)
            {
            case StockBlockType.gn:
                return(@"\T0002\hq_cache\block_gn.dat");

            case StockBlockType.fg:
                return(@"\T0002\hq_cache\block_fg.dat");

            case StockBlockType.zs:
                return(@"\T0002\hq_cache\block_zs.dat");

            case StockBlockType.dq:
                return(string.Format("{0},{1}", @"\T0002\hq_cache\tdxzs.cfg", @"\T0002\hq_cache\base.dbf"));

            case StockBlockType.hy:
            case StockBlockType.hyDet:
                return(string.Format("{0},{1}", @"\incon.dat", @"\T0002\hq_cache\tdxhy.cfg"));

            default:
                return("");
            }
        }