Добрый вечер!
Похоже вы торгуете акции в нерабочее время биржи. Демо-Квик работает по своему расписанию) Отсюда похоже и ошибки.
Да. Эмулятор тестирую по вечерам. Демо-квик сейчас не использую. Все данные (свечи, инструменты) беру из бд вот так
new Security()
{
Id = security.Code + "@" + security.ExchangeBoardT.Code,
Code = security.Code,
Name = security.Name,
Decimals = security.Decimals,
Class = security.Class,
LastChangeTime = DateTime.Now,
MinLotSize = security.MinLotSize,
MinPrice = security.MinPrice,
MinStepPrice = security.MinStepPrice,
MinStepSize = security.MinStepSize,
Currency = (CurrencyTypes)security.IdsCurrencyTypes,
ExtensionInfo = new Dictionary<object, object> { { "DBIds", security.Id } },
//ExchangeBoard = new ExchangeBoard()
//{
// Code = security.ExchangeBoardT.Code,
// Exchange = new Exchange()
// {
// Name = security.ExchangeBoardT.ExchangeT.Code,
// EngName = security.ExchangeBoardT.ExchangeT.EngName,
// RusName = security.ExchangeBoardT.ExchangeT.RusName,
// TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time")
// },
// ExpiryTime = new TimeSpan(),
// IsSupportAtomicReRegister = security.ExchangeBoardT.IsSupportAtomicReRegister,
// IsSupportMarketOrders = security.ExchangeBoardT.IsSupportMarketOrders,
// WorkingTime = new WorkingTime()
//},
ExchangeBoard = ExchangeBoard.MicexJunior
};
На данный момент решил пока использовать ExchangeBoard.MicexJunior.
Свечи так
new TimeFrameCandle()
{
OpenPrice = candle.Open,
HighPrice = candle.High,
LowPrice = candle.Low,
ClosePrice = candle.Close,
TimeFrame = timeFrameCandle,
OpenTime = time,
CloseTime = time + timeFrameCandle,
TotalVolume = candle.Volume,
Security = security,
State = CandleStates.Finished
};
Данные из бд корректны (основываюсь на том что в предыдущих версиях проблем не было и график худо-бедно строился)
Если принять, что проблема во времени выполнения, когда биржа закрыта, то предположу, что текущее время берется из системного, однако, перевод часов в нужный период не дал результата) или я что-то не так делаю?)