← Назад

Робот не переподключается вечером, а с утра все нормально

Такая проблема - оставляется работать программа, утром в 10 часов смотрю - после 18.45 тишина, но утром, с 10 часов, все нормально переподключается и работает дальше. Пока не могу сама понаблюдать, что же такое происходит вечером, потому что в это время сижу в универе на паре. Интернет точно не пропадает, в квике настроен интервал переподключения с 10 до 22. Настройки такие


this.Trader.Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);
this.Trader.Trader.ReConnectionSettings.ConnectingAttemptCount = -1;
this.Trader.Trader.ReConnectionSettings.ReConnectingAttemptCount = -1;
this.Trader.Trader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;
this.Trader.Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);
this.Trader.Trader.ReConnectionSettings.ExportTimeOutInterval = TimeSpan.FromSeconds(10);
this.Trader.Trader.ReConnectionSettings.ConnectDisconnectTimeOutInterval = TimeSpan.FromSeconds(10);
this.Trader.Trader.ReConnectionSettings.IsReStartExport = true;

Что проверять, куда смотреть? =)

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

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

Alexander
Alexander

В каком плане тишина? Стратегия останавливается? Данные не поступают? Если второе, то как проверяете?

a.dobryn
a.dobryn Автор

в логах тишина, то есть данные не поступают. Там просто действие зависит от цен, которые по DDE из всех сделок поступают, грубо говоря просто берет цены и анализирует, так как в этом варианте сделок нет.

Alexander
Alexander

D_Alex: в логах тишина, то есть данные не поступают. Там просто действие зависит от цен, которые по DDE из всех сделок поступают, грубо говоря просто берет цены и анализирует, так как в этом варианте сделок нет.

Есть мысль, что в 18:45 очищается стакан, поэтому BestBid\BestAsk становятся null, а вы какие-то действия с ними делаете => возникает Exception, стратегия падает. Попробуйте отловить ProcessDataError ну и повнимательнее с BestBid\BestAsk\LastTrade.

И выведите Trader.NewTrades если идёт экспорт всех сделок - посмотрите поступают ли вообще сделки с вечерки фортса.

a.dobryn
a.dobryn Автор

Стакан не трогаю, про вечерние сделки - идея, проверю, спасибо!

a.dobryn
a.dobryn Автор

что-то не сообразила и не вывела текущее время в лог Trader.NewTrades, а только Trade.Time, а ведь сделки могли закачаться с утра %) так что пока не очень понятно посмотрела в логи квика - он отконнектился только в 0:20. В логе программы написано, что подключение к квику было в 9:35 (дисконнект не отловила, Trader.Disconnected происходит, когда вручную отключаем?) Вечером сегодня попробую заглянуть и посмотреть, что же там происходит =)

Alexander
Alexander

D_Alex: что-то не сообразила и не вывела текущее время в лог Trader.NewTrades, а только Trade.Time, а ведь сделки могли закачаться с утра %) так что пока не очень понятно посмотрела в логи квика - он отконнектился только в 0:20. В логе программы написано, что подключение к квику было в 9:35 (дисконнект не отловила, Trader.Disconnected происходит, когда вручную отключаем?) Вечером сегодня попробую заглянуть и посмотреть, что же там происходит =)

Если вызываем Disconnect - да

a.dobryn
a.dobryn Автор

а так смотреть это в ProcessDataError?

Alexander
Alexander

D_Alex: а так смотреть это в ProcessDataError?

Не понял что смотреть :) Disconnect - есть событие. его удобнее смотреть там. в processDataError смотреть ошибки, если вдруг есть.

a.dobryn
a.dobryn Автор

смортеть, когда происходит дисконнект соединения с квиком =) у меня как раз описан вывод в лог по событию Disconnect, но оно не произошло ни разу, зато Connect и Reconnect были =)

Alexander
Alexander

D_Alex: смортеть, когда происходит дисконнект соединения с квиком =) у меня как раз описан вывод в лог по событию Disconnect, но оно не произошло ни разу, зато Connect и Reconnect были =)

Значит отключения не было, беспокойство напрасно, можно сидеть на парах со спокойной душой :)

a.dobryn
a.dobryn Автор

лучше бы оно было, потому что я так и не понимаю, почему тишина после 7 часов =) а как это - дисконнекта не было, а коннект был?

Connected. 27.09.2011 13:03:56 Connected. 28.09.2011 9:35:07 Reconnected. 28.09.2011 10:10:08

Alexander
Alexander

лучше бы оно было, потому что я так и не понимаю, почему тишина после 7 часов =) а как это - дисконнекта не было, а коннект был?

Connected. 27.09.2011 13:03:56 Connected. 28.09.2011 9:35:07 Reconnected. 28.09.2011 10:10:08

Потому что S# - не отключался от квика. А вот сам квик - отключался от торгов. Подпишитесь на событие ConnectionError, посмотрите что оно выводит.

a.dobryn
a.dobryn Автор

о, ConnectionError по-видимому то, что нужно =)

a.dobryn
a.dobryn Автор

хм, сделки в программу поступают, квик подключен, значит, все нормально, дальше уже где-то мои косяки +) спасибо за помощь =)

a.dobryn
a.dobryn Автор

ага, у меня проверка стоит, чтобы только свеженькие сделки выдавались, а получается так

MarketTime: 28.09.2011 19:12:18, now: 28.09.2011 23:09:11

Alexander
Alexander

ага, у меня проверка стоит, чтобы только свеженькие сделки выдавались, а получается так

MarketTime: 28.09.2011 19:12:18, now: 28.09.2011 23:09:11

а на компе какое время? синхронихация идёт?

a.dobryn
a.dobryn Автор

ага, у меня проверка стоит, чтобы только свеженькие сделки выдавались, а получается так

MarketTime: 28.09.2011 19:12:18, now: 28.09.2011 23:09:11

а на компе какое время? синхронихация идёт?

на компе время now =) синхронизация с квиком есть, вот так оно выглядит (lastTradeTime - время последней полученной сделки из квика

MarketTime: 28.09.2011 19:12:13, lastTradeTime: 28.09.2011 23:09:04, now: 28.09.2011 23:09:06 MarketTime: 28.09.2011 19:12:13, lastTradeTime: 28.09.2011 23:09:04, now: 28.09.2011 23:09:06 MarketTime: 28.09.2011 19:12:13, lastTradeTime: 28.09.2011 23:09:04, now: 28.09.2011 23:09:06 MarketTime: 28.09.2011 19:12:13, lastTradeTime: 28.09.2011 23:09:04, now: 28.09.2011 23:09:06 MarketTime: 28.09.2011 19:12:13, lastTradeTime: 28.09.2011 23:09:04, now: 28.09.2011 23:09:06 MarketTime: 28.09.2011 19:12:13, lastTradeTime: 28.09.2011 23:09:04, now: 28.09.2011 23:09:06 MarketTime: 28.09.2011 19:12:16, lastTradeTime: 28.09.2011 23:09:07, now: 28.09.2011 23:09:09 MarketTime: 28.09.2011 19:12:16, lastTradeTime: 28.09.2011 23:09:07, now: 28.09.2011 23:09:09 MarketTime: 28.09.2011 19:12:17, lastTradeTime: 28.09.2011 23:09:07, now: 28.09.2011 23:09:10 MarketTime: 28.09.2011 19:12:17, lastTradeTime: 28.09.2011 23:09:07, now: 28.09.2011 23:09:10 MarketTime: 28.09.2011 19:12:17, lastTradeTime: 28.09.2011 23:09:08, now: 28.09.2011 23:09:10 MarketTime: 28.09.2011 19:12:18, lastTradeTime: 28.09.2011 23:09:09, now: 28.09.2011 23:09:11 MarketTime: 28.09.2011 19:12:18, lastTradeTime: 28.09.2011 23:09:09, now: 28.09.2011 23:09:11

версия 3.2.11

может, не извращаться, а брать текущую цену откуда-нибудь из другого места, из инструмента, или из стакана, откуда лучше? может, есть даже где-то событие плана - цена изменилась, пора работать? =)

a.dobryn
a.dobryn Автор

кстати, еще

MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:18, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:19, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:19, lastTradeTime: 29.09.2011 10:09:15, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:19, lastTradeTime: 29.09.2011 10:09:16, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:19, lastTradeTime: 29.09.2011 10:09:16, now: 29.09.2011 10:09:18 MarketTime: 29.09.2011 9:49:19, lastTradeTime: 29.09.2011 10:09:16, now: 29.09.2011 10:09:18 то есть вечером неправильное время, и утром с 10 до 10.10

Alexander
Alexander

MarketTime получается через quik.MarketTime? Он там = DateTime.Now, т.е. вашему текущему времени компьютера. Неужели текущее время отстаёт на 3 часа?

Про синхронизацию - я имел в виду использование спец. методов для синхронизации по NTP, что добавили пару версий назад.

a.dobryn
a.dobryn Автор

Alexander: MarketTime получается через quik.MarketTime? Он там = DateTime.Now, т.е. вашему текущему времени компьютера. Неужели текущее время отстаёт на 3 часа? Про синхронизацию - я имел в виду использование спец. методов для синхронизации по NTP, что добавили пару версий назад.

через Trader.MarketTime точно не отстает, потому что "now" это и есть DateTime.Now =) синхронизации нет, покопаюсь =)

Alexander
Alexander

D_Alex:

Alexander: MarketTime получается через quik.MarketTime? Он там = DateTime.Now, т.е. вашему текущему времени компьютера. Неужели текущее время отстаёт на 3 часа? Про синхронизацию - я имел в виду использование спец. методов для синхронизации по NTP, что добавили пару версий назад.

через Trader.MarketTime точно не отстает, потому что "now" это и есть DateTime.Now =) синхронизации нет, покопаюсь =)

		public virtual DateTime MarketTime
		{
			get { return DateTime.Now + MarketTimeOffset; }
			protected set { throw new NotSupportedException("Установка биржевого времени не поддерживается."); }
		}

Это Quik.MarketTime

a.dobryn
a.dobryn Автор

а как пользоваться синхронизацией по ntp? не могу найти

...

Это Quik.MarketTime странно, откуда тогда у меня такая фигня 🤔

Alexander
Alexander

а как пользоваться синхронизацией по ntp? не могу найти

...

Это Quik.MarketTime странно, откуда тогда у меня такая фигня 🤔

Биржевое время

a.dobryn
a.dobryn Автор

Таак... у меня у тестовой версии робота и у обычной разные папки References, и, как оказалось, обновила я только одну >__< надо больше спать. Сейчас сделаю ребилд и посмотрю, что там со временем =)