Ejemplo n.º 1
0
 private List <Kline> GetAllTicksForCoinInterval(CoinInterval key)
 {
     using (var context = new InfraContext())
     {
         var klineList = context.Klines.Where(i => i.Symbol == key.Symbol && i.Interval == key.Interval).OrderBy(i => i.OpenTime).ToList();
         return(klineList);
     }
 }
Ejemplo n.º 2
0
        private List <CoinInterval> FindUniqueKeysInKlinesTable()
        {
            var keyList = new List <CoinInterval>();

            using (var context = new InfraContext())
            {
                var data = context.Klines.Select(i => new { i.Symbol, i.Interval }).Distinct().ToList();
                foreach (var item in data)
                {
                    var coinKey = new CoinInterval(item.Symbol, item.Interval);
                    keyList.Add(coinKey);
                }
            }
            return(keyList);
        }
Ejemplo n.º 3
0
        private List <TickGap> FindGapsForCoinInterval(CoinInterval key, Dictionary <string, long> intervals)
        {
            var  gapList      = new List <TickGap>();
            var  ticks        = GetAllTicksForCoinInterval(key);
            long openTime     = 0;
            long lastOpenTime = 0;
            var  interval     = intervals[key.Interval];

            foreach (var tick in ticks)
            {
                lastOpenTime = openTime;
                openTime     = tick.OpenTime;
                if (openTime - lastOpenTime > interval && lastOpenTime > 0)
                {
                    var gap = new TickGap(lastOpenTime + interval, openTime - interval);
                    gapList.Add(gap);
                }
            }

            return(gapList);
        }