public async Task <string> NewOrder(string clientOrderId, Pair pair, HitBtcTradeType type, decimal price,
                                            int?quantity, OrderType orderType, HitBtcTimeInForce?timeInForce, CancellationToken token = default(CancellationToken))
        {
            var culture = CultureHelper.GetEnglishCulture();

            var parameters = new Dictionary <string, string>
            {
                { "nonce", Convert.ToString(GetNonce(), culture) },
                { "apikey", _apiKey },
                { "clientOrderId", clientOrderId },
                { "symbol", pair.ToString().Replace("/", string.Empty) },
                { "side", type.ToString() },
                { "price", Convert.ToString(price, culture) }
            };

            if (quantity.HasValue)
            {
                parameters.Add("quantity", quantity.Value.ToString());
            }

            parameters.Add("type", orderType.ToString());

            if (timeInForce.HasValue)
            {
                parameters.Add("timeInForce", timeInForce.Value.ToString());
            }

            return(await RetryHelper.DoAsync(async() => await PrivateQuery <string>(
                                                 $"api/{Version}/trading/cancel_order", parameters, token), TimeSpan.FromMilliseconds(Constant.DefaultRetryInterval)));
        }
        public async Task <string> CancelOrder(string clientOrderId, string cancelRequestClientOrderId, Pair pair, HitBtcTradeType type, CancellationToken token = default(CancellationToken))
        {
            var culture = CultureHelper.GetEnglishCulture();

            return(await RetryHelper.DoAsync(async() => await PrivateQuery <string>(
                                                 $"api/{Version}/trading/cancel_order", new Dictionary <string, string>
            {
                { "nonce", Convert.ToString(GetNonce(), culture) },
                { "apikey", _apiKey },
                { "clientOrderId", clientOrderId },
                { "cancelRequestClientOrderId", cancelRequestClientOrderId },
                { "symbol", pair.ToString().Replace("/", string.Empty) },
                { "side", type.ToString() }
            }, token), TimeSpan.FromMilliseconds(Constant.DefaultRetryInterval)));
        }