| | |
| | | from third_data import block_info, kpl_data_manager, history_k_data_manager, huaxin_l1_data_manager, kpl_api, kpl_util |
| | | from third_data.code_plate_key_manager import KPLCodeJXBlockManager, RealTimeKplMarketData, \ |
| | | KPLPlateForbiddenManager |
| | | from third_data.history_k_data_manager import HistoryKDataManager |
| | | from third_data.history_k_data_util import JueJinApi, HistoryKDatasUtils |
| | | from trade import l2_trade_util, \ |
| | | trade_data_manager, trade_constant, buy_open_limit_up_strategy |
| | |
| | | thread_id = random.randint(0, 100000) |
| | | l2_log.threadIds[code] = thread_id |
| | | l2_data_count = len(_datas) |
| | | l2_log.info(code, hx_logger_l2_orderdetail, |
| | | f"{code}#耗时:{use_time}-{thread_id}#数量:{l2_data_count}#{_datas[-1]}") |
| | | # l2_log.info(code, hx_logger_l2_orderdetail, |
| | | # f"{code}#耗时:{use_time}-{thread_id}#数量:{l2_data_count}#{_datas[-1]}") |
| | | |
| | | # l2_data_log.l2_time_log(code, "开始处理L2逐笔委托") |
| | | try: |
| | |
| | | |
| | | radical_buy_data_manager.ExcludeIndexComputeCodesManager.remove_code(code) |
| | | |
| | | if result_by_volume[0] == radical_buy_strategy.BUY_MODE_DIRECT and not tool.is_sh_code(code): |
| | | if result_by_volume[0] == radical_buy_strategy.BUY_MODE_DIRECT: |
| | | # 上证不能根据成交买入 |
| | | latest_deal_time = l2_huaxin_util.convert_time(transaction_datas[-1][3]) |
| | | refer_sell_data = L2MarketSellManager().get_refer_sell_data(code, latest_deal_time) |
| | |
| | | if refer_sell_data: |
| | | sell_info = (refer_sell_data[0], refer_sell_data[1]) |
| | | threshold_money = 0 |
| | | every_deal_orders = EveryLimitupBigDealOrderManager.list_big_buy_deal_orders(code) |
| | | if every_deal_orders: |
| | | min_order_no_info = min(every_deal_orders, key=lambda x: x[0]) |
| | | min_order_no = min_order_no_info[0] |
| | | else: |
| | | min_order_no = transaction_datas[-1][6] |
| | | |
| | | order_begin_pos_info = OrderBeginPosInfo(buy_single_index=buy_single_index, |
| | | buy_exec_index=buy_exec_index, |
| | | buy_compute_index=buy_exec_index, |
| | |
| | | max_num_set=set(), |
| | | buy_volume_rate=buy_volume_rate, |
| | | mode=OrderBeginPosInfo.MODE_RADICAL, |
| | | mode_desc=f"扫入买入:{buy_blocks}", |
| | | mode_desc=f"扫入买入:{buy_blocks}, 大单成交最小订单号:{min_order_no}", |
| | | sell_info=sell_info, |
| | | threshold_money=threshold_money) |
| | | threshold_money=threshold_money, |
| | | min_order_no= min_order_no |
| | | ) |
| | | L2TradeDataProcessor.save_order_begin_data(code, order_begin_pos_info) |
| | | buy_result = L2TradeDataProcessor.start_buy(code, total_datas[-1], total_datas[-1]["index"], |
| | | True, block_info=buy_blocks_with_money) |
| | |
| | | # 初始化数据 |
| | | BuyMoneyAndCountSetting() |
| | | gpcode_manager.WantBuyCodesManager() |
| | | # 加载历史K线数据 |
| | | HistoryKDataManager().load_data() |
| | | |
| | | |
| | | def run(queue_strategy_r_trade_w, queue_strategy_w_trade_r, queue_strategy_w_trade_r_for_read, trade_ipc_addr): |