Ejemplo n.º 1
0
        public TaqTrade(DateTime date, FixedBuffer fb)
        {

            // Read<> over fb is much slower
            var db = fb;
            // Time
            _timeUTCTicks = ReadHHMMSSXXXXXXAsUtcTicks(date, fb, 0);
            // Exchange
            Exchange = fb.ReadByte(12);
            // Symbol
            fixed (void* ptr = _symbol)
            {
                fb.Copy((IntPtr)ptr, 13, 16);
            }
            // Sale Condition
            fixed (void* ptr = _saleCondition)
            {
                fb.Copy((IntPtr)ptr, 29, 4);
            }

            TradeVolume = (uint)ReadUInt64(fb, 33, 9);
            TradePrice = ReadUInt64(fb, 42, 11);
            TradeStopStockIndicator = db.ReadByte(53);

            TradeCorrectionIndicator = (byte)ReadUInt64(fb, 54, 2);
            TradeSequenceNumber = ReadUInt64(fb, 56, 16);
            SourceOfTrade = db.ReadByte(72);
            TradeReportingFacility = db.ReadByte(73);

            _participantTimestampUtcTicks = ReadHHMMSSXXXXXXAsUtcTicks(date, fb, 74);

            fixed (void* ptr = _rnn)
            {
                fb.Copy((IntPtr)ptr, 86, 8);
            }

            _TRFTimestampUtcTicks = ReadHHMMSSXXXXXXAsUtcTicks(date, fb, 94);
        }