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); }