/// <summary>
        /// 得到所有的品种
        /// </summary>
        /// <returns></returns>
        private List <SpeciesItem> GetAllSpecies()
        {
            List <SpeciesItem> ret         = new List <SpeciesItem>();
            SpeciesItem        si          = null;
            List <Species>     speciesList = null;

            speciesList = CodeSetManager.GetAllInnerSpecies();// CodeSet.GetListSpeciesByMarket(HSMarketDataType.FUTURES_MARKET | HSMarketDataType.CFFEX_BOURSE);
            //foreach (Species s in speciesList)
            //{
            //    si = null;
            //    string chnName=CodeGen.CodeSet.GetSpeciChineseName(s.speciesName);
            //    if (speciesNameDict.ContainsKey(chnName))
            //    {
            //        si = speciesNameDict[chnName];
            //        si.otherCode = s.speciesName;
            //    }
            //    else
            //    {
            //        si = new SpeciesItem();
            //        si.code = s.speciesName;
            //        si.name = chnName;
            //        ret.Add(si);
            //        speciesNameDict[chnName] = si;
            //    }
            //}

            //speciesList=CodeSet.GetListSpeciesByMarket(HSMarketDataType.FUTURES_MARKET | HSMarketDataType.SHANGHAI_BOURSE);
            //foreach (Species s in speciesList)
            //{
            //    si = null;
            //    string chnName = CodeGen.CodeSet.GetSpeciChineseName(s.speciesName);
            //    if (speciesNameDict.ContainsKey(chnName))
            //    {
            //        si = speciesNameDict[chnName];
            //        si.otherCode = s.speciesName;
            //    }
            //    else
            //    {
            //        si = new SpeciesItem();
            //        si.name = chnName;
            //        si.code = s.speciesName;
            //        ret.Add(si);
            //        speciesNameDict[chnName] = si;
            //    }
            //}

            //speciesList = CodeSet.GetListSpeciesByMarket(HSMarketDataType.FUTURES_MARKET | HSMarketDataType.ZHENGZHOU_BOURSE);
            //foreach (Species s in speciesList)
            //{
            //    si = null;
            //    string chnName = CodeGen.CodeSet.GetSpeciChineseName(s.speciesName);
            //    if (speciesNameDict.ContainsKey(chnName))
            //    {
            //        si = speciesNameDict[chnName];
            //        si.otherCode = s.speciesName;
            //    }
            //    else
            //    {
            //        si = new SpeciesItem();
            //        si.code = s.speciesName;
            //        si.name = chnName;
            //        ret.Add(si);
            //        speciesNameDict[chnName] = si;
            //    }
            //}

            //speciesList = CodeSet.GetListSpeciesByMarket(HSMarketDataType.FUTURES_MARKET | HSMarketDataType.DALIAN_BOURSE);
            foreach (Species s in speciesList)
            {
                //Todo:
                //if (s.SpeciesCode.Contains("SP") || s.SpeciesCode.Contains("efp") || s.SpeciesCode.Contains("_o"))
                if (s.SpeciesCode.Contains("efp") || s.SpeciesCode.StartsWith("sc") || s.ProductType == "Combination" || s.ProductType.Contains("Option") || s.SpeciesCode == "CVX")
                {
                    continue;
                }

                si = null;
                string chnName = CodeSetManager.GetSpeciChineseName(s.SpeciesCode);
                if (speciesNameDict.ContainsKey(chnName))
                {
                    si           = speciesNameDict[chnName];
                    si.otherCode = s.SpeciesCode;
                }
                else
                {
                    si      = new SpeciesItem();
                    si.code = s.SpeciesCode;
                    si.name = chnName;
                    ret.Add(si);
                    speciesNameDict[chnName] = si;
                }
            }
            return(ret);
        }