Такая проблема - оставляется работать программа, утром в 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)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
В каком плане тишина? Стратегия останавливается? Данные не поступают? Если второе, то как проверяете?
в логах тишина, то есть данные не поступают. Там просто действие зависит от цен, которые по DDE из всех сделок поступают, грубо говоря просто берет цены и анализирует, так как в этом варианте сделок нет.
Есть мысль, что в 18:45 очищается стакан, поэтому BestBid\BestAsk становятся null, а вы какие-то действия с ними делаете => возникает Exception, стратегия падает. Попробуйте отловить ProcessDataError ну и повнимательнее с BestBid\BestAsk\LastTrade.
И выведите Trader.NewTrades если идёт экспорт всех сделок - посмотрите поступают ли вообще сделки с вечерки фортса.
Стакан не трогаю, про вечерние сделки - идея, проверю, спасибо!
что-то не сообразила и не вывела текущее время в лог Trader.NewTrades, а только Trade.Time, а ведь сделки могли закачаться с утра %) так что пока не очень понятно посмотрела в логи квика - он отконнектился только в 0:20. В логе программы написано, что подключение к квику было в 9:35 (дисконнект не отловила, Trader.Disconnected происходит, когда вручную отключаем?) Вечером сегодня попробую заглянуть и посмотреть, что же там происходит =)
Если вызываем Disconnect - да
а так смотреть это в ProcessDataError?
Не понял что смотреть :) Disconnect - есть событие. его удобнее смотреть там. в processDataError смотреть ошибки, если вдруг есть.
смортеть, когда происходит дисконнект соединения с квиком =) у меня как раз описан вывод в лог по событию Disconnect, но оно не произошло ни разу, зато Connect и Reconnect были =)
Значит отключения не было, беспокойство напрасно, можно сидеть на парах со спокойной душой :)
лучше бы оно было, потому что я так и не понимаю, почему тишина после 7 часов =) а как это - дисконнекта не было, а коннект был?
лучше бы оно было, потому что я так и не понимаю, почему тишина после 7 часов =) а как это - дисконнекта не было, а коннект был?
Потому что S# - не отключался от квика. А вот сам квик - отключался от торгов. Подпишитесь на событие ConnectionError, посмотрите что оно выводит.
о, ConnectionError по-видимому то, что нужно =)
хм, сделки в программу поступают, квик подключен, значит, все нормально, дальше уже где-то мои косяки +) спасибо за помощь =)
ага, у меня проверка стоит, чтобы только свеженькие сделки выдавались, а получается так
ага, у меня проверка стоит, чтобы только свеженькие сделки выдавались, а получается так
а на компе какое время? синхронихация идёт?
ага, у меня проверка стоит, чтобы только свеженькие сделки выдавались, а получается так
а на компе какое время? синхронихация идёт?
на компе время now =) синхронизация с квиком есть, вот так оно выглядит (lastTradeTime - время последней полученной сделки из квика
версия 3.2.11
может, не извращаться, а брать текущую цену откуда-нибудь из другого места, из инструмента, или из стакана, откуда лучше? может, есть даже где-то событие плана - цена изменилась, пора работать? =)
кстати, еще
MarketTime получается через quik.MarketTime? Он там = DateTime.Now, т.е. вашему текущему времени компьютера. Неужели текущее время отстаёт на 3 часа?
Про синхронизацию - я имел в виду использование спец. методов для синхронизации по NTP, что добавили пару версий назад.
через Trader.MarketTime точно не отстает, потому что "now" это и есть DateTime.Now =) синхронизации нет, покопаюсь =)
Это Quik.MarketTime
а как пользоваться синхронизацией по ntp? не могу найти
а как пользоваться синхронизацией по ntp? не могу найти
Биржевое время
Таак... у меня у тестовой версии робота и у обычной разные папки References, и, как оказалось, обновила я только одну >__< надо больше спать. Сейчас сделаю ребилд и посмотрю, что там со временем =)