Приветсвую, Михаил!
Столкнулся с тем что после перехода на 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)
Kommentare (7)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Стартовать экспорт нужно после успешного соединения, тоесть события Connected.
Была такая же фигня, и стало так в версии 2.0.1, в версии 2.0 достаточно было сделать trader.Connect(); и сразу можно было стартовать DDE
Может сделать метод trader.Connect() синхронным?
Это я сделал для того, чтобы можно было в случае разрыва связи находить квик заново. Например квик упал. Снова его подняли - робот должно подхватить новый Квик.
Понятно, бум делать паузы...
Спасибо и с уважением!
Да не надо делать паузы. Запускайте экспорт из события Connected.
а сделать метод Connect() синхронным нельзя? было бы просто - кому надо - пусть на событие коннектед подписывается, кому нет - вызвал коннект и запуская себе экпорты