Beispiel #1
0
        public override TradingOperationResult ModifyOrder(ModifyOrderRequestParameters parameters)
        {
            var result = new TradingOperationResult();

            string  orderId  = parameters.OrderId;
            decimal quantity = (decimal)parameters.Quantity;
            decimal price    = -1;

            if (parameters.OrderTypeId == OrderType.Limit || parameters.OrderTypeId == OrderType.StopLimit)
            {
                price = (decimal)parameters.Price;
            }
            else
            {
                price = (decimal)parameters.TriggerPrice;
            }

            var response = this.CheckHitResponse(this.socketApi.ReplaceOrderAsync(orderId, quantity, price, cancellationToken: parameters.CancellationToken).Result, out var error, true);

            if (response != null)
            {
                result.Status  = TradingOperationResultStatus.Success;
                result.OrderId = response.ClientOrderId;
            }
            else
            {
                result.Status  = TradingOperationResultStatus.Failure;
                result.Message = error?.ToString() ?? "Unknown error";
            }

            return(result);
        }
Beispiel #2
0
 public override TradingOperationResult ModifyOrder(ModifyOrderRequestParameters parameters) => this.vendor.ModifyOrder(parameters);