public SymbolFeed(BinanceClient client, CombinedWebSocketClient websocket, BinanceTradeBarsRepository hist, string market, SymbolInfo symbol, DateTime timeNow) { HistoryDb = hist; this.Client = client; this.WebSocketClient = websocket; this.Symbol = symbol; this.Market = market; this.Time = timeNow; Logger = LogManager.GetLogger("Bin" + Symbol + "Feed"); HistoryId = new SymbolHistoryId(this.Market, Symbol.Key, TimeSpan.FromSeconds(60)); }
public static void Run() { BinanceMarketApi api = new BinanceMarketApi(null, null, ".\\Data2"); CombinedWebSocketClient cli = new CombinedWebSocketClient(); var symbols = api.GetSymbols().ToArray(); Stopwatch sw = new Stopwatch(); List <string> remaining = new List <string>(symbols.Select(s => s.Key)); var subscriber = new asd(); foreach (var sym in symbols) { //cli.SubscribePartialDepthStream(sym.Symbol, BinanceExchange.API.Enums.PartialDepthLevels.Five, // d => Console.WriteLine(sym.Symbol + "data")); //cli.SubscribeKlineStream(sym.Symbol, KlineInterval.OneMinute, d => //{ // if (d.Kline.IsBarFinal) // { // Console.WriteLine($"{DateTime.Now:mm.ss.fff} - {sym.Symbol}"); // if (remaining.Contains(d.Symbol)) // remaining.Remove(d.Symbol); // sw.Restart(); // } //}); cli.SubscribeKlineStream(sym.Key, KlineInterval.OneMinute, subscriber.Handle); } while (true) { Thread.Sleep(50); if (sw.ElapsedMilliseconds > 5000) { foreach (var sym in remaining) { Console.Write(sym + ","); } Console.WriteLine(); remaining = new List <string>(symbols.Select(s => s.Key)); sw.Reset(); cli.Unsubscribe <BinanceKlineData>(subscriber.Handle); } } }