| | |
| | | |
| | | @classmethod |
| | | def l2_transaction(cls, code, datas): |
| | | hx_logger_l2_transaction.info(f"{code}#{datas}") |
| | | async_log_util.info(hx_logger_l2_transaction, f"{code}#{datas}") |
| | | if datas: |
| | | # 设置成交价 |
| | | current_price_process_manager.set_trade_price(code, datas[-1][1]) |
| | | try: |
| | | buyno_map = l2_data_util.local_today_buyno_map.get(code) |
| | | hx_logger_l2_transaction.info( |
| | | f"{code}的买入订单号数量:{len(buyno_map.keys()) if buyno_map else 0}") |
| | | if not buyno_map: |
| | | if trade_manager.CodesTradeStateManager().get_trade_state(code) != trade_manager.TRADE_STATE_NOT_TRADE: |
| | | l2_data_util.load_l2_data(code) |
| | | buyno_map = l2_data_util.local_today_buyno_map.get(code) |
| | | async_log_util.info(hx_logger_l2_transaction, f"{code}的买入订单号数量:{len(buyno_map.keys()) if buyno_map else 0}") |
| | | buy_progress_index = None |
| | | for i in range(len(datas) - 1, -1, -1): |
| | | d = datas[i] |
| | | buy_no = f"{d[6]}" |
| | | if buyno_map and buy_no in buyno_map: |
| | | hx_logger_l2_transaction.info(f"{code}成交进度:{buyno_map[buy_no]}") |
| | | async_log_util.info(hx_logger_l2_transaction, f"{code}成交进度:{buyno_map[buy_no]['index']}") |
| | | buy_progress_index = buyno_map[buy_no]["index"] |
| | | break |
| | | |
| | |
| | | total_datas = l2_data_util.local_today_datas.get(code) |
| | | num_operate_map = l2_data_util.local_today_num_operate_map.get( |
| | | code) |
| | | logger_l2_trade_buy_queue.info("获取成交位置成功: code-{} index-{}", code, |
| | | buy_progress_index) |
| | | async_log_util.info(logger_l2_trade_buy_queue, "获取成交位置成功: code-{} index-{}", code, buy_progress_index) |
| | | buy_time = total_datas[buy_progress_index]["val"]["time"] |
| | | limit_up_price = gpcode_manager.get_limit_up_price(code) |
| | | if buy_exec_index: |
| | |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | code = "603106" |
| | | l2_data_util.load_l2_data(code, load_latest=False) |
| | | buy_no_map = l2_data_util.local_today_buyno_map.get(code) |
| | | print(buy_no_map.get("6114878")) |
| | | code = "000536" |
| | | TradeServerProcessor.l2_transaction(code, |
| | | [('000536', 2.08, 20000, 143436460, 2014, 31126359, 16718956, 31126358, '1')]) |
| | | while True: |
| | | time.sleep(10) |