Administrator
2024-03-27 7b8ef95e9ffb79c271bf3f47bbee8c863b6b8ded
增加L1订阅代码接口
1个文件已修改
19 ■■■■■ 已修改文件
trade/trade_strategy.py 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_strategy.py
@@ -250,11 +250,27 @@
            item = results[0]["quotes"][0]
            result = {"code": 0, "data": {"price": item["bid_p"], "volume": item["bid_v"]}}
            self.send_response(result, client_id, request_id)
        elif ctype == "get_current_l1_codes":
            codes = L1DataProcessor.get_latest_update_codes()
            result = {"code": 0, "data": list(codes)}
            self.send_response(result, client_id, request_id)
class L1DataProcessor:
    __current_price_dict = {}
    current_buy1_dict = {}
    # L1数据更新时间
    __l1_data_update_time_dict = {}
    # 获取最近更新L1的代码
    @classmethod
    def get_latest_update_codes(cls):
        now_time = time.time()
        codes = set()
        for code in cls.__l1_data_update_time_dict:
            if now_time - cls.__l1_data_update_time_dict[code] < 10:
                codes.add(code)
        return codes
    @classmethod
    def set_l1_trade_codes_info(cls, data_json):
@@ -264,6 +280,8 @@
        cls.__save_l1_current_price(datas)
        cls.process_for_sell(datas)
    @classmethod
    def process_for_sell(cls, datas):
        rules = TradeRuleManager().list_can_excut_rules_cache(types=[TradeRuleManager.TYPE_SELL])
@@ -271,6 +289,7 @@
        if rules:
            for d in datas:
                code = d[0]
                cls.__l1_data_update_time_dict[code] = time.time()
                # 格式 (代码,现价,涨幅,量,更新时间,买1价格,买1量)
                buy1_volume = d[6]
                buy1_price = d[5]