| | |
| | | import requests |
| | | |
| | | import constant |
| | | import inited_data |
| | | from code_attribute.gpcode_manager import BlackListCodeManager, HumanRemoveForbiddenManager |
| | | from l2.huaxin import huaxin_target_codes_manager |
| | | from l2.l2_transaction_data_manager import HuaXinBuyOrderManager |
| | |
| | | from trade.buy_radical.new_block_processor import BeforeBlocksComputer |
| | | from trade.buy_strategy import OpenLimitUpGoodBlocksBuyStrategy |
| | | from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager |
| | | from utils import global_util, tool, data_export_util |
| | | from utils import global_util, tool, data_export_util, init_data_util |
| | | from code_attribute import gpcode_manager, code_nature_analyse |
| | | from log_module import log_analyse, log_export, async_log_util |
| | | from l2 import code_price_manager, l2_data_util, transaction_progress |
| | |
| | | th_sell = 0 |
| | | deal_big_money_info = radical_buy_data_manager.get_total_deal_big_order_info( |
| | | code, gpcode_manager.get_limit_up_price_as_num(code)) |
| | | if deal_big_money_info[1] == 0 and len(codes) == 1: |
| | | deal_big_money_info = list(deal_big_money_info) |
| | | # 没有订阅L2会出现没有值的情况,如果涨停过就拉取之前的涨停买/卖大单 |
| | | deal_big_orders_result = radical_buy_data_manager.request_deal_big_orders(code) |
| | | if deal_big_orders_result: |
| | | buy_datas, sell_datas = deal_big_orders_result[0], deal_big_orders_result[1] |
| | | limit_up_price = gpcode_manager.get_limit_up_price_as_num(code) |
| | | limit_up_price_money_list = [x[0] for x in buy_datas if x[1] == limit_up_price] |
| | | threshold_money = BeforeSubDealBigOrderManager().compute_re_limit_up_big_money_threshold( |
| | | limit_up_price_money_list) |
| | | logger_debug.info(f"{code}-临时回封均大单:{threshold_money}") |
| | | # 设置买单阈值 |
| | | th_buy = threshold_money |
| | | buy_money = sum(limit_up_price_money_list) |
| | | sell_money = sum([x[0] for x in sell_datas if x[1] == limit_up_price]) |
| | | # 涨停大单净买入 |
| | | deal_big_money_info[1] = buy_money - sell_money |
| | | deal_big_money_info[ |
| | | 2] = radical_buy_data_manager.compute_total_deal_big_order_threshold_money(code, |
| | | limit_up_price, |
| | | threshold_money) |
| | | logger_debug.info(f"{code}-累计大单阈值:{deal_big_money_info[2]}") |
| | | |
| | | big_money_rate = radical_buy_data_manager.TotalDealBigOrderInfoManager.get_big_order_rate( |
| | | code) |
| | | if not big_money_rate: |
| | |
| | | big_money_rate * 100 # 大单成交比 |
| | | ), |
| | | output_util.money_desc(deal_big_money_info[1]), |
| | | output_util.money_desc(deal_big_money_info[2])] |
| | | output_util.money_desc(deal_big_money_info[2]), |
| | | output_util.money_desc(deal_big_money_info[3]), |
| | | ] |
| | | if len(codes) == 1: |
| | | # 加载大单详情 |
| | | deal_big_order_detail_info = radical_buy_data_manager.get_l2_big_order_deal_info(code) |
| | |
| | | |
| | | except Exception as e: |
| | | logger_debug.error(f"可能没有获取到涨停价:{code}") |
| | | # logger_debug.exception(e) |
| | | if not gpcode_manager.get_limit_up_price(code): |
| | | init_data_util.re_set_price_pre(code) |
| | | logger_debug.exception(e) |
| | | deal_big_order_info = None |
| | | code_name = gpcode_manager.get_code_name(code) |
| | | fresults.append((code, code_name, deal_big_order_info, deal_big_order_detail_info)) |
| | |
| | | @return: |
| | | """ |
| | | yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes() |
| | | blocks = set() |
| | | for bi in blocks_info: |
| | | if bi[0] in blocks: |
| | | continue |
| | | blocks.add(bi[0]) |
| | | result = kpl_api.getCodesByPlate(bi[1]) |
| | | result = json.loads(result) |
| | | code_info_list = [] |
| | |
| | | code_info_list.append((d[0], d[6])) |
| | | # 保存新题材 |
| | | datas = [(d[0], d[6]) for d in result["list"]] |
| | | async_log_util.info(logger_kpl_new_blocks, f"{(bi, datas)}") |
| | | async_log_util.info(logger_kpl_new_blocks, f"{(tool.get_thread_id(), bi, datas)}") |
| | | if code_info_list: |
| | | # 将代码加入新题材 |
| | | new_block_processor.process_new_block_by_component_codes(bi[0], |