Example #1
0
        /// <summary>
        /// Выполнение сделки по рыночной цене
        /// </summary>
        /// <param name="ticker">Пара</param>
        /// <param name="side">Направление сделки</param>
        /// <param name="amount">Количество</param>
        /// <returns>Цена, по которой отработал ордер</returns>
        public decimal ExecuteDealByMarket(string ticker, OrderSide side, decimal amount)
        {
            var order = _client.PlaceOrder(ticker.TrimStart('t'), side, OrderTypeV1.Market, amount, price: 1, hidden: true, useAllAvailable: true);

            decimal execPrice = 0;

            while (execPrice == 0)
            {
                Thread.Sleep(5000);
                var trades = _client.GetTradesForOrder(ticker, order.Data.Id);
                if (trades.Data != null && trades.Data.Length > 0)
                {
                    execPrice = trades.Data.Average(t => t.ExecutedPrice);
                }
                Thread.Sleep(3000);
            }
            return(execPrice);
        }