Пример #1
0
        private void InsertTradeBinData(object sender, TradeBinEventArgs e)
        {
            var label   = e.TradeBin.ToLabel();
            var table   = $"{Name}_{label}";
            var symbols = Symbols.Select(s => s.ToString());
            IEnumerable <string> cat;

            if (e.TradeBin == TradeBin.FiveMinute)
            {
                var indices = Indices.Select(i => i.ToIndexString());
                cat = symbols.Concat(indices);
            }
            else
            {
                cat = symbols;
            }
            foreach (var symbol in cat)
            {
                var response = string.Empty;
                while (response != "[]")
                {
                    if (e.EmptyPartial)
                    {
                        // todo what if tradebin table is still empty?
                        response = GetTradeBinsAfterLatest(e.TradeBin, symbol);
                    }
                    else
                    {
                        response = GetTradeBinsBetweenLatest(e.TradeBin, symbol);
                    }
                    EncodeAndStore(response, label);
                }
            }
        }
Пример #2
0
 protected virtual void OnTradeBinPartial(TradeBinEventArgs e) => TradeBinPartial?.Invoke(this, e);