Administrator
2025-06-27 aeced89b951065dd5620cc796827b7a6dfda4e43
增加环境接口
2个文件已修改
80 ■■■■ 已修改文件
huaxin_client/l2_client.py 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_strategy.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/l2_client.py
@@ -235,14 +235,17 @@
            logging.exception(e)
    def OnRspSubNGTSTick(self, pSpecificSecurity, pRspInfo, nRequestID, bIsLast):
        async_log_util.info(logger_local_huaxin_l2_subscript,
                            f"NGTS订阅结果:{pSpecificSecurity['SecurityID']} {pRspInfo['ErrorID']} {pRspInfo['ErrorMsg']}")
        if pRspInfo["ErrorID"] == 0:
            print("订阅成功")
            self.subscripted_codes.add(pSpecificSecurity['SecurityID'])
        if bIsLast == 1:
            print("订阅响应结束", self.subscripted_codes)
            l2_data_manager.add_subscript_codes(self.subscripted_codes)
        try:
            async_log_util.info(logger_local_huaxin_l2_subscript,
                                f"NGTS订阅结果:{pSpecificSecurity['SecurityID']} {pRspInfo['ErrorID']} {pRspInfo['ErrorMsg']}")
            if pRspInfo["ErrorID"] == 0:
                print("订阅成功")
                self.subscripted_codes.add(pSpecificSecurity['SecurityID'])
            if bIsLast == 1:
                print("订阅响应结束", self.subscripted_codes)
                l2_data_manager.add_subscript_codes(self.subscripted_codes)
        except:
            pass
    def OnRspUnSubNGTSTick(self, pSpecificSecurity, pRspInfo, nRequestID, bIsLast):
        try:
@@ -256,34 +259,37 @@
            logging.exception(e)
    def OnRtnTransaction(self, pTransaction):
        # 输出逐笔成交数据
        if pTransaction['ExecType'] == b"2":
            # 撤单
            item = {"SecurityID": pTransaction['SecurityID'], "Price": pTransaction['TradePrice'],
                    "Volume": pTransaction['TradeVolume'],
                    "OrderType": "2",
                    "OrderTime": pTransaction['TradeTime'], "MainSeq": pTransaction['MainSeq'],
                    "SubSeq": pTransaction['SubSeq'],
                    "OrderStatus": "D"}
            buyNo = pTransaction['BuyNo']
            sellNo = pTransaction['SellNo']
            if buyNo > 0:
                # 买
                item["OrderNO"] = buyNo
                item["Side"] = "1"
            elif sellNo > 0:
                # 卖
                item["OrderNO"] = sellNo
                item["Side"] = "2"
            self.l2_data_upload_manager.add_l2_order_detail(item, 0, True)
        else:
            item = {"SecurityID": pTransaction['SecurityID'], "TradePrice": pTransaction['TradePrice'],
                    "TradeVolume": pTransaction['TradeVolume'],
                    "OrderTime": pTransaction['TradeTime'], "MainSeq": pTransaction['MainSeq'],
                    "SubSeq": pTransaction['SubSeq'], "BuyNo": pTransaction['BuyNo'],
                    "SellNo": pTransaction['SellNo'],
                    "ExecType": pTransaction['ExecType'].decode()}
            self.l2_data_upload_manager.add_transaction_detail(item)
        try:
            # 输出逐笔成交数据
            if pTransaction['ExecType'] == b"2":
                # 撤单
                item = {"SecurityID": pTransaction['SecurityID'], "Price": pTransaction['TradePrice'],
                        "Volume": pTransaction['TradeVolume'],
                        "OrderType": "2",
                        "OrderTime": pTransaction['TradeTime'], "MainSeq": pTransaction['MainSeq'],
                        "SubSeq": pTransaction['SubSeq'],
                        "OrderStatus": "D"}
                buyNo = pTransaction['BuyNo']
                sellNo = pTransaction['SellNo']
                if buyNo > 0:
                    # 买
                    item["OrderNO"] = buyNo
                    item["Side"] = "1"
                elif sellNo > 0:
                    # 卖
                    item["OrderNO"] = sellNo
                    item["Side"] = "2"
                self.l2_data_upload_manager.add_l2_order_detail(item, 0, True)
            else:
                item = {"SecurityID": pTransaction['SecurityID'], "TradePrice": pTransaction['TradePrice'],
                        "TradeVolume": pTransaction['TradeVolume'],
                        "OrderTime": pTransaction['TradeTime'], "MainSeq": pTransaction['MainSeq'],
                        "SubSeq": pTransaction['SubSeq'], "BuyNo": pTransaction['BuyNo'],
                        "SellNo": pTransaction['SellNo'],
                        "ExecType": pTransaction['ExecType'].decode()}
                self.l2_data_upload_manager.add_transaction_detail(item)
        except:
            pass
    def OnRtnOrderDetail(self, pOrderDetail):
        # 输出逐笔委托数据
trade/trade_strategy.py
@@ -642,8 +642,6 @@
                time_int = d.get("dataTimeStamp")
                time_str = l2_huaxin_util.convert_time(time_int)
                # 更新环境变量
                if code not in env_info.l2_market_codes_info:
                    env_info.l2_market_codes_info[code] = {}
                env_info.l2_market_codes_info[code] = time_str
                L1DataProcessor.excute_sell_rule(code, buy1[1], buy1[0], "L2")
        except Exception as e: