public bool OrderCancel(CustomOrder order, out string errMsg) { if (order == null || string.IsNullOrEmpty(order.InstrumentID)) { errMsg = "CTP撤单时Order参数不能为空,InstrumentID信息也不能为空"; return(false); } ThostFtdcInputOrderActionField inAction = new ThostFtdcInputOrderActionField(); inAction.BrokerID = BROKER_ID; inAction.InvestorID = INVESTOR_ID; inAction.FrontID = FRONT_ID; inAction.SessionID = SESSION_ID; inAction.InstrumentID = order.InstrumentID; inAction.OrderRef = order.OrderNo.ToString(); inAction.ActionFlag = EnumActionFlagType.Delete; // 撤单 var ret = trader.ReqOrderAction(inAction, iRequestID++); errMsg = (ret == 0) ? "-" : "CTP撤单失败,返回值:" + ret; return(ret == 0); }