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


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

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

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


Теги:


Спасибо:




12 Ответов
alexan3010

Фотография
Дата: 12.12.2013
Ответить


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

pro_to

Фотография
Дата: 13.12.2013
Ответить


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

Фотография
Дата: 13.12.2013
Ответить


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 14.12.2013
Ответить


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


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 14.12.2013
Ответить


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


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

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

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


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

alexan3010

Фотография
Дата: 14.12.2013
Ответить


Михаил, спасибо за ответ.
По пунктам по 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

Фотография
Автор статей Программист Трейдер
Дата: 14.12.2013
Ответить


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


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

alexan3010

Фотография
Дата: 14.12.2013
Ответить


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 14.12.2013
Ответить


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


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

alexan3010

Фотография
Дата: 14.12.2013
Ответить


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

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

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

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 15.12.2013
Ответить


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


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

alexan3010

Фотография
Дата: 15.12.2013
Ответить


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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy