← Zurück

Ошибка: Нет лучшего бида для котировки.

Пытаюсь разобраться с примером SamplesmartConsole. Подключение успешно устанавливается, инструмент появляется, но при получении значения середины спреда, _lkoh.BestBid оказывается Null и генерится ексепш. Код в котором генерится исключение:

// запоминаем первоначальное значение середины спреда var firstMid = _lkoh.BestPair.SpreadPrice / 2; if (_lkoh.BestBid == null) throw new Exception("Нет лучшего бида для котировки.");

Логику примера я не правил, только подправил параметры подключения. В чем может быть ошибка? Это в примере косяк или у меня что-то не так? Подскажите, пожалуйста :) Для разработки использую VisualStudio 2010,на Windows 8.

War dieses Thema hilfreich?

Thema teilen

Kommentare (12)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

alexan3010
alexan3010

Тут так не любят. Расскажите сначала о версии SmartCom (3, 2.2 или 2.0), версию его сборки, его битности. Потом что подправили в параметрах подключения. Потом какую собственно версию API вы используете. Да и то вряд ли ответят ( если я не соображу :) ).

pro_to
pro_to Autor

Использую смартком 3.0.79_x64 Подключаюсь следующим образом: IPHostEntry host = Dns.GetHostEntry("mxdemo.ittrade.ru"); trader.Login = "login"; trader.Password = "password"; trader.Address = new IPEndPoint(host.AddressList[0], 8443); trader.Version = StockSharp.Smart.Wrapper.SmartComVersions.V3; trader.Connect(); Подключение проходит успешно. API использую 4.2.1.3. Пример стандартный, который вместе с API идет.

Спасибо, за ваше участие.

alexan3010
alexan3010

Я сейчас у себя посмотрел, у меня этот пример в 4.2.1.3 вообще с ошибкой (не обработанной, то есть окно закрывается) вылетает в процессе ожидания данных от инструмента Лукойл. Вообще версия 4.2.x.x еще не стабильна и активно допиливается, со смарткомом ни один пример нормально полностью не отрабатывает (см. мои сообщения в этой ветке). Поэтому, если вы только начинаете, я вам советую использовать 4.1.19 так как она стабильная.

Mikhail Sukhov
Mikhail Sukhov

alexan3010: со смарткомом ни один пример нормально полностью не отрабатывает (см. мои сообщения в этой ветке).

Кроме само изменяющихся свечек, что еще у вас не работает?

Mikhail Sukhov
Mikhail Sukhov

pro_to: Пытаюсь разобраться с примером SamplesmartConsole. Подключение успешно устанавливается, инструмент появляется, но при получении значения середины спреда, _lkoh.BestBid оказывается Null и генерится ексепш.

Консольные примеры появились когда не было GUI примеров. Они уже израдно устарели. Учитесь по SampleSmart.

Посмотрел на пример SampleSmartConsole. В частности там ошибка:

trader.SecuritiesChanged += securities =>
{
	// если инструмент хоть раз изменился (по нему пришли актуальные данные)
	if (securities.Contains(_lkoh))
		waitHandle.Set();
};

Надо добавить видимо еще и проверку на наличие котировок, так как инструмент может обновится не всеми данными сразу.

alexan3010
alexan3010

Михаил, спасибо за ответ. По пунктам по 4.2.1.3:

  1. SampleSmartCandles не работает риал-тайм. Похоже просто на то, что перестало работать CandleManager.Processing - туда вообще ничего не поступает. Да и .NewCandles - исторические свечки закачивает на момент вызова, но при появлении новых исторических свечек в процессе работы программы они не поступают. Изменения инструментов происходят, стакан тоже, с этим все нормально, что то определенно с CandleManager случилось. В 4.1.19 процессинг худо бедно работал, NewCandles - не работал, вываливалось с ошибкой Неверное количество свечек. В 4.2.1.3 исторические свечки начал нормально подкачивать (на момент вызова), а процессинг сломался вообще.

  2. Очень долго "проявляются" инструменты после запуска экспорта по сравнению с 4.1.19. До 20 секунд против почти мгновенного появления. Это я так понимаю RegisterSecurity, RegisterTrades происходят очень долго, а также подписка на свечки. Можно проверить в вашем SampleSmart: после нажатия кнопок "Бид Оффер" или "Стакан..." стакан и бид/аски появятся через значительное время (10-15 секунд), тогда как в 4.1.19 почти мгновенно.

Это основные проблемы которые я нарыл и они очень ощутимы.

PS: SmartCom 3.0, API держу все начиная с 4.1.19, могу проверять в любом, могу разнести на разные сервера, могу на разных ОС. Спасибо за ваш проект, мне он нравится, постараюсь способствовать в бета-тестинге на Смарткоме.

Mikhail Sukhov
Mikhail Sukhov

alexan3010: Это основные проблемы которые я нарыл и они очень ощутимы.

Вы написали, что у вас все примеры не работают. Примеры SampleSmart работает?

alexan3010
alexan3010

Я же во втором пункте написал про SampleSmart. Не могу сказать, что он совсем не работает. Просто работает не так, как в 4.1.19, высказал свои предположения. Очень не удобно что-то дебагить, когда каждый запуск программы проходит по полминуты, тогда как в 4.1.19 было гораздо быстрее.

Mikhail Sukhov
Mikhail Sukhov

alexan3010: каждый запуск программы проходит по полминуты

SampleSmart запускается пол минуты?

alexan3010
alexan3010

Михаил, я не знаю как мне еще более подробно описать проблему, которую я дважды описал в этом топике, а также в отдельном тут: http://stocksharp.com/forum/4201/S--4-2-1-3-dolgho-otklikaietsia--NewSecurity/

SampleSmart запускается нормально. Но после нажатия кнопок "Бид Оффер" или "Стакан..." результаты выводятся в разы дольше, чем в 4.1.19. И не только в SampleSmart, и в своих программах, в SampleSmartCandle в тот момент, когда запускается RegisterSecurity, RegisterTrades или подписка на свечи - все происходит очень долго.

Я же говорю, просто на примере SampleSmart - нажмите "Стакан" в 4.2.1.3 и в 4.1.19 (и в соответствующих версиям примерах SampleSmart) - и посмотрите время появления этих данных в разных версиях API.

Опять же, я не говорю что это критическая ошибка, просто по сравнению с 4.1.19 выглядит странно. Я просто хотел ваших комментариев, возможно, в связи с последними изменениями это поведение системы нормальное. Но есть сомнения.

Mikhail Sukhov
Mikhail Sukhov

alexan3010: Но после нажатия кнопок "Бид Оффер" или "Стакан..." результаты выводятся в разы дольше, чем в 4.1.19.

Это поправили. Кроме свечек, еще какие-то ошибки есть?

alexan3010
alexan3010

Спасибо! Ну вот основное было это и отсутствующий процессинг свечек, больше ничего не заметил. Когда примерно ожидать следующий релиз?