private void ProcessCancelOrder(string id)
        {
            if (_cancelPendings.Contains(id))
            {
                return;
            }

            if (!_orders.TryGetById(id, out var order))
            {
                return;
            }

            if (string.IsNullOrEmpty(order.OrderID))
            {
                _cancelPendings.Add(id);
                return;
            }

            var action = new CtpInputOrderAction();

            (action.FrontID, action.SessionID, action.OrderRef) = CtpConvert.ParseId(order.ID);
            action.OrderSysID     = order.OrderID;
            action.ExchangeID     = order.ExchangeID.ToUpper();
            action.InstrumentID   = order.InstrumentID;
            action.ActionFlag     = CtpActionFlagType.Delete;
            action.OrderActionRef = _client.GetNextRequestId();
            action.InvestorID     = _client.CtpLoginInfo.UserID;
            action.BrokerID       = _client.CtpLoginInfo.BrokerID;
            _client.Api.ReqOrderAction(action, _client.GetNextRequestId());
        }
        private void ProcessCancelReject(CtpInputOrderAction action, CtpRspInfo rspInfo)
        {
            var localId = $"{action.FrontID}:{action.SessionID}:{action.OrderRef}";

            ProcessCancelReject(localId, rspInfo);
        }
 private void ProcessCancelReject(CtpInputOrderAction action, CtpRspInfo rspInfo)
 {
     ProcessCancelReject(action.OrderSysID, rspInfo);
 }
示例#4
0
 public virtual void ReqOrderAction(CtpRequest req, CtpInputOrderAction data)
 {
     DefaultHandler(req);
 }