Не работает метод Security.GetFilteredQuotes


Не работает метод Security.GetFilteredQuotes
Atom Reply
12/29/2011


Возникла такая проблема, при вызове метода GetFilteredQuotes(OrderDirections.Sell, null) всегда вываливается exception. Версия смарткома последняя (2.2), S# - 4.0.8. Рынок ММВБ.
Должен ли вообще работать этот метод для SmartCom'a?

Tags:


Thanks:




5 Answers
Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 12/29/2011
Reply


stalkr Перейти
Возникла такая проблема, при вызове метода GetFilteredQuotes(OrderDirections.Sell, null) всегда вываливается exception. Версия смарткома последняя (2.2), S# - 4.0.8. Рынок ММВБ.
Должен ли вообще работать этот метод для SmartCom'a?


Полный текст ошибки.
Thanks:

stalkr

Avatar
Date: 12/30/2011
Reply


ArgumentNullException:

Value cannot be null.
Parameter name: source

Полный трейс:

System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Linq.Enumerable.Contains[TSource](IEnumerable`1 source, TSource value, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.Contains[TSource](IEnumerable`1 source, TSource value)
at StockSharp.Algo.TraderHelper.GetFilteredQuotes(IEnumerable`1 quotes, IEnumerable`1 ownOrders, IEnumerable`1 orders)
at StockSharp.Algo.TraderHelper.GetFilteredQuotes(IEnumerable`1 quotes, IEnumerable`1 orders)
at StockSharp.Algo.TraderHelper.GetFilteredQuotes(MarketDepth depth, OrderDirections orderDirection, IEnumerable`1 orders)
at StockSharp.Algo.TraderHelper.GetFilteredQuotes(Security security, OrderDirections orderDirection, IEnumerable`1 orders)
Topic starter
Thanks:

Alexander

Avatar
Date: 12/30/2011
Reply


Так вы сами передаёте null в качестве аргумента
Список заявок, которые надо игнорировать у вас null - получаете сами на выходе exception
Thanks: stalkr

stalkr

Avatar
Date: 12/30/2011
Reply


Действительно, так заработало:
var asks = ord.Security.GetFilteredQuotes(OrderDirections.Sell, new List<SOrder>());

Спасибо, и с наступающим!
Topic starter
Thanks:

Alexander

Avatar
Date: 12/30/2011
Reply


stalkr Перейти
Действительно, так заработало:
var asks = ord.Security.GetFilteredQuotes(OrderDirections.Sell, new List<SOrder>());

Спасибо, и с наступающим!


В этом смысла никакого нет.
Вы должны передать туда активные заявки, от которого надо отфильтровать стакан.
Если передаёте пустой список - то не от чего отфильтровывать стакан, вам стакан и вернётся.
Thanks:


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

loading
clippy