Administrator
2023-09-28 79f2fd73fff134a0e0f6c84abded4900d817f8f7
暂时注释掉S撤/bug修复
6个文件已修改
41 ■■■■ 已修改文件
huaxin_client/command_manager.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/cancel_buy_strategy.py 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_log.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
third_data/data_server.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/command_manager.py
@@ -126,7 +126,8 @@
                    val = queue_strategy_trade.get()
                    if val:
                        _type = val["type"]
                        async_log_util.info(logger_local_huaxin_contact_debug, f"接受到信息: {_type}")
                        if _type != "test":
                            async_log_util.info(logger_local_huaxin_contact_debug, f"接受到信息: {val}")
                        cls.process_command_thread_pool.submit(lambda: cls.process_command(_type, None, val))
                except Exception as e:
                    async_log_util.exception(logger_local_huaxin_trade_debug, e)
l2/cancel_buy_strategy.py
@@ -670,25 +670,27 @@
    @classmethod
    def get_cancel_rate(cls, code):
        base_rate = constant.L_CANCEL_RATE
        block_rate = 0
        if code in cls.__block_limit_up_count_dict:
            count = cls.__block_limit_up_count_dict[code]
            rates = [0, 0.03, 0.06, 0.08, 0.12]
            rate = 0
            if count >= len(rates):
                rate = rates[-1]
                block_rate = rates[-1]
            else:
                rate = rates[count]
            base_rate += rate
                block_rate = rates[count]
        deal_rate = 0
        if code in cls.__big_num_deal_rate_dict:
            temp_rate = cls.__big_num_deal_rate_dict[code]
            rate = 0
            if temp_rate >= 1:
                if temp_rate > 3:
                    temp_rate = 3
                rate = round((temp_rate * 3.5 - 2.5) / 100, 4)
            base_rate += rate
        return round(base_rate,2)
                deal_rate = round((temp_rate * 3.5 - 2.5) / 100, 4)
        base_rate += block_rate
        base_rate += deal_rate
        return round(base_rate, 2), block_rate, deal_rate
    # 设置板块涨停数量(除开自己)
    @classmethod
@@ -702,8 +704,7 @@
    @classmethod
    def set_big_num_deal_rate(cls, code, rate):
        cls.__big_num_deal_rate_dict[code] = rate
        logger_l2_l_cancel.debug(code, f"设置大单成交金额比值:{rate}")
        l2_log.l_cancel_debug(code, f"设置大单成交金额比值:{rate}")
# 计算成交位置之后的大单(特定笔数)的撤单比例
@@ -959,8 +960,9 @@
                #     return True, total_data[-1]
            rate = round(canceled_num / total_num, 3)
            l2_log.l_cancel_debug(code, f"计算范围:{start_index}-{end_index},已撤单比例:{rate}")
            if rate >= LCancelRateManager.get_cancel_rate(code):
            thresh_hold_rate = LCancelRateManager.get_cancel_rate(code)
            l2_log.l_cancel_debug(code, f"计算范围:{start_index}-{end_index},已撤单比例:{rate}/{thresh_hold_rate}")
            if rate >= thresh_hold_rate:
                return True, total_data[-1]
        return False, None
@@ -1540,4 +1542,3 @@
if __name__ == "__main__":
    pass
l2/l2_data_manager_new.py
@@ -507,8 +507,9 @@
        # 依次处理
        cancel_data, cancel_msg = l_cancel(buy_single_index, buy_exec_index)
        if not cancel_data:
            cancel_data, cancel_msg = s_cancel(buy_single_index, buy_exec_index)
        # 暂时取消S撤
        # if not cancel_data:
        #     cancel_data, cancel_msg = s_cancel(buy_single_index, buy_exec_index)
        if not cancel_data:
            cancel_data, cancel_msg = h_cancel(buy_single_index, buy_exec_index)
        # l2_log.debug(code, "撤单计算结束")
l2/l2_log.py
@@ -1,6 +1,6 @@
from log_module import async_log_util
from log_module.log import logger_l2_trade_cancel, logger_l2_trade_buy, logger_trade_record, logger_l2_trade, \
    logger_l2_s_cancel, logger_l2_h_cancel, logger_l2_l_cancel, logger_l2_error
    logger_l2_s_cancel, logger_l2_h_cancel, logger_l2_l_cancel, logger_l2_error, logger_l2_d_cancel
threadIds = {}
@@ -42,7 +42,7 @@
def d_cancel_debug(code, content, *args):
    __add_async_log(logger_l2_l_cancel, code, content, *args)
    __add_async_log(logger_l2_d_cancel, code, content, *args)
# 交易记录
def trade_record(code, type, content, *args):
main.py
@@ -117,4 +117,5 @@
        l1Process.join()
        tradeProcess.join()
    except Exception as e:
        logging.exception(e)
        logger_system.exception(e)
third_data/data_server.py
@@ -528,7 +528,6 @@
                                                                                 limit_up_record_datas,
                                                                                 yesterday_current_limit_up_codes,
                                                                                 before_blocks_dict):
                                            pass
                                            # TODO 测试暂时注释
                                            l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code,
                                                                                                f"涨停原因({limit_up_reasons.get(code)})不是老大撤单",