コード例 #1
0
        /// <inheritdoc />
        public override ResponseObject CancelOrder(TradingPair pair, long orderId)
        {
            if (!WatchList.ContainsKey(orderId))
            {
                throw new InvalidStateException($"Cannot cancel order {orderId} because it doesn't exist.");
            }

            var order = WatchList[orderId];

            order.Status          = OrderUpdate.OrderStatus.Cancelled;
            order.FilledTimestamp = Timer.CurrentTime.ToUnixTimeMilliseconds();
            WatchList.Remove(order.OrderId);

            // Add to order cache to confirm cancelled.
            _orderCache.Enqueue(order);

            // Add cancelled order to the logger
            LogOrder(order);

            return(new ResponseObject(ResponseCode.Success));
        }