| | |
| | | __dealing_active_buy_order_info_dict = {} |
| | | # 最近成交的订单{"code":(订单号,是否成交完成)} |
| | | __latest_deal_order_info_dict = {} |
| | | # 成交的买单号集合:{"代码":set()} |
| | | __deal_buy_order_nos_dict = {} |
| | | |
| | | def __new__(cls, *args, **kwargs): |
| | | if not cls.__instance: |
| | |
| | | @classmethod |
| | | def __load_datas(cls): |
| | | __redis = cls.__get_redis() |
| | | try: |
| | | |
| | | keys = RedisUtils.keys(__redis, "dealing_order_info-*") |
| | | for k in keys: |
| | | code = k.split("-")[-1] |
| | | val = RedisUtils.get(__redis, k) |
| | | val = json.loads(val) |
| | | tool.CodeDataCacheUtil.set_cache(cls.__dealing_order_info_dict, code, val) |
| | | finally: |
| | | RedisUtils.realse(__redis) |
| | | # 读取已经成交的大单 |
| | | deal_data_list_dict = log_export.load_huaxin_deal_record_all() |
| | | for code in deal_data_list_dict: |
| | | cls.__deal_buy_order_nos_dict[code] = set([x[0] for x in deal_data_list_dict[code]]) |
| | | |
| | | # 将数据持久化到数据库 |
| | | def sync_dealing_data_to_db(self): |
| | |
| | | |
| | | dealing_order_info = cls.__dealing_order_info_dict.get(code) |
| | | |
| | | if code not in cls.__deal_buy_order_nos_dict: |
| | | cls.__deal_buy_order_nos_dict[code] = set() |
| | | deal_buy_order_nos = cls.__deal_buy_order_nos_dict[code] |
| | | |
| | | for data in fdatas: |
| | | # q.append((data['SecurityID'], data['TradePrice'], data['TradeVolume'], |
| | | # data['OrderTime'], data['MainSeq'], data['SubSeq'], data['BuyNo'], |
| | |
| | | # if abs(deal_info[5] - limit_up_price) < 0.0001: |
| | | big_buy_datas.append(deal_info) |
| | | if deal_info[2] >= 500000: |
| | | deal_buy_order_nos.add(deal_info[0]) |
| | | normal_buy_datas.append(deal_info) |
| | | # 初始化本条数据 |
| | | dealing_order_info = [current_order_info[6], current_order_info[2], money, |
| | |
| | | current_order_info[3], |
| | | current_order_info[3]] |
| | | return big_buy_datas, normal_buy_datas |
| | | |
| | | def get_deal_buy_order_nos(self, code): |
| | | """ |
| | | 获取成交大单集合 |
| | | @param code: |
| | | @return: |
| | | """ |
| | | return self.__deal_buy_order_nos_dict.get(code) |
| | | |
| | | |
| | | # 卖单统计数据 |
| | |
| | | @classmethod |
| | | def get_latest_trade_price_info(cls, code): |
| | | return cls.__latest_trade_price_dict.get(code) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | code = "603300" |
| | | order_nos = HuaXinBuyOrderManager().get_deal_buy_order_nos(code) |
| | | print(order_nos) |