public void PlaceLimitOrder_Test() { var orderParams = new LimitOrderParams { ClientOid = Guid.NewGuid().ToString(), Pair = "ETH-BTC", Price = 0.00002M, Side = Side.BUY, Size = 2 }; var orderId = _service.PlaceLimitOrder(orderParams).Result; Assert.NotNull(orderId); }
/// <summary> /// Place a limit order /// </summary> /// <param name="parms">Limit Order Parameters</param> /// <returns>String of order id</returns> public static async Task <string> PlaceLimitOrder(this IKuCoinDotNet service, LimitOrderParams parms) { var body = new SortedDictionary <string, object>(); if (parms.CancelAfter > 0) { body.Add("cancelAfter", parms.CancelAfter); } if (string.IsNullOrEmpty(parms.ClientOid)) { parms.ClientOid = Guid.NewGuid().ToString(); } body.Add("clientOid", parms.ClientOid); body.Add("symbol", parms.Pair); if (parms.PostOnly) { body.Add("postOnly", parms.PostOnly); } body.Add("price", parms.Price); if (!string.IsNullOrEmpty(parms.Remark)) { body.Add("remark", parms.Remark); } if (parms.SelfTradeProtect != null) { body.Add("stp", parms.SelfTradeProtect.ToString()); } body.Add("side", parms.Side.ToString().ToLower()); body.Add("size", parms.Size); if (parms.TimeInForce != null) { body.Add("timeInForce", parms.TimeInForce); } body.Add("type", parms.Type.ToString().ToLower()); return(await service.PlaceOrder(body)); }