/// <summary> /// Listen to the User Data endpoint. /// </summary> /// <param name="accountInfoHandler">Handler to be used when a account message is received.</param> /// <param name="tradesHandler">Handler to be used when a trade message is received.</param> /// <param name="ordersHandler">Handler to be used when a order message is received.</param> /// <returns></returns> public string ListenUserDataEndpoint(BinanceApiAbstract.MessageHandler <AccountUpdatedMessage> accountInfoHandler, BinanceApiAbstract.MessageHandler <OrderOrTradeUpdatedMessage> tradesHandler, BinanceApiAbstract.MessageHandler <OrderOrTradeUpdatedMessage> ordersHandler) { string listenKey = StartUserStream().Result.ListenKey; _binanceApi.ConnectToUserDataWebSocket(listenKey, accountInfoHandler, tradesHandler, ordersHandler); return(listenKey); }
/// <summary> /// Listen to the Kline endpoint. /// </summary> /// <param name="symbol">Ticker symbol.</param> /// <param name="interval">Time interval to retrieve.</param> /// <param name="klineHandler">Handler to be used when a message is received.</param> public void ListenKlineEndpoint(string symbol, TimeInterval interval, BinanceApiAbstract.MessageHandler <KlineMessage> klineHandler) { if (string.IsNullOrWhiteSpace(symbol)) { throw new ArgumentException("symbol cannot be empty. ", nameof(symbol)); } var param = symbol + $"@kline_{interval.GetDescription()}"; _binanceApi.ConnectToWebSocket(param, klineHandler); }
/// <summary> /// Listen to the Trades endpoint. /// </summary> /// <param name="symbol">Ticker symbol.</param> /// <param name="tradeHandler">Handler to be used when a message is received.</param> public void ListenTradeEndpoint(string symbol, BinanceApiAbstract.MessageHandler <AggregateTradeMessage> tradeHandler) { if (string.IsNullOrWhiteSpace(symbol)) { throw new ArgumentException("symbol cannot be empty. ", nameof(symbol)); } string param = symbol + "@aggTrade"; _binanceApi.ConnectToWebSocket(param, tradeHandler); }
/// <summary> /// Listen to the Depth endpoint. /// </summary> /// <param name="symbol">Ticker symbol.</param> /// <param name="depthHandler">Handler to be used when a message is received.</param> public void ListenDepthEndpoint(string symbol, BinanceApiAbstract.MessageHandler <DepthMessage> depthHandler) { if (string.IsNullOrWhiteSpace(symbol)) { throw new ArgumentException("symbol cannot be empty. ", nameof(symbol)); } string param = symbol + "@depth"; _binanceApi.ConnectToWebSocket(param, depthHandler, true); }