Administrator
2024-12-15 0516355520573c81518a20fd4421b8c105d67bae
成交代码可订阅/修改订阅代码输出接口
4个文件已修改
54 ■■■■ 已修改文件
constant.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
servers/data_server.py 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/current_price_process_manager.py 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
constant.py
@@ -201,7 +201,7 @@
MAX_CODE_RADICAL_BUY_PRICE = 40
MIN_CODE_RADICAL_BUY_PRICE = 2
# 扫入的自由流通市值区间
# 扫入的自由流通市值区间:[[(自由流通最小值,自由流通最大值),(股价最小值,股价最大值)]]
RADICAL_BUY_ZYLTGB_AS_YI_RANGES = [[(5, 1000), (3, 40)], [(50, 1000), (2, 3)]]
# L2数据是否载入完成
l2/l2_data_manager_new.py
@@ -2157,7 +2157,7 @@
                    break
            if single_index is not None:
                return True, single_index, "有大单", watch_indexes
            return False, None, "无大单", watch_indexes
            return False, None, f"大单不足:{trade_index}-{end_index}  缺少的大单-{lack_money}", watch_indexes
        radical_data = RadicalBuyDealCodesManager.buy_by_l2_delegate_expire_time_dict.get(code)
        record_codes = radical_buy_data_manager.BlockPlaceOrderRecordManager().get_codes()
servers/data_server.py
@@ -9,6 +9,7 @@
import requests
from code_attribute.gpcode_manager import BlackListCodeManager
from l2.huaxin import huaxin_target_codes_manager
from l2.l2_transaction_data_manager import HuaXinBuyOrderManager
from log_module.log import logger_system, logger_debug, logger_kpl_limit_up, logger_request_api
from third_data.custom_block_in_money_manager import CodeInMoneyManager
@@ -16,9 +17,10 @@
    ContainsLimitupCodesBlocksManager
from third_data.kpl_limit_up_data_manager import LatestLimitUpBlockManager, CodeLimitUpSequenceManager
from third_data.third_blocks_manager import BlockMapManager
from trade.buy_radical import radical_buy_data_manager
from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
from trade.buy_strategy import OpenLimitUpGoodBlocksBuyStrategy
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager
from utils import global_util, tool, data_export_util
from code_attribute import gpcode_manager
from log_module import log_analyse, log_export, async_log_util
@@ -890,28 +892,24 @@
        elif url.path == "/get_l2_subscript_codes":
            # 获取L2订阅的代码
            ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()])
            codes = huaxin_target_codes_manager.HuaXinL2SubscriptCodesManager.get_subscript_codes()
            fresults = []
            try:
                records = LimitUpDataConstant.history_limit_up_datas
                # 获取历史涨停
                if not records:
                    KPLLimitUpDataRecordManager.load_total_datas()
                    records = KPLLimitUpDataRecordManager.total_datas
                if not records:
                    records = []
                codes = set([x[3] for x in records])
                fdatas = []
                if codes:
                    block_top_in_list = RealTimeKplMarketData.top_in_list_cache
                    in_blocks = [x[1] for x in block_top_in_list]
                    yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes()
                    if yesterday_codes is None:
                        yesterday_codes = set()
                    for code in codes:
                        index = current_price_process_manager.compute_code_order(code, in_blocks[:30], yesterday_codes)
                        if 0 <= index <= 1000:
                            fdatas.append((code, gpcode_manager.get_code_name(code)))
                response_data = json.dumps({"code": 0, "data": fdatas})
                        try:
                            # 获取成交大单:(参考大单金额,已成交大单金额,大单要求金额)
                            th = BeforeSubDealBigOrderManager().get_big_order_threshold(code)
                            deal_big_money_info = radical_buy_data_manager.get_total_deal_big_order_info(
                                code, gpcode_manager.get_limit_up_price_as_num(code))
                            deal_big_order_info = (
                                output_util.money_desc(th), output_util.money_desc(deal_big_money_info[1]),
                                output_util.money_desc(deal_big_money_info[2]))
                        except:
                            deal_big_order_info = None
                        code_name = gpcode_manager.get_code_name(code)
                        fresults.append((code, code_name, deal_big_order_info))
                response_data = json.dumps({"code": 0, "data": fresults})
            except  Exception as e:
                response_data = json.dumps({"code": 1, "data": str(1)})
@@ -1100,7 +1098,6 @@
            # 保存市场热度
            if strong is not None:
                RealTimeKplMarketData.set_market_strong(strong)
        return json.dumps({"code": 0})
trade/current_price_process_manager.py
@@ -46,8 +46,15 @@
    if code in yesterday_limit_up_codes:
        return -1
        # 黑名单
    trade_state = trade_manager.CodesTradeStateManager().get_trade_state_cache(code)
    if l2_trade_util.is_in_forbidden_trade_codes(code):
        return -1
        # 没有成交
        if trade_state == trade_constant.TRADE_STATE_BUY_SUCCESS:
            # 成交的票
            return 998
        else:
            return -1
    deal_codes = RadicalBuyDealCodesManager().get_deal_codes()
    result = RadicalBuyDataManager().is_code_can_buy(code, deal_codes)
@@ -61,7 +68,6 @@
    if gpcode_manager.BuyOpenLimitUpCodeManager().is_in_cache(code):
        return 0
    trade_state = trade_manager.CodesTradeStateManager().get_trade_state_cache(code)
    # 如果当前清单处于委托状态就不能移除
    if trade_state == trade_constant.TRADE_STATE_BUY_PLACE_ORDER or trade_state == trade_constant.TRADE_STATE_BUY_DELEGATED:
        return 0
@@ -93,7 +99,6 @@
                special_codes = BlockSpecialCodesManager().get_block_codes(b)
                if special_codes and code in special_codes:
                    return index + 1
    return 10000