Administrator
2023-08-25 5bd6bba739310a18dca9499c4fd3feaa9bf1b663
交易通道备用
1个文件已修改
22 ■■■■■ 已修改文件
trade/huaxin/huaxin_trade_api.py 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/huaxin_trade_api.py
@@ -222,7 +222,7 @@
# 网络请求
def __request(_type, data, request_id=None):
def __request(_type, data, request_id=None, blocking=False):
    if not request_id:
        request_id = __get_request_id(_type)
    try:
@@ -235,6 +235,10 @@
        sk = socket_util.create_socket("127.0.0.1", trade_client_server.SERVER_PORT)
        if True:
            sk.sendall(socket_util.load_header(json.dumps(root_data).encode("utf-8")))
            if blocking:
                result_data, header_str = socket_util.recv_data(sk)
                if result_data:
                    set_response(request_id,json.loads(result_data))
        else:
            pipe_trade.send(json.dumps(root_data).encode("utf-8"))
        async_log_util.info(hx_logger_trade_loop, "请求发送成功:request_id-{}", request_id)
@@ -324,7 +328,7 @@
                            "local_order_id": local_order_id,
                            "volume": volume,
                            "price_type": price_type,
                            "price": price, "sinfo": sinfo}, request_id=request_id)
                            "price": price, "sinfo": sinfo}, request_id=request_id, blocking=blocking)
    if blocking:
        try:
            return __read_response(request_id, blocking)
@@ -343,7 +347,7 @@
                            "direction": direction,
                            "code": code,
                            "localOrderID": localOrderID,
                            "orderSysID": orderSysID, "sinfo": sinfo}, request_id=request_id)
                            "orderSysID": orderSysID, "sinfo": sinfo}, request_id=request_id, blocking=blocking)
    try:
        return __read_response(request_id, blocking)
    finally:
@@ -362,7 +366,7 @@
def get_delegate_list(can_cancel=True, blocking=True, timeout=TIMEOUT):
    request_id = __request(ClientSocketManager.CLIENT_TYPE_DELEGATE_LIST,
                           {"type": ClientSocketManager.CLIENT_TYPE_DELEGATE_LIST,
                            "can_cancel": 1 if can_cancel else 0})
                            "can_cancel": 1 if can_cancel else 0}, blocking=blocking)
    return __read_response(request_id, blocking, timeout=timeout)
@@ -370,35 +374,35 @@
# 获取成交列表
def get_deal_list(blocking=True):
    request_id = __request(ClientSocketManager.CLIENT_TYPE_DEAL_LIST,
                           {"type": ClientSocketManager.CLIENT_TYPE_DEAL_LIST})
                           {"type": ClientSocketManager.CLIENT_TYPE_DEAL_LIST}, blocking=blocking)
    return __read_response(request_id, blocking)
# 获取持仓列表
def get_position_list(blocking=True):
    request_id = __request(ClientSocketManager.CLIENT_TYPE_POSITION_LIST,
                           {"type": ClientSocketManager.CLIENT_TYPE_POSITION_LIST})
                           {"type": ClientSocketManager.CLIENT_TYPE_POSITION_LIST}, blocking=blocking)
    return __read_response(request_id, blocking)
# 获取账户资金状况
def get_money(blocking=True):
    request_id = __request(ClientSocketManager.CLIENT_TYPE_MONEY,
                           {"type": ClientSocketManager.CLIENT_TYPE_MONEY})
                           {"type": ClientSocketManager.CLIENT_TYPE_MONEY}, blocking=blocking)
    return __read_response(request_id, blocking)
# 设置L2订阅数据
def set_l2_codes_data(codes_data, blocking=True):
    request_id = __request(ClientSocketManager.CLIENT_TYPE_CMD_L2,
                           {"type": ClientSocketManager.CLIENT_TYPE_CMD_L2, "data": codes_data})
                           {"type": ClientSocketManager.CLIENT_TYPE_CMD_L2, "data": codes_data}, blocking=blocking)
    return __read_response(request_id, blocking)
# 设置L2订阅数据
def __test_trade_channel(sid):
    request_id = __request("test",
                           {"type": "test", "data": {"sid": sid}})
                           {"type": "test", "data": {"sid": sid}}, blocking=True)
    return __read_response(request_id, True)