Administrator
2023-11-13 b8ec6faf40ea2a19f6cbba20b14bbf8d52ca013f
修改l2数据上传规则(未生效)
3个文件已修改
34 ■■■■ 已修改文件
huaxin_client/l2_client.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/l2_data_manager.py 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/l2_client.py
@@ -324,8 +324,6 @@
                # 卖
                item["OrderNO"] = sellNo
                item["Side"] = "2"
            # 深证撤单
            print("逐笔委托", item)
            self.l2_data_upload_manager.add_l2_order_detail(item, 0, True)
        else:
            if abs(pTransaction['TradePrice'] - limit_up_price) < 0.201:
huaxin_client/l2_data_manager.py
@@ -36,6 +36,31 @@
        self.market_data_queue = market_data_queue
        self.temp_order_queue_dict = {}
        self.temp_transaction_queue_dict = {}
        self.filter_order_condition_dict = {}
    # TODO 需要调用
    # 设置订单过滤条件
    def set_order_fileter_condition(self, code, min_volume, special_volumes=None, special_volumes_expire_time=None):
        if special_volumes is None:
            special_volumes = set()
        self.filter_order_condition_dict[code] = [min_volume, special_volumes, special_volumes_expire_time]
    # 过滤订单
    def __filter_order(self, item):
        filter_condition = self.filter_order_condition_dict.get(item[0])
        if filter_condition:
            # item[2]为量
            if item[2] >= filter_condition[0]:
                return item
            if filter_condition[1] and item[2] in filter_condition[1]:
                if filter_condition[2] and time.time() > filter_condition[2]:
                    # 超时了,需要清除特殊量数据
                    filter_condition[1] = set()
                    filter_condition[2] = None
                    return None
                return item
            return None
        return item
    # 添加委托详情
    def add_l2_order_detail(self, data, start_time, istransaction=False):
@@ -84,7 +109,10 @@
            try:
                if not q:
                    data = q.popleft()
                    temp_list.append(data)
                    # 前置数据处理,过滤掉无用的数据
                    data = self.__filter_order(data)
                    if data:
                        temp_list.append(data)
                else:
                    if temp_list:
                        # 上传数据
l2/l2_data_manager_new.py
@@ -1123,7 +1123,7 @@
                        if code.find('00') == 0:
                            order_begin_pos.threshold_money = int(sell_info[1] * 0.6)
                        else:
                            order_begin_pos.threshold_money = int(sell_info[1] * 0.7)
                            order_begin_pos.threshold_money = int(sell_info[1] * 0.8)
                    else:
                        order_begin_pos.threshold_money = int(sell_info[1])
                l2_log.debug(code, "获取到买入信号起始点:{} ,计算范围:{}-{} ,量比:{},是否板上买:{},数据:{} 模式:{}({})", buy_single_index,