Example #1
0
        /// <summary>
        /// Формат строки "[#fmt]#;Ticker=EURUSD#;VolumeRTH=5412#;VolumeGlobex=25701#;OpenInterest=24790#;Date=10062011#;"
        /// </summary>
        public static FuturesVolume Parse(string str)
        {
            if (string.IsNullOrEmpty(str))
            {
                return(null);
            }
            if (!str.StartsWith("[#fmt]#;"))
            {
                return(null);
            }
            var parts = str.Split(new [] { Separator }, StringSplitOptions.RemoveEmptyEntries);

            if (parts.Length != 6)
            {
                return(null);
            }

            var futVol = new FuturesVolume();

            for (var i = 1; i < parts.Length; i++)
            {
                var keyValue = parts[i].Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries);
                if (keyValue.Length != 2)
                {
                    continue;
                }
                if (keyValue[0] == "Ticker")
                {
                    futVol.Ticker = keyValue[1];
                }
                else if (keyValue[0] == "VolumeRTH")
                {
                    futVol.VolumeRTH = ParseStringSafe(keyValue[1]);
                }
                else if (keyValue[0] == "VolumeGlobex")
                {
                    futVol.VolumeGlobex = ParseStringSafe(keyValue[1]);
                }
                else if (keyValue[0] == "OpenInterest")
                {
                    futVol.OpenInterest = ParseStringSafe(keyValue[1]);
                }
                else if (keyValue[0] == "Date")
                {
                    futVol.Date = ParseDateSafe(keyValue[1]);
                }
            }
            return(futVol.IsCompleted ? futVol : null);
        }
Example #2
0
        /// <summary>
        /// Формат строки "[#fmt]#;Ticker=EURUSD#;VolumeRTH=5412#;VolumeGlobex=25701#;OpenInterest=24790#;Date=10062011#;"
        /// </summary>        
        public static FuturesVolume Parse(string str)
        {
            if (string.IsNullOrEmpty(str)) return null;
            if (!str.StartsWith("[#fmt]#;")) return null;
            var parts = str.Split(new [] { Separator }, StringSplitOptions.RemoveEmptyEntries);
            if (parts.Length != 6) return null;

            var futVol = new FuturesVolume();

            for (var i = 1; i < parts.Length; i++)
            {
                var keyValue = parts[i].Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries);
                if (keyValue.Length != 2) continue;
                if (keyValue[0] == "Ticker") futVol.Ticker = keyValue[1];
                else if (keyValue[0] == "VolumeRTH") futVol.VolumeRTH = ParseStringSafe(keyValue[1]);
                else if (keyValue[0] == "VolumeGlobex") futVol.VolumeGlobex = ParseStringSafe(keyValue[1]);
                else if (keyValue[0] == "OpenInterest") futVol.OpenInterest = ParseStringSafe(keyValue[1]);
                else if (keyValue[0] == "Date") futVol.Date = ParseDateSafe(keyValue[1]);
            }
            return futVol.IsCompleted ? futVol : null;
        }