Приветсвую, Михаил!
Столкнулся с тем что после перехода на 2.0.1 стал часто получать при старте ошибку (ниже) Но со второго третьего раза запускается нормально (Quik не перестартовывал). У меня одного так или кто то еще сталкивался. До 2.0.1 такого не наблюдалось, хотя , возможно в более ранних версиях я экспортировал меньше таблиц, а именно не экспортировал OrdersTable.
// Экспорт запускается так: trader.StartDde(new[] { trader.SecuritiesTable, trader.TradesTable, trader.MyTradesTable, trader.OrdersTable });
Спасибо и с уважением!
System.InvalidOperationException: Нет информации о главном окне Quik.
Возможно, было неуспешное подключение.
в ♠.☻(String ☻)
в ♠.☻(DdeTable ☻)
в System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement]
(IEnumerable1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 comparer)
в System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement]
(IEnumerable1 source, Func2 keySelector, Func2 elementSelector) в ♠.☻(IEnumerable1 ☻, Action2 ♥) в ♠.☻(IEnumerable1 ☻)
в Ecng.Trading.Quik.QuikTrader.StartDde(IEnumerable`1 ddeTables)
Comentários (7)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
Стартовать экспорт нужно после успешного соединения, тоесть события Connected.
Была такая же фигня, и стало так в версии 2.0.1, в версии 2.0 достаточно было сделать trader.Connect(); и сразу можно было стартовать DDE
Может сделать метод trader.Connect() синхронным?
Это я сделал для того, чтобы можно было в случае разрыва связи находить квик заново. Например квик упал. Снова его подняли - робот должно подхватить новый Квик.
Понятно, бум делать паузы...
Спасибо и с уважением!
Да не надо делать паузы. Запускайте экспорт из события Connected.
а сделать метод Connect() синхронным нельзя? было бы просто - кому надо - пусть на событие коннектед подписывается, кому нет - вызвал коннект и запуская себе экпорты