/// <summary> /// Send a New Order /// <see href="https://scrapbox.io/BitFlyerDotNet/SendChildOrder">Online help</see> /// </summary> /// <param name="productCode"></param> /// <param name="orderType"></param> /// <param name="side"></param> /// <param name="price"></param> /// <param name="size"></param> /// <param name="minuteToExpire"></param> /// <param name="timeInForce"></param> /// <returns></returns> public Task <BitFlyerResponse <BfChildOrderResponse> > SendChildOrderAsync( BfProductCode productCode, BfOrderType orderType, BfTradeSide side, decimal price, decimal size, int minuteToExpire, BfTimeInForce timeInForce, CancellationToken ct ) { var request = new BfChildOrderRequest { ProductCode = productCode, ChildOrderType = orderType, Side = side, Price = price, Size = size, MinuteToExpire = minuteToExpire, TimeInForce = timeInForce, }; Validate(ref request); return(SendChildOrderAsync(request, ct)); }
void Validate(ref BfChildOrderRequest request) { if (!request.ChildOrderType.IsChildOrderType()) { throw new ArgumentException($"Invalid {nameof(BfChildOrderRequest.ChildOrderType)} is {request.ChildOrderType}"); } if (request.MinuteToExpire == 0 && Config.MinuteToExpire != 0) { request.MinuteToExpire = Config.MinuteToExpire; } if (request.TimeInForce == BfTimeInForce.NotSpecified && Config.TimeInForce != BfTimeInForce.NotSpecified) { request.TimeInForce = Config.TimeInForce; } }
/// <summary> /// Send a New Order /// <see href="https://scrapbox.io/BitFlyerDotNet/SendChildOrder">Online help</see> /// </summary> /// <param name="productCode"></param> /// <param name="orderType"></param> /// <param name="side"></param> /// <param name="price"></param> /// <param name="size"></param> /// <param name="minuteToExpire"></param> /// <param name="timeInForce"></param> /// <returns></returns> public BitFlyerResponse <BfChildOrderResponse> SendChildOrder( BfProductCode productCode, BfOrderType orderType, BfTradeSide side, decimal price, decimal size, int minuteToExpire = 0, BfTimeInForce timeInForce = BfTimeInForce.NotSpecified) { var request = new BfChildOrderRequest { ProductCode = productCode, ChildOrderType = orderType, Side = side, Price = price, Size = size, MinuteToExpire = minuteToExpire, TimeInForce = timeInForce, }; Validate(ref request); return(SendChildOrder(request)); }
/// <summary> /// Send a New Order /// <see href="https://scrapbox.io/BitFlyerDotNet/SendChildOrder">Online help</see> /// </summary> /// <param name="request"></param> /// <returns></returns> public Task <BitFlyerResponse <BfChildOrderResponse> > SendChildOrderAsync(BfChildOrderRequest request, CancellationToken ct) { Validate(ref request); return(PostPrivateAsync <BfChildOrderResponse>(nameof(SendChildOrder), request, ct)); }
/// <summary> /// Send a New Order /// <see href="https://scrapbox.io/BitFlyerDotNet/SendChildOrder">Online help</see> /// </summary> /// <param name="request"></param> /// <returns></returns> public BitFlyerResponse <BfChildOrderResponse> SendChildOrder(BfChildOrderRequest request) { Validate(ref request); return(PostPrivateAsync <BfChildOrderResponse>(nameof(SendChildOrder), request, CancellationToken.None).Result); }