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


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


Такая проблема - оставляется работать программа, утром в 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

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


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

a.dobryn

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


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

Alexander

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


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


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

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

a.dobryn

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


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

a.dobryn

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


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

Alexander

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


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


Если вызываем Disconnect - да
Спасибо:

a.dobryn

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


а так смотреть это в ProcessDataError?
Автор топика
Спасибо:

Alexander

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


D_Alex Перейти
а так смотреть это в ProcessDataError?


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

a.dobryn

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


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

Alexander

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


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


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

a.dobryn

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


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

Connected. 27.09.2011 13:03:56
Connected. 28.09.2011 9:35:07
Reconnected. 28.09.2011 10:10:08
Автор топика
Спасибо:

Alexander

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


D_Alex Перейти
лучше бы оно было, потому что я так и не понимаю, почему тишина после 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

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


о, ConnectionError по-видимому то, что нужно =)
Автор топика
Спасибо:

a.dobryn

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


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

a.dobryn

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


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

MarketTime: 28.09.2011 19:12:18, now: 28.09.2011 23:09:11
Автор топика
Спасибо:

Alexander

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


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

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


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

a.dobryn

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


Alexander Перейти
D_Alex Перейти
ага, у меня проверка стоит, чтобы только свеженькие сделки выдавались, а получается так
Цитата:

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

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


кстати, еще
Цитата:

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

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


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


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

a.dobryn

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


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


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

Alexander

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


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

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


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

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


Это Quik.MarketTime

странно, откуда тогда у меня такая фигня Huh
Автор топика
Спасибо:

Alexander

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


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

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


Это Quik.MarketTime

странно, откуда тогда у меня такая фигня Huh


Биржевое время
Спасибо:

a.dobryn

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


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


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

loading
clippy