public async Task <OrderResponse> PlaceLimitOrderAsync( OrderSide side, ProductType productPair, decimal size, decimal price, GoodTillTime cancelAfter, bool postOnly = true) { var newOrder = JsonConvert.SerializeObject(new Order { side = side.ToString().ToLower(), product_id = productPair.ToDasherizedUpper(), type = OrderType.Limit.ToString().ToLower(), price = price, size = size, cancel_after = cancelAfter.ToString().ToLower(), post_only = postOnly }); var httpResponseMessage = await SendHttpRequestMessageAsync(HttpMethod.Post, authenticator, "/orders", newOrder); var contentBody = await httpClient.ReadAsStringAsync(httpResponseMessage).ConfigureAwait(false); var orderResponse = JsonConvert.DeserializeObject <OrderResponse>(contentBody); return(orderResponse); }
public async Task <OrderResponse> PlaceLimitOrderAsync( OrderSide side, ProductType productId, decimal size, decimal price, GoodTillTime cancelAfter, bool postOnly = true) { var order = new Order { Side = side, ProductId = productId, OrderType = OrderType.Limit, Price = price, Size = size, TimeInForce = TimeInForce.Gtt, CancelAfter = cancelAfter, PostOnly = postOnly }; return(await PlaceOrderAsync(order)); }
Task <Order> IOrdersEndpoint.PlaceLimitOrderAsync( OrderSide side, string productId, decimal size, decimal limitPrice, GoodTillTime cancelAfter, bool postOnly, Guid?clientOid, CancellationToken cancellationToken) { var lo = new CreateLimitOrder { Side = side, ProductId = productId, Type = OrderType.Limit, Price = limitPrice, Size = size, TimeInForce = TimeInForce.GoodTillTime, CancelAfter = cancelAfter, PostOnly = postOnly, ClientOid = clientOid }; return(this.Orders.PlaceOrderAsync(lo, cancellationToken)); }