← Назад

SmartCOM и исторические данные

Насколько корректные приходят исторические данные через SmartCOM ? Пытаюсь получить свечки за предыдущие дни, приходят данные не соответствующие данным в терминале. На форуме есть темы, что получать историю через SmartCOM - лучше не стоит. Так ли это ?

Комментарии (6)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mirovan
Mirovan Автор

Очень интересная ситуация. Если вызываю

_trader.RegisterHistoryCandles(_sec, TimeSpan.FromHours(1), serverTime, 100, SmartHistoryDirections.Backward);

то данные приходят актуальные

а если

_trader.RegisterHistoryCandles(_sec, TimeSpan.FromDays(1), serverTime, 100, SmartHistoryDirections.Backward);

то какие то "левые".

Кто сталкивался, С чем это связано ?

andy_baka
andy_baka

Mirovan: Очень интересная ситуация. Если вызываю

_trader.RegisterHistoryCandles(_sec, TimeSpan.FromHours(1), serverTime, 100, SmartHistoryDirections.Backward);

> 
> то данные приходят актуальные
> 
> а если
> 
> 
> ```csharp
_trader.RegisterHistoryCandles(_sec, TimeSpan.FromDays(1), serverTime, 100, SmartHistoryDirections.Backward);

то какие то "левые".

Кто сталкивался, С чем это связано ?

У меня этот вызов вообще не работает. Если возможно - дайте код как вы ее заставили работать. А на какой версии библиотеки?

Alexander
Alexander

такие вопросы лучше адресовать поддержке айти инвеста

Mirovan
Mirovan Автор

Alexander Mukhanchikov: такие вопросы лучше адресовать поддержке айти инвеста

Спасибо, Александр.

zorran
zorran

Можно попробовать получать свечки вперед, с параметром direction = SmartHistoryDirections.Forward Также можно получать в часах, а потом преобразовывать в дни. Еще можно уменьшить количество за раз получаемых свечек - это, бывает, помогает.

ttt
ttt

Выполняю запуск (по примеру SampleSmartCandles): _candleManager.Start(_lkSeries, GlobalParameters.lkohTimeLoad, DateTime.Now); Получение данных идет хорошо, каждая новая свеча вызывает событие NewHistoricalCandles.

Даю команду остановить получение свечек: _candleManager.Stop(_lkSeries);

При повторном запуске: _candleManager.Start(_lkSeries, GlobalParameters.lkohTimeLoad, DateTime.Now); вылетает ошибка: "Серия не была остановлена"

Как отслеживается остановлена серия или нет?