Administrator
2023-09-12 c97dc748bfcc4fa4361ca50924359c916271ce1f
D撤修改
3个文件已修改
45 ■■■■■ 已修改文件
constant.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.py 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
constant.py
@@ -105,7 +105,7 @@
# D撤单
# 守护时间
D_CANCEL_EXPIRE_TIME = 120
D_CANCEL_RATE = 0.5
D_CANCEL_RATE = 0.8
# L撤
# L撤下单之后多久开始守护
l2/l2_data_manager_new.py
@@ -607,6 +607,8 @@
                l2_log.debug(code, "执行买入成功")
                ################下单成功处理################
                trade_result_manager.real_buy_success(code, cls.__TradePointManager)
                cancel_buy_strategy.set_real_place_position(code, local_today_datas.get(code)[-1]["index"],
                                                            buy_single_index)
                l2_log.debug(code, "处理买入成功")
                params_desc = cls.__l2PlaceOrderParamsManagerDict[code].get_buy_rank_desc()
                l2_log.debug(code, params_desc)
@@ -812,7 +814,7 @@
            total_data = local_today_datas.get(code)
            trade_index, is_default = cls.__TradeBuyQueue.get_traded_index(code)
            if not is_default and trade_index:
                buy_index_set = set()
                not_cancel_num = 0
                num_operate_map = local_today_num_operate_map.get(code)
                for i in range(trade_index + 1, total_data[-1]["index"] + 1):
                    if L2DataUtil.is_limit_up_price_buy(total_data[i]["val"]):
@@ -823,10 +825,11 @@
                                                                                                              total_data,
                                                                                                              num_operate_map)
                        if left_count > 0:
                            buy_index_set.add(total_data[i]["index"])
                if len(buy_index_set) < 5:
                    return False, False, f"成交位置距离当前位置小于5笔"
                            not_cancel_num += total_data[i]["val"]["num"]
                m = cls.__get_threshmoney(code)
                not_cancel_money = not_cancel_num * 100 * float(gpcode_manager.get_limit_up_price(code))
                if cls.__get_threshmoney(code) > not_cancel_money:
                    return False, False, f"成交位置距离当前位置纯买额({not_cancel_money})小于m值({m})"
        else:
            # 判断买1价格档位
            zyltgb = global_util.zyltgb_map.get(code)
@@ -1149,7 +1152,11 @@
    @classmethod
    def __get_threshmoney(cls, code):
        return cls.__l2PlaceOrderParamsManagerDict[code].get_m_val()
        m = cls.__l2PlaceOrderParamsManagerDict[code].get_m_val()
        if trade_manager.CodesTradeStateManager().get_trade_state_cache(code) == trade_manager.TRADE_STATE_NOT_TRADE:
            # 首次下单m值扩大1.5倍
            m = int(m * 1.5)
        return m
    # 计算万手哥笔数
    @classmethod
main.py
@@ -30,27 +30,27 @@
    global_data_loader.init()
    # # 数据服务
    # t1 = threading.Thread(target=createDataServer, name="createDataServer", daemon=True)
    # t1.start()
    t1 = threading.Thread(target=createDataServer, name="createDataServer", daemon=True)
    t1.start()
    #
    # 交易接口服务
    # t1 = threading.Thread(target=trade_api_server.run, name="trade_api_server", args=(pipe_server, pipe_l2), daemon=True)
    # t1.start()
    t1 = threading.Thread(target=trade_api_server.run, name="trade_api_server", args=(pipe_server, pipe_l2), daemon=True)
    t1.start()
    #
    # redis后台服务
    # t1 = threading.Thread(target=redis_manager.RedisUtils.run_loop, name="redis", daemon=True)
    # t1.start()
    t1 = threading.Thread(target=redis_manager.RedisUtils.run_loop, name="redis", daemon=True)
    t1.start()
    #
    # # 启动L2订阅服务
    # 启动L2订阅服务
    t1 = threading.Thread(target=huaxin_client.l2_client.run, name="l2_client", args=(ptl2_l2, psl2_l2, trade_server.my_l2_data_callback),
                          daemon=True)
    t1.start()
    #
    # # 启动华鑫交易服务
    # t1 = threading.Thread(target=huaxin_client.trade_client.run, name="trade_client",
    #                       args=(trade_server.my_trade_response, ptl2_trade, pst_trade),
    #                       daemon=True)
    # t1.start()
    # 启动华鑫交易服务
    t1 = threading.Thread(target=huaxin_client.trade_client.run, name="trade_client",
                          args=(trade_server.my_trade_response, ptl2_trade, pst_trade),
                          daemon=True)
    t1.start()
    # 交易服务
    trade_server.run(pipe_trade, pipe_l1, pipe_l2, huaxin_client.trade_client.process_cmd)