Administrator
2023-08-18 99a13185760ea699820d59e8656f88e3410d32e5
bug修改
2个文件已修改
27 ■■■■■ 已修改文件
trade/trade_huaxin.py 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_manager.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_huaxin.py
@@ -104,6 +104,9 @@
        return set()
__TradeOrderIdManager = TradeOrderIdManager()
def init(context):
    __context_dict["init"] = context
    print("掘金交易初始化成功")
@@ -149,14 +152,14 @@
                    logger_juejin_trade.info(f"{code}:下单失败:{result.get('statusMsg')}")
                    raise Exception(result.get('statusMsg'))
                else:
                    TradeOrderIdManager().add_order_id(code, result["accountID"], result["orderSysID"])
                    __TradeOrderIdManager.add_order_id(code, result["accountID"], result["orderSysID"])
                    logger_juejin_trade.info(f"{code}:下单成功 orderSysID:{result['orderSysID']}")
                    return result["securityId"], result["accountID"], result["orderSysID"]
            else:
                raise Exception(result['msg'])
        else:
            local_order_id = result["local_order_id"]
            TradeOrderIdManager().add_local_order_id(code, local_order_id)
            __TradeOrderIdManager.add_local_order_id(code, local_order_id)
            logger_juejin_trade.info(f"{code}:下单成功 localOrderId:{local_order_id}")
            return code, "local", local_order_id
    else:
@@ -164,16 +167,16 @@
def order_success(code, accountId, orderSysID):
    TradeOrderIdManager().add_order_id(code, accountId, orderSysID)
    __TradeOrderIdManager.add_order_id(code, accountId, orderSysID)
def cancel_order_success(code, accountId, orderSysID):
    TradeOrderIdManager().remove_order_id(code, accountId, orderSysID)
    __TradeOrderIdManager.remove_order_id(code, accountId, orderSysID)
# 撤单
def cancel_order(code):
    orders_info = TradeOrderIdManager().list_order_ids_cache(code)
    orders_info = __TradeOrderIdManager.list_order_ids_cache(code)
    orders_info = copy.deepcopy(orders_info)
    orders = []
    if orders_info:
@@ -185,15 +188,15 @@
            logger_juejin_trade.info(f"{code}:撤单成功,撤单数量:{len(orders)}")
            for order in orders:
                huaxin_trade_api.cancel_order(1, code, order["orderSysID"])
                TradeOrderIdManager().remove_order_id(code, order["accountId"], order["orderSysID"])
                __TradeOrderIdManager.remove_order_id(code, order["accountId"], order["orderSysID"])
    else:
        # 查询是否有本地订单号
        orders_info = TradeOrderIdManager().list_local_order_ids_cache(code)
        orders_info = __TradeOrderIdManager.list_local_order_ids_cache(code)
        orders_info = copy.deepcopy(orders_info)
        if orders_info:
            for order_id in orders_info:
                huaxin_trade_api.cancel_order(1, code, '', localOrderID=order_id)
                TradeOrderIdManager().remove_local_order_id(code, order_id)
                __TradeOrderIdManager.remove_local_order_id(code, order_id)
if __name__ == "__main__":
trade/trade_manager.py
@@ -492,9 +492,13 @@
    CodesTradeStateManager().set_trade_state(code, trade_state)
__CodesTradeStateManager = CodesTradeStateManager()
# 开始取消买入
def start_cancel_buy(code, force=False):
    trade_state = CodesTradeStateManager().get_trade_state_cache(code)
    logger_trade.info("{}进入撤单方法".format(code))
    trade_state = __CodesTradeStateManager.get_trade_state_cache(code)
    if trade_state == TRADE_STATE_BUY_SUCCESS:
        return None
    if not force:
@@ -502,7 +506,7 @@
            return None
    try:
        logger_trade.info("{}开始撤单".format(code))
        CodesTradeStateManager().set_trade_state(code, TRADE_STATE_BUY_CANCEL_ING)
        __CodesTradeStateManager.set_trade_state(code, TRADE_STATE_BUY_CANCEL_ING)
        logger_trade.info("{}撤单方法开始".format(code))
        if constant.API_TRADE_ENABLE:
            if constant.TRADE_WAY == constant.TRADE_WAY_JUEJIN: