| | |
| | | |
| | | def run(pipe_trade, _pipe_strategy, _l2_data_callback: l2_data_transform_protocol.L2DataCallBack)->None: |
| | | logger_system.info("L2进程ID:{}", os.getpid()) |
| | | try: |
| | | log.close_print() |
| | | if pipe_trade is not None: |
| | | t1 = threading.Thread(target=lambda: __receive_from_pipe_trade(pipe_trade), daemon=True) |
| | |
| | | l2CommandManager = command_manager.L2CommandManager() |
| | | l2CommandManager.init(MyL2ActionCallback()) |
| | | logger_system.info("L2订阅服务启动成功") |
| | | except Exception as e: |
| | | logger_system.exception(e) |
| | | while True: |
| | | time.sleep(2) |
| | | |
| | |
| | | |
| | | |
| | | def run(trade_response_: TradeResponse, pipe_l2=None, pipe_strategy=None): |
| | | try: |
| | | logger_system.info("交易进程ID:{}", os.getpid()) |
| | | __init_trade_data_server() |
| | | global l2pipe |
| | |
| | | tradeCommandManager = command_manager.TradeCommandManager() |
| | | tradeCommandManager.init(MyTradeActionCallback(), l2pipe, pipe_strategy) |
| | | logger_system.info("华鑫交易服务启动") |
| | | except Exception as e: |
| | | logger_system.exception(e) |
| | | # 不需要运行命令解析 |
| | | # tradeCommandManager.run() |
| | | while True: |
| | |
| | | if left_count > 0: |
| | | buy_nums += left_count * data["val"]["num"] |
| | | if buy_nums > threshold_num: |
| | | l2_log.l_cancel_debug(code, f"LX阻断L撤撤单:{buy_nums}/{threshold_num}") |
| | | return False, "LX阻断L撤撤单" |
| | | l2_log.l_cancel_debug(code, f"LX尚未阻断L撤撤单:{buy_nums}/{threshold_num}") |
| | | return can_cancel, cancel_data |
| | | except Exception as e: |
| | | l2_log.l_cancel_debug(code, f"LX撤单计算异常:{str(e)}") |
| | |
| | | t1.start() |
| | | |
| | | # 启动L2订阅服务 |
| | | t1 = threading.Thread(target=huaxin_client.l2_client.run, args=(ptl2_l2, psl2_l2, trade_server.my_l2_data_callback), daemon=True) |
| | | t1 = threading.Thread(target=huaxin_client.l2_client.run, args=(ptl2_l2, psl2_l2, trade_server.my_l2_data_callback), |
| | | daemon=True) |
| | | t1.start() |
| | | |
| | | # 启动华鑫交易服务 |
| | | t1 = threading.Thread(target=huaxin_client.trade_client.run, args=(trade_server.my_trade_response, ptl2_trade, pst_trade), |
| | | t1 = threading.Thread(target=huaxin_client.trade_client.run, |
| | | args=(trade_server.my_trade_response, ptl2_trade, pst_trade), |
| | | daemon=True) |
| | | t1.start() |
| | | |
| | |
| | | |
| | | |
| | | if __name__ == '__main__': |
| | | try: |
| | | logger_l2_trade.info("启动程序") |
| | | logger_system.info("启动程序--------") |
| | | log.close_print() |
| | |
| | | # serverProcess.start() |
| | | logger_system.info("主进程ID:{}", os.getpid()) |
| | | |
| | | tradeServerProcess = multiprocessing.Process(target=createTradeServer, |
| | | args=(pss_strategy, pst_strategy, pl1t_strategy, psl2_strategy,ptl2_l2, psl2_l2,ptl2_trade,pst_trade)) |
| | | tradeServerProcess.start() |
| | | |
| | | # L1订阅数据 |
| | | huaxin_client.l1_client.run(pl1t_l1) |
| | | l1Process = multiprocessing.Process(target=huaxin_client.l1_client.run, args=(pl1t_l1,)) |
| | | l1Process.start() |
| | | |
| | | # 主进程 |
| | | createTradeServer(pss_strategy, pst_strategy, pl1t_strategy, psl2_strategy, ptl2_l2, psl2_l2, ptl2_trade, pst_trade) |
| | | |
| | | # 将tradeServer作为主进程 |
| | | tradeServerProcess.join() |
| | | l1Process.join() |
| | | except Exception as e: |
| | | logger_system.exception(e) |
| | |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | results = DelegateRecordManager.list_by_day('20230704', '1970-01-01') |
| | | update_time = None |
| | | results, update_time = DelegateRecordManager.list_by_day( |
| | | tool.get_now_date_str("%Y%m%d"), update_time) |
| | | print(results) |
| | | |
| | |
| | | |
| | | |
| | | def run(pipe_trade, pipe_l1, pipe_l2, trade_cmd_callback): |
| | | try: |
| | | # 执行一些初始化数据 |
| | | block_info.init() |
| | | |
| | |
| | | except Exception as e: |
| | | logger_system.exception(e) |
| | | logger_system.error(f"端口服务器:{laddr[1]} 启动失败") |
| | | except Exception as e: |
| | | logger_system.exception(e) |
| | | |
| | | |
| | | if __name__ == "__main__": |