public void LookupCandles(MarketDataMessage message) { var placeCode = _adapter.SecurityClassInfo.GetSecurityClass(message.SecurityType, message.SecurityId.BoardCode); _adapter.AddDebugLog("Candles SC={0} PC={1} TF={2} F={3} T={4}", message.SecurityId.SecurityCode, placeCode, message.Arg, message.From, message.To); if (placeCode == null) { throw new InvalidOperationException(LocalizedStrings.Str2279); } var timeFrame = (AlfaTimeFrames)(TimeSpan)message.Arg; //to = timeFrame.GetCandleBounds(series.Security).Min; var data = _ad.GetArchiveFinInfoFromDB(placeCode, message.SecurityId.SecurityCode, timeFrame.Interval, message.From.ToLocalTime(TimeHelper.Moscow), message.To.ToLocalTime(TimeHelper.Moscow)); if (_ad.LastResult != StateCodes.stcSuccess) { ThrowInError((tagStateCodes)_ad.LastResult); } _adapter.AddDebugLog("Candles DT={0}", data); DoInSysCulture(() => ProcessCandles.SafeInvoke(message, data.ToRows())); }