WhenCandlesFinished() при отсутствии данных

WhenCandlesFinished() при отсутствии данных
Atom
24.08.2012
mdv


При потере связи через ReConnectionSettings.ExportTimeOutInterval случается событие ReConnectionSettings.ExportTimeOut.
Почему-то в это же время срабатывает правило WhenCandlesFinished со свечкой из всех пришедших сделок текущего таймфрэйма.
Это так задумано или нет? Я думал, это правило срабатывает только по пришествию сделки следующего таймфрэйма.

Теги:


Спасибо:


Alexander

Фотография
Дата: 26.08.2012
Ответить


Версия S#?
Приводите лог где это будет видно.
Спасибо:

mdv

Фотография
Дата: 04.09.2012
Ответить


Извините, что долго.

Версия 4.1.3. Вот лог, когда ведется мониторинг экспорта. Неполная свечка формируется в момент события ReConnectionSettings.ExportTimeOut.

Код
2012.08.24 16:57:42.412|Error  |A_L       |StockSharp.Quik.ApiException: Код ошибки QuikDisconnected Сообщение Net error: [10053] Software caused connection abort
2012.08.24 16:57:52.399|       |A_L       |Отключились от QUIK.
2012.08.24 16:57:52.619|Error  |A_L       |StockSharp.Quik.ApiException: Код ошибки DllConnected Сообщение Терминал не подключен к серверу.
2012.08.24 16:57:57.430|Error  |A_L       |StockSharp.Quik.ApiException: Код ошибки QuikDisconnected Сообщение Net error: [10065] No Route to Host
...
2012.08.24 16:59:02.455|       |A_L       |Отключились от QUIK.
2012.08.24 16:59:02.647|Error  |A_L       |StockSharp.Quik.ApiException: Код ошибки DllConnected Сообщение Терминал не подключен к серверу.
2012.08.24 16:59:08.805|Error  |A_L       |Таймаут поступающих данных из quik.
2012.08.24 16:59:10.528|       |S         |Cвечка 24.08 16:00: O = 31989, L = 31963, H = 32014, C = 31988.


А вот лог, когда экспорт отключен (ReConnectionSettings.ExportTimeOutInterval = -1). Неполная свечка формируется в момент восстановления связи.

Код
2012.09.04 16:23:32.254|Error  |A_L       |StockSharp.Quik.ApiException: Код ошибки QuikDisconnected Сообщение Net error: [10053] Software caused connection abort
2012.09.04 16:23:42.249|       |A_L       |Отключились от QUIK.
2012.09.04 16:23:42.443|Error  |A_L       |StockSharp.Quik.ApiException: Код ошибки DllConnected Сообщение Терминал не подключен к серверу.
...
2012.09.04 16:28:32.504|       |A_L       |Отключились от QUIK.
2012.09.04 16:28:32.690|Error  |A_L       |StockSharp.Quik.ApiException: Код ошибки DllConnected Сообщение Терминал не подключен к серверу.
2012.09.04 16:28:42.504|       |A_L       |Соединение восстановлено после разрыва.
2012.09.04 16:28:44.013|       |S         |Cвечка 04.09 16:00: O = 141325, L = 140985, H = 141360, C = 141190.
Спасибо:

mdv

Фотография
Дата: 01.10.2012
Ответить


Минимальные изменения примера SampleSMA, в котором приходит свечка из будущего. Версия свежая, пару дней назад брал с кодплекса.

Добавил к инициализации QuikTrader

Код
_trader = new QuikTrader(Path.Text);
_trader.TradesKeepTime = TimeSpan.FromHours(2);
_trader.ReConnectionSettings.IsReStartExport = true;
_trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);
...


Ну и вывод сообщения о неправильной свечке

Код
private void ProcessCandle(Candle candle)
{
 if(candle.OpenTime + (candle as TimeFrameCandle).TimeFrame > Trader.GetMarketTime(Exchange.Rts))
 {
  MessageBox.Show("Пришла свечка из будущего за " + candle.OpenTime);
 }
 ...
}


Далее эксперимент такой. Запускаю, жду, пока все загрузится, выключаю интернет, включаю назад и вижу неполную сформированную свечку.
SampleSMA.rar 169 KB (219)
Спасибо:

Mikhail Sukhov

Фотография
Дата: 01.10.2012
Ответить


mdv
Минимальные изменения примера SampleSMA, в котором приходит свечка из будущего. Версия свежая, пару дней назад брал с кодплекса.


Спасибо за информацию. Мы занесли проблему в список наших задач. Как решим более приоритетные задачи, обязательно вернемся к данной проблеме.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy