Task <Order> IOrdersEndpoint.PlaceStopLimitOrderAsync(
            OrderSide side,
            string productId, decimal size, decimal stopPrice, decimal limitPrice,
            Guid?clientOid, CancellationToken cancellationToken)
        {
            var lo = new CreateLimitOrder
            {
                Side      = side,
                ProductId = productId,
                Type      = OrderType.Limit,
                Size      = size,
                StopPrice = stopPrice,
                Price     = limitPrice,
                ClientOid = clientOid
            };

            if (side == OrderSide.Buy)
            {
                lo.Stop = StopType.Entry;
            }
            else if (side == OrderSide.Sell)
            {
                lo.Stop = StopType.Loss;
            }

            return(this.Orders.PlaceOrderAsync(lo, cancellationToken));
        }
        Task <Order> IOrdersEndpoint.PlaceLimitOrderAsync(OrderSide side, string productId, decimal size, decimal limitPrice, TimeInForce timeInForce, GoodTillTime goodTillTime, bool postOnly, Guid?clientOid, CancellationToken cancellationToken)
        {
            var lo = new CreateLimitOrder
            {
                Side        = side,
                ProductId   = productId,
                Type        = OrderType.Limit,
                Price       = limitPrice,
                Size        = size,
                TimeInForce = timeInForce,
                CancelAfter = goodTillTime,
                PostOnly    = postOnly,
                ClientOid   = clientOid
            };

            return(this.Orders.PlaceOrderAsync(lo, cancellationToken));
        }