Exemple #1
0
		public static DataSeriesInfo GetDataSeriesInfo(string seriesName)
		{
			DataSeriesInfo dataSeriesInfo = new DataSeriesInfo();
			dataSeriesInfo.SeriesName = seriesName;
			List<string> list = new List<string>((IEnumerable<string>)seriesName.Split(new char[] { '.' }));
			dataSeriesInfo.DataType = DataType.Unknown;
			switch (list[list.Count - 1])
			{
				case "Daily":
					dataSeriesInfo.DataType = DataType.Daily;
					break;
				case "Trade":
					dataSeriesInfo.DataType = DataType.Trade;
					break;
				case "Quote":
					dataSeriesInfo.DataType = DataType.Quote;
					break;
				case "Depth":
					dataSeriesInfo.DataType = DataType.MarketDepth;
					break;
			}
			int count = 1;
			long result;
			if (dataSeriesInfo.DataType == DataType.Unknown && list.Count >= 4 && (list[list.Count - 3] == "Bar" && Enum.IsDefined(typeof(BarType), (object)list[list.Count - 2])) && long.TryParse(list[list.Count - 1], out result))
			{
				dataSeriesInfo.DataType = DataType.Bar;
				dataSeriesInfo.BarType = (BarType)Enum.Parse(typeof(BarType), list[list.Count - 2]);
				dataSeriesInfo.BarSize = result;
				count = 3;
			}
			dataSeriesInfo.Symbol = string.Join('.'.ToString(), list.GetRange(0, list.Count - count).ToArray());
			dataSeriesInfo.Suffix = string.Join('.'.ToString(), list.GetRange(list.Count - count, count).ToArray());
			return dataSeriesInfo;
		}
        public static bool TryGetBarTypeSize(string seriesName, out BarType barType, out long barSize)
        {
            DataSeriesInfo dataSeriesInfo = DataSeriesHelper.GetDataSeriesInfo(seriesName);

            barType = dataSeriesInfo.BarType;
            barSize = dataSeriesInfo.BarSize;
            return(dataSeriesInfo.DataType == DataType.Bar);
        }
        public static string SeriesNameToString(string seriesName)
        {
            DataSeriesInfo dataSeriesInfo = DataSeriesHelper.GetDataSeriesInfo(seriesName);

            switch (dataSeriesInfo.DataType)
            {
            case DataType.Bar:
                return(string.Format("{0} {1}", "Bar", DataSeriesHelper.BarTypeSizeToString(dataSeriesInfo.BarType, dataSeriesInfo.BarSize)));

            case DataType.MarketDepth:
                return(dataSeriesInfo.DataType.ToString());

            default:
                return(dataSeriesInfo.Suffix);
            }
        }
        public static DataSeriesInfo GetDataSeriesInfo(string seriesName)
        {
            DataSeriesInfo dataSeriesInfo = new DataSeriesInfo();

            dataSeriesInfo.SeriesName = seriesName;
            List <string> list = new List <string>((IEnumerable <string>)seriesName.Split(new char[] { '.' }));

            dataSeriesInfo.DataType = DataType.Unknown;
            switch (list[list.Count - 1])
            {
            case "Daily":
                dataSeriesInfo.DataType = DataType.Daily;
                break;

            case "Trade":
                dataSeriesInfo.DataType = DataType.Trade;
                break;

            case "Quote":
                dataSeriesInfo.DataType = DataType.Quote;
                break;

            case "Depth":
                dataSeriesInfo.DataType = DataType.MarketDepth;
                break;
            }
            int  count = 1;
            long result;

            if (dataSeriesInfo.DataType == DataType.Unknown && list.Count >= 4 && (list[list.Count - 3] == "Bar" && Enum.IsDefined(typeof(BarType), (object)list[list.Count - 2])) && long.TryParse(list[list.Count - 1], out result))
            {
                dataSeriesInfo.DataType = DataType.Bar;
                dataSeriesInfo.BarType  = (BarType)Enum.Parse(typeof(BarType), list[list.Count - 2]);
                dataSeriesInfo.BarSize  = result;
                count = 3;
            }
            dataSeriesInfo.Symbol = string.Join('.'.ToString(), list.GetRange(0, list.Count - count).ToArray());
            dataSeriesInfo.Suffix = string.Join('.'.ToString(), list.GetRange(list.Count - count, count).ToArray());
            return(dataSeriesInfo);
        }