コード例 #1
0
 private void PartialDepthListen()
 {
     try
     {
         WebSocketClient.SubscribePartialDepthStream(this.Symbol.Key.ToLower(), PartialDepthLevels.Five, HandlePartialDepthUpdate);
     }
     catch (Exception ex)
     {
         Logger.Error("Exception during PartialDepthListen: " + BinanceMarketApi.GetExceptionErrorInfo(ex));
     }
 }
コード例 #2
0
 private void KlineListen()
 {
     try
     {
         WebSocketClient.SubscribeKlineStream(this.Symbol.Key.ToLower(), KlineInterval.OneMinute, HandleKlineEvent);
     }
     catch (Exception ex)
     {
         Logger.Error("Exception during KlineListen: " + BinanceMarketApi.GetExceptionErrorInfo(ex));
     }
 }
コード例 #3
0
 public override async Task Update(TimeSlice slice)
 {
     foreach (var op in Algo.ActiveOperations)
     {
         try
         {
             await ManageOperation(op);
         }
         catch (Exception ex)
         {
             var msg = BinanceMarketApi.GetExceptionErrorInfo(ex);
             Logger.Error($"SimpleStopLossRiskManager: exception while managin  {op.ToString("c")}\n       Error: {msg}");
         }
     }
 }
コード例 #4
0
        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);
                }
            }
        }