Пример #1
0
        public void Initialize(int count = 0)
        {
            try
            {
                _lock.EnterWriteLock();

                var symbols       = _historyClient.GetSupportedSymbols();
                var periodicities = _historyClient.GetSupportedPeriodicities().Select(Periodicity.Parse).ToList();
                foreach (var symbol in symbols)
                {
                    _symbols.Add(symbol);

                    foreach (var periodicity in periodicities)
                    {
                        _periodicities.Add(periodicity);

                        var keyBid = new Tuple <string, Periodicity, FxPriceType>(symbol, periodicity, FxPriceType.Bid);
                        var keyAsk = new Tuple <string, Periodicity, FxPriceType>(symbol, periodicity, FxPriceType.Ask);
                        _cachedBars[keyBid] = new BarsHistoryCache(keyBid.Item1, keyBid.Item2, keyBid.Item3, _historyClient);
                        _cachedBars[keyAsk] = new BarsHistoryCache(keyAsk.Item1, keyAsk.Item2, keyAsk.Item3, _historyClient);
                    }
                    _cachedTicks[symbol]  = new TicksHistoryCache(symbol, false, _historyClient);
                    _cachedLevel2[symbol] = new TicksHistoryCache(symbol, true, _historyClient);
                }
            }
            finally
            {
                _lock.ExitWriteLock();
            }

            try
            {
                _lock.EnterReadLock();

                foreach (var historyCache in _cachedBars.Values)
                {
                    historyCache.InitializeCache(count);
                }
                foreach (var historyCache in _cachedTicks.Values)
                {
                    historyCache.InitializeCache(count);
                }
                foreach (var historyCache in _cachedLevel2.Values)
                {
                    historyCache.InitializeCache(count);
                }
            }
            finally
            {
                _lock.ExitReadLock();
            }
        }
Пример #2
0
 public static string[] GetSupportesSymbols()
 {
     return(_client.GetSupportedSymbols().ToArray());
 }