Добрый день!
При использовании прерывания CandleManager.Processing не заполняется поле Candle.CloseTime!
Проверял на QuikTrader и RealTimeEmulationTrader<IMessageAdapter>, подключение к Quick через Lua, версия библиотек StockSharp 4.4.8
1. Прерывания приходят и свойсство candle.State позволяет синхронизироваться с концом свечи.
2. Candle.OpenTime заполняется правильно .
3. При использовании
КодcandleManager.WhenCandlesFinished(series).Do(candle => {....});
, Candle.OpenTime и Candle.CloseTime заполняются правильно.
4. Ниже приведен код использованный для тестирования, с результатами отраженными в логе.
Код
CandleManager.Processing += (ser, candle) =>
{
if (candle.State != CandleStates.Finished) return;
this.AddInfoLog($" OpenTime = {candle.OpenTime.ToString(CultureInfo.CurrentCulture)} CloseTime = {candle.CloseTime.ToString(CultureInfo.CurrentCulture)} ");
this.AddInfoLog($" TimeFrame = {_stepFrame.ToString()} CurrentTime = {Connector.CurrentTime.ToString(CultureInfo.CurrentCulture)}");
};
Примечание:
Сообщение написано для сведения участников форума и не требует реакции сотрудников StockSharp, даже если выявленная проблема является багом!
С уважением Gii.