Exemple #1
0
        /// <summary>
        /// 获取实时数据
        /// </summary>
        /// <param name="dataInfo"></param>
        /// <param name="datas"></param>
        /// <param name="body"></param>
        /// <param name="bodyLength"></param>
        /// <returns></returns>
        public static int GetLatestDatas(ref LatestDataInfo dataInfo, List <SecurityLatestData> datas, byte[] body, int bodyLength)
        {
            Binary binary = new Binary();

            binary.Write(body, bodyLength);
            dataInfo.m_formatType = binary.ReadChar();
            dataInfo.m_lv2        = binary.ReadChar();
            dataInfo.m_size       = binary.ReadInt();
            for (int i = 0; i < dataInfo.m_size; i++)
            {
                SecurityLatestData item = new SecurityLatestData();
                item.m_securityCode = binary.ReadString();
                item.m_open         = binary.ReadFloat();
                item.m_lastClose    = binary.ReadFloat();
                item.m_close        = binary.ReadFloat();
                item.m_high         = binary.ReadFloat();
                item.m_low          = binary.ReadFloat();
                item.m_volume       = binary.ReadDouble();
                item.m_amount       = binary.ReadDouble();
                if (dataInfo.m_formatType == 0)
                {
                    item.m_buyVolume1   = binary.ReadInt();
                    item.m_buyPrice1    = binary.ReadFloat();
                    item.m_buyVolume2   = binary.ReadInt();
                    item.m_buyPrice2    = binary.ReadFloat();
                    item.m_buyVolume3   = binary.ReadInt();
                    item.m_buyPrice3    = binary.ReadFloat();
                    item.m_buyVolume4   = binary.ReadInt();
                    item.m_buyPrice4    = binary.ReadFloat();
                    item.m_buyVolume5   = binary.ReadInt();
                    item.m_buyPrice5    = binary.ReadFloat();
                    item.m_sellVolume1  = binary.ReadInt();
                    item.m_sellPrice1   = binary.ReadFloat();
                    item.m_sellVolume2  = binary.ReadInt();
                    item.m_sellPrice2   = binary.ReadFloat();
                    item.m_sellVolume3  = binary.ReadInt();
                    item.m_sellPrice3   = binary.ReadFloat();
                    item.m_sellVolume4  = binary.ReadInt();
                    item.m_sellPrice4   = binary.ReadFloat();
                    item.m_sellVolume5  = binary.ReadInt();
                    item.m_sellPrice5   = binary.ReadFloat();
                    item.m_innerVol     = binary.ReadInt();
                    item.m_outerVol     = binary.ReadInt();
                    item.m_turnoverRate = binary.ReadFloat();
                    item.m_openInterest = binary.ReadDouble();
                    item.m_settlePrice  = binary.ReadFloat();
                }
                item.m_date = binary.ReadDouble();
                datas.Add(item);
            }
            binary.Close();
            return(1);
        }
Exemple #2
0
        public static int GetSecurities(List <Security> securities, int functionID, byte[] body, int bodyLength)
        {
            Binary binary = new Binary();

            binary.Write(body, bodyLength);
            int num = binary.ReadInt();

            if (num > 0)
            {
                for (int i = 0; i < num; i++)
                {
                    Security item = new Security();
                    item.m_code = binary.ReadString();

                    if (functionID == 0)
                    {
                        item.m_name    = binary.ReadString();
                        item.m_pingyin = binary.ReadString();
                        item.m_type    = binary.ReadShort();
                        item.m_status  = binary.ReadChar();
                    }
                    securities.Add(item);
                }
            }
            binary.Close();
            return(1);
        }
Exemple #3
0
        /// <summary>
        /// 获取历史数据
        /// </summary>
        /// <param name="dataInfo"></param>
        /// <param name="datas"></param>
        /// <param name="body"></param>
        /// <param name="bodyLength"></param>
        /// <returns></returns>
        public static int GetHistoryDatas(ref HistoryDataInfo dataInfo, List <SecurityData> datas, byte[] body, int bodyLength)
        {
            Binary binary = new Binary();

            binary.Write(body, bodyLength);
            dataInfo.m_securityCode = binary.ReadString();
            dataInfo.m_type         = binary.ReadChar();
            dataInfo.m_size         = binary.ReadInt();
            dataInfo.m_cycle        = binary.ReadInt();
            dataInfo.m_subscription = binary.ReadInt();
            dataInfo.m_startDate    = binary.ReadDouble();
            dataInfo.m_endDate      = binary.ReadDouble();
            dataInfo.m_pushData     = binary.ReadBool();
            int size = dataInfo.m_size;

            for (int i = 0; i < size; i++)
            {
                SecurityData item = new SecurityData();
                item.m_date   = binary.ReadDouble();
                item.m_close  = binary.ReadFloat();
                item.m_high   = binary.ReadFloat();
                item.m_low    = binary.ReadFloat();
                item.m_open   = binary.ReadFloat();
                item.m_volume = binary.ReadDouble();
                item.m_amount = binary.ReadDouble();
                if (dataInfo.m_cycle == 0)
                {
                    item.m_avgPrice = binary.ReadFloat();
                }
                datas.Add(item);
            }
            binary.Close();
            return(1);
        }
Exemple #4
0
        /// <summary>
        /// 获取弹幕信息
        /// </summary>
        /// <param name="datas">用于返回弹幕信息</param>
        /// <param name="body">包体</param>
        /// <param name="bodyLength">包体长度</param>
        /// <returns></returns>
        public static int GetChatDatas(List <ChatData> datas, byte[] body, int bodyLength)
        {
            Binary br = new Binary();

            br.Write(body, bodyLength);
            int size = br.ReadInt();

            for (int i = 0; i < size; i++)
            {
                ChatData chat = new ChatData();
                chat.m_userID = br.ReadInt();
                chat.m_type   = br.ReadChar();
                chat.m_text   = br.ReadString();
                datas.Add(chat);
            }
            br.Close();
            return(1);
        }
Exemple #5
0
        /// <summary>
        /// 获取交易数据
        /// </summary>
        /// <param name="securityCode"></param>
        /// <param name="transactionDatas"></param>
        /// <param name="body"></param>
        /// <param name="bodyLength"></param>
        /// <returns></returns>
        public static int GetTransactionDatas(ref string securityCode, List <TransactionData> transactionDatas, byte[] body, int bodyLength)
        {
            Binary binary = new Binary();

            binary.Write(body, bodyLength);
            securityCode = binary.ReadString();
            int num = binary.ReadInt();

            for (int i = 0; i < num; i++)
            {
                TransactionData item = new TransactionData();
                item.m_date   = binary.ReadDouble();
                item.m_price  = binary.ReadFloat();
                item.m_volume = binary.ReadDouble();
                item.m_type   = binary.ReadChar();
                transactionDatas.Add(item);
            }
            binary.Close();
            return(1);
        }