/// <summary> /// Вселенское зло спит тут! /// </summary> /// <remarks> /// Обязательно!!!!! Необходимо соблюсти порядок столбцов в квике! /// Номер,Дата, Время, Класс Код, Код инстурмента, цена, кол-во! /// </remarks> /// <returns></returns> internal static void GetDeals(byte[] rawData) { if (data == null) { return; } int rowsNumber = BitConverter.ToInt16(new byte[] { rawData[4], rawData[5] }, 0); XLTableTyped table = new XLTableTyped(rawData); for (int i = 0; i < rowsNumber; i++) { double number = -1; try { table.MoveNext(); number = (double)table.Current; table.MoveNext(); string DateStr = (string)table.Current; table.MoveNext(); string TimeStr = (string)table.Current; table.MoveNext(); string MarketStr = (string)table.Current; table.MoveNext(); string CodeStr = (string)table.Current; table.MoveNext(); double price = (double)table.Current; table.MoveNext(); double volume = (double)table.Current; IBar tick = new OpenWealth.Simple.Tick(ParseDateTimeWithCache(String.Concat(DateStr, " ", TimeStr)), (int)number, (float)price, (int)volume); l.Debug("GetDeals Tick " + MarketStr + "." + CodeStr + " " + tick.ToString()); // TODO избавится от null data.GetBars(data.GetSymbol(MarketStr, CodeStr), tickScale).Add(null, tick); } catch (Exception e) { l.Error("Exception в GetDeals, при обработке сделки номер " + number, e); } } }
/// <summary> /// Вселенское зло спит тут! /// </summary> /// <remarks> /// Обязательно!!!!! Необходимо соблюсти порядок столбцов в квике! /// Номер,Дата, Время, Класс Код, Код инстурмента, цена, кол-во! /// </remarks> /// <returns></returns> internal static void GetDeals(byte[] rawData) { if (data == null) return; int rowsNumber = BitConverter.ToInt16(new byte[] { rawData[4], rawData[5] }, 0); XLTableTyped table = new XLTableTyped(rawData); for (int i = 0; i < rowsNumber; i++) { double number = -1; try { table.MoveNext(); number = (double)table.Current; table.MoveNext(); string DateStr = (string)table.Current; table.MoveNext(); string TimeStr = (string)table.Current; table.MoveNext(); string MarketStr = (string)table.Current; table.MoveNext(); string CodeStr = (string)table.Current; table.MoveNext(); double price = (double)table.Current; table.MoveNext(); double volume = (double)table.Current; IBar tick = new OpenWealth.Simple.Tick(ParseDateTimeWithCache(String.Concat(DateStr, " ", TimeStr)), (int)number, (float)price, (int)volume); l.Debug("GetDeals Tick " + MarketStr + "." + CodeStr + " " + tick.ToString()); // TODO избавится от null data.GetBars(data.GetSymbol(MarketStr, CodeStr), tickScale).Add(null, tick); } catch (Exception e) { l.Error("Exception в GetDeals, при обработке сделки номер " + number, e); } } }