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

Ошибка: Нет лучшего бида для котировки.
Atom
12/11/2013
pro_to


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

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

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


Tags:


Thanks:


1 2  >
alexan3010

Avatar
Date: 12/12/2013
Reply


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

pro_to

Avatar
Date: 12/13/2013
Reply


Использую смартком 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 идет.

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

Thanks:

alexan3010

Avatar
Date: 12/13/2013
Reply


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

Mikhail Sukhov

Avatar
Date: 12/14/2013
Reply


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


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

Mikhail Sukhov

Avatar
Date: 12/14/2013
Reply


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


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

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

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


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

alexan3010

Avatar
Date: 12/14/2013
Reply


Михаил, спасибо за ответ.
По пунктам по 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, могу проверять в любом, могу разнести на разные сервера, могу на разных ОС. Спасибо за ваш проект, мне он нравится, постараюсь способствовать в бета-тестинге на Смарткоме.
Thanks:

Mikhail Sukhov

Avatar
Date: 12/14/2013
Reply


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


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

alexan3010

Avatar
Date: 12/14/2013
Reply


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

Mikhail Sukhov

Avatar
Date: 12/14/2013
Reply


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


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

alexan3010

Avatar
Date: 12/14/2013
Reply


Михаил, я не знаю как мне еще более подробно описать проблему, которую я дважды описал в этом топике, а также в отдельном тут: http://stocksharp.com/fo...ikaietsia--NewSecurity/

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

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

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

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

loading
clippy