def pack_req(cls, trd_side, order_type, price, qty, code, adjust_limit, trd_env, sec_mkt_str, acc_id, trd_mkt, conn_id): """Convert from user request for place order to PLS request""" from futuquant.common.pb.Trd_PlaceOrder_pb2 import Request req = Request() serial_no = get_unique_id32() req.c2s.packetID.serialNo = serial_no req.c2s.packetID.connID = conn_id req.c2s.header.trdEnv = TRD_ENV_MAP[trd_env] req.c2s.header.accID = acc_id req.c2s.header.trdMarket = TRD_MKT_MAP[trd_mkt] req.c2s.trdSide = TRD_SIDE_MAP[trd_side] req.c2s.orderType = ORDER_TYPE_MAP[order_type] req.c2s.code = code req.c2s.qty = qty req.c2s.price = price req.c2s.adjustPrice = adjust_limit != 0 req.c2s.adjustSideAndLimit = adjust_limit proto_qot_mkt = MKT_MAP.get(sec_mkt_str, Qot_Common_pb2.QotMarket_Unknown) proto_trd_sec_mkt = QOT_MARKET_TO_TRD_SEC_MARKET_MAP.get(proto_qot_mkt, Trd_Common_pb2.TrdSecMarket_Unknown) req.c2s.secMarket = proto_trd_sec_mkt return pack_pb_req(req, ProtoId.Trd_PlaceOrder, conn_id, serial_no)
def pack_req(cls, acc_id_list, conn_id): from futuquant.common.pb.Trd_SubAccPush_pb2 import Request req = Request() for x in acc_id_list: req.c2s.accIDList.append(x) return pack_pb_req(req, ProtoId.Trd_SubAccPush, conn_id)
def pack_req(cls, order_type, code, price, order_id, adjust_limit, sec_mkt_str, trd_env, acc_id, trd_mkt, conn_id): from futuquant.common.pb.Trd_GetMaxTrdQtys_pb2 import Request req = Request() req.c2s.header.trdEnv = TRD_ENV_MAP[trd_env] req.c2s.header.accID = acc_id req.c2s.header.trdMarket = TRD_MKT_MAP[trd_mkt] req.c2s.orderType = ORDER_TYPE_MAP[order_type] req.c2s.code = code req.c2s.price = price if order_id is not None: req.c2s.orderID = int(order_id) if adjust_limit == 0: req.c2s.adjustPrice = False else: req.c2s.adjustPrice = True req.c2s.adjustSideAndLimit = adjust_limit proto_qot_mkt = MKT_MAP.get(sec_mkt_str, Qot_Common_pb2.QotMarket_Unknown) proto_trd_sec_mkt = QOT_MARKET_TO_TRD_SEC_MARKET_MAP.get(proto_qot_mkt, Trd_Common_pb2.TrdSecMarket_Unknown) req.c2s.secMarket = proto_trd_sec_mkt return pack_pb_req(req, ProtoId.Trd_GetAccTradingInfo, conn_id)
def pack_req(cls, is_unlock, password_md5, conn_id): """Convert from user request for trading days to PLS request""" from futuquant.common.pb.Trd_UnlockTrade_pb2 import Request req = Request() req.c2s.unlock = is_unlock req.c2s.pwdMD5 = password_md5 return pack_pb_req(req, ProtoId.Trd_UnlockTrade, conn_id)
def pack_req(cls, acc_id, trd_market, trd_env, conn_id): from futuquant.common.pb.Trd_GetFunds_pb2 import Request req = Request() req.c2s.header.trdEnv = TRD_ENV_MAP[trd_env] req.c2s.header.accID = acc_id req.c2s.header.trdMarket = TRD_MKT_MAP[trd_market] return pack_pb_req(req, ProtoId.Trd_GetFunds, conn_id)
def pack_req(cls, code, trd_env, acc_id, trd_mkt, conn_id): """Convert from user request for place order to PLS request""" from futuquant.common.pb.Trd_GetOrderFillList_pb2 import Request req = Request() req.c2s.header.trdEnv = TRD_ENV_MAP[trd_env] req.c2s.header.accID = acc_id req.c2s.header.trdMarket = TRD_MKT_MAP[trd_mkt] if code: req.c2s.filterConditions.codeList.append(code) return pack_pb_req(req, ProtoId.Trd_GetOrderFillList, conn_id)
def pack_req(cls, code, start, end, trd_env, acc_id, trd_mkt, conn_id): from futuquant.common.pb.Trd_GetHistoryOrderFillList_pb2 import Request req = Request() req.c2s.header.trdEnv = TRD_ENV_MAP[trd_env] req.c2s.header.accID = acc_id req.c2s.header.trdMarket = TRD_MKT_MAP[trd_mkt] if code: req.c2s.filterConditions.codeList.append(code) req.c2s.filterConditions.beginTime = start req.c2s.filterConditions.endTime = end return pack_pb_req(req, ProtoId.Trd_GetHistoryOrderFillList, conn_id)
def pack_req(cls, code, pl_ratio_min, pl_ratio_max, trd_env, acc_id, trd_mkt, conn_id): """Convert from user request for trading days to PLS request""" from futuquant.common.pb.Trd_GetPositionList_pb2 import Request req = Request() req.c2s.header.trdEnv = TRD_ENV_MAP[trd_env] req.c2s.header.accID = acc_id req.c2s.header.trdMarket = TRD_MKT_MAP[trd_mkt] if code: req.c2s.filterConditions.codeList.append(code) if pl_ratio_min is not None: req.c2s.filterPLRatioMin = float(pl_ratio_min) / 100.0 if pl_ratio_max is not None: req.c2s.filterPLRatioMax = float(pl_ratio_max) / 100.0 return pack_pb_req(req, ProtoId.Trd_GetPositionList, conn_id)
def pack_req(cls, modify_order_op, order_id, price, qty, adjust_limit, trd_env, acc_id, trd_mkt, conn_id): """Convert from user request for place order to PLS request""" from futuquant.common.pb.Trd_ModifyOrder_pb2 import Request req = Request() serial_no = get_unique_id32() req.c2s.packetID.serialNo = serial_no req.c2s.packetID.connID = conn_id req.c2s.header.trdEnv = TRD_ENV_MAP[trd_env] req.c2s.header.accID = acc_id req.c2s.header.trdMarket = TRD_MKT_MAP[trd_mkt] req.c2s.orderID = int(order_id) req.c2s.modifyOrderOp = MODIFY_ORDER_OP_MAP[modify_order_op] req.c2s.forAll = False if modify_order_op == ModifyOrderOp.NORMAL: req.c2s.qty = qty req.c2s.price = price req.c2s.adjustPrice = adjust_limit != 0 req.c2s.adjustSideAndLimit = adjust_limit return pack_pb_req(req, ProtoId.Trd_ModifyOrder, conn_id, serial_no)
def pack_req(cls, order_id, status_filter_list, code, start, end, trd_env, acc_id, trd_mkt, conn_id): """Convert from user request for trading days to PLS request""" from futuquant.common.pb.Trd_GetOrderList_pb2 import Request req = Request() req.c2s.header.trdEnv = TRD_ENV_MAP[trd_env] req.c2s.header.accID = acc_id req.c2s.header.trdMarket = TRD_MKT_MAP[trd_mkt] if code: req.c2s.filterConditions.codeList.append(code) if order_id: req.c2s.filterConditions.idList.append(int(order_id)) if start: req.c2s.filterConditions.beginTime = start if end: req.c2s.filterConditions.endTime = end if len(status_filter_list): for order_status in status_filter_list: req.c2s.filterStatusList.append(ORDER_STATUS_MAP[order_status]) return pack_pb_req(req, ProtoId.Trd_GetOrderList, conn_id)
def pack_req(cls, user_id, conn_id): from futuquant.common.pb.Trd_GetAccList_pb2 import Request req = Request() req.c2s.userID = user_id return pack_pb_req(req, ProtoId.Trd_GetAccList, conn_id)