Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Exchange.ExchangeApplicationContracts
- {
- /// <summary>
- /// Интерфейс драйвера для взаимодействия с биржей.
- /// При запуске бота ему передается стратегия, в которой указывается биржа.
- /// Каждая биржа имеет реализацию драйвера, посредством которого
- /// идет обращение к бирже на основе ее api
- /// </summary>
- public interface IExchangeDriver : IApplicationService
- {
- Exchange Exchange { set; }
- #region Public methods
- /// <summary>
- /// Запрос на список сделок по валютной паре
- /// </summary>
- /// <returns></returns>
- Task<List<TradeDto>> TradesAsync(List<PairDto> pair);
- /// <summary>
- /// Запрос на списки сделок по валютным нескольким парам
- /// </summary>
- /// <param name="pairs"></param>
- /// <returns></returns>
- Task<IDictionary<PairDto, IEnumerable<TradeDto>>> TradesAsync(IList<PairDto> pairs);
- /// <summary>
- /// Ордера по валютной паре
- /// </summary>
- /// <param name="pair"></param>
- /// <param name="limit">кол-во отображаемых позиций (по умолчанию 100, максимум 1000)</param>
- /// <returns></returns>
- Task<OrderBookDto> OrderBookAsync(PairDto pair, uint limit = 100);
- /// <summary>
- /// Cтатистика цен и ъемов торгов по валютным парам
- /// </summary>
- /// <returns></returns>
- Task<IEnumerable<PairInfoOnExchangeDto>> TickerAsync();
- Task<List<CurrencyDto>> CurrenciesAsync();
- /// <summary>
- /// Получение настроек валютных пар пары
- /// </summary>
- /// <returns></returns>
- Task<IEnumerable<PairSettings>> PairSettingsAsync();
- #endregion
- #region Authenticated methods
- /// <summary>
- /// Получение баланса кошелька пользователя
- /// </summary>
- /// <returns></returns>
- Task<ExchangeUserInfo> UserInfoAsync();
- /// <summary>
- /// Получение списка открытых ордеров пользователя
- /// </summary>
- /// <param name="exchangeId"></param>
- /// <param name="exchangeUserId"></param>
- /// <returns></returns>
- Task<IEnumerable<UserOrderDto>> UserOrdersAsync();
- /// <summary>
- /// Создание ордера
- /// </summary>
- /// <param name="order"></param>
- /// <param name="orderCreateType"></param>
- /// <returns></returns>
- Task<string> OrderCreateAsync(UserOrderDto order, OrderCreateTypes orderCreateType);
- /// <summary>
- /// Получение сделок пользователя с биржи
- /// </summary>
- /// <returns></returns>
- Task<List<TradeDto>> UserTradesAsync(List<PairDto> pairs);
- #endregion
Advertisement
Add Comment
Please, Sign In to add comment