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