Не фурычит экспорт заявок


Не фурычит экспорт заявок
Atom
11/10/2010


Почему-то при запуске экспорта из таблицы приходит только последняя заявка и всё.. дальше экспорт не идёт.. т.е. ни старые, ни новые заявки уже не приходят.. где искать причину[confused]

И Quik и S# последней версии.. экспорт других таблиц идёт без нареканий.. Verifier ошибок не находит...

Заявки ловлю так:
Code
trader.NewOrders += Orders =>
{
foreach (var order in Orders)
{
Console.WriteLine("order.State = {0}", order.State);
}
}


VS пишет в окне вывода:
Code
order.State = Done
Первый этап обработки исключения типа "System.ArgumentException" в приложении Ecng.Trading.Quik.dll

Похоже там генерится какое-то исключение.. вот только как его отловить?

Tags:


Thanks:


1 2 3  >
Mikhail Sukhov

Avatar
Date: 11/10/2010
Reply


XMbIPb

Первый этап обработки исключения типа "System.ArgumentException" в приложении Ecng.Trading.Quik.dll[/code]
Похоже там генерится какое-то исключение.. вот только как его отловить?


ITrader.ProcessDataError
Thanks:

XMbIPb

Avatar
Date: 11/10/2010
Reply


Поймать то поймал.. вот только что это значит?
Code
System.ArgumentException: Элемент с тем же ключом уже был добавлен.
в System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
в System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
в System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
в Ecng.Trading.Quik.QuikTrader.#=qXtQgb_1Ivhr4cZlEBJS4ADM1O1bKVoCg9CtJr5uqcrk=.#=qwlIQWfo3qufLtkzLgdg_0w==(IList`1 #=qxm4X8NPgjxU5efFmY7R3Lw==, Func`2 #=qVtb7jPsPoFV1EKgfGAxHlw==)
в Ecng.Trading.Quik.DdeTable.#=qy8NUWUI7mXZMNnXZFsWcYg==(IList`1 #=qkc1RQGHvGXkONrB1lfHMpw==, Action`2 #=qe7FTlw34xv_zxSllAk2THw==, Action`1 #=qyr$xSlYGt0D7OlEnBcjGtw==)
Thanks:

Mikhail Sukhov

Avatar
Date: 11/10/2010
Reply


XMbIPb
Поймать то поймал.. вот только что это значит?


В таблице заявок все номера транзакции уникальны?
Thanks:

XMbIPb

Avatar
Date: 11/10/2010
Reply


Хм.. не совсем[blink] .. только сейчас заметил что заявки дублируются по три раза.. это как-то лечится?
Thanks:

Mikhail Sukhov

Avatar
Date: 11/11/2010
Reply


XMbIPb
Хм.. не совсем[blink] .. только сейчас заметил что заявки дублируются по три раза.. это как-то лечится?


Заявки дублируются или имеют одинаковые номера транзакции?
Thanks:

XMbIPb

Avatar
Date: 11/11/2010
Reply


Дублируются один в один.. я убрал их из таблицы с помощью фильтра.. перезапустил экспорт.. выставил новую заявку.. в таблице она высветилась моментально.. а вот робот получил её только минут через десять.. когда биржа уже закрылась...
Thanks:

Mikhail Sukhov

Avatar
Date: 11/11/2010
Reply


XMbIPb
Дублируются один в один.. я убрал их из таблицы с помощью фильтра.. перезапустил экспорт.. выставил новую заявку.. в таблице она высветилась моментально.. а вот робот получил её только минут через десять.. когда биржа уже закрылась...


ITrader.NewOrders и лог с отметкой времени. Насчет дубляжа - это к брокеру.
Thanks:

XMbIPb

Avatar
Date: 11/11/2010
Reply


На данный момент ситуация такая - я запускаю экспорт.. обработчик получает все заявки из таблицы.. я вручную выставляю новые, они тоже доходят без проблем.. запускаю код генерирующий заявки(он у меня находится в обработчике QuotesChanged), он выставляет заявку и ноль реакции.. я выставляю ещё одну вручную, она тут же приходит.. короче NewOrders игнорирует заявки выставленные из другого обработчика.. что-то мне подсказывает что здесь какая-то запара с потоками.. вот только я пока не особо в них разбираюсь...
Thanks:

XMbIPb

Avatar
Date: 11/11/2010
Reply


Все обработчики я запихал в функцию Quik, которую вызываю из основного потока вот таким макаром:
Code
NextPrimeDelegate npd = new NextPrimeDelegate(this.Quik);
npd.BeginInvoke(null, null);


А уже из обработчиков вот так:
Code
Dispatcher.BeginInvoke(DispatcherPriority.Normal, new NextPrimeDelegate(GUI));

вызываю функцию которая отвечает за обновление GUI...
Это может как-то повлиять?
Thanks:

Mikhail Sukhov

Avatar
Date: 11/11/2010
Reply


XMbIPb
На данный момент ситуация такая - я запускаю экспорт.. обработчик получает все заявки из таблицы.. я вручную выставляю новые, они тоже доходят без проблем.. запускаю код генерирующий заявки(он у меня находится в обработчике QuotesChanged), он выставляет заявку и ноль реакции.. я выставляю ещё одну вручную, она тут же приходит.. короче NewOrders игнорирует заявки выставленные из другого обработчика.. что-то мне подсказывает что здесь какая-то запара с потоками.. вот только я пока не особо в них разбираюсь...


Это скорее всего такая же ошибка как и http://stocksharp.com/posts/m/4545/ Обновитесь до 2.5.2
Thanks: XMbIPb
1 2 3  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy