S#

Нет информации о главном окне Quik. Возможно, было неуспешное подключение.


Нет информации о главном окне Quik. Возможно, было неуспешное подключение.
Atom Ответить
08.06.2010


В чем может быть причина сообщения об ошибке?
Квик запущен, путь к нему прописан.

Теги:


Спасибо:




33 Ответов
1 2  >
Mikhail Sukhov

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


Запускать экспорт нужно только после событие Connected.

Спасибо:

sergun

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


Это событие не наступает.

Автор топика
Спасибо:

Mikhail Sukhov

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


Пример Sample пробовали? Там как раз по такому сценарию. Он работает?
Значит наступает.

Спасибо:

sergun

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


Разумеется, правда SampleConsole.
При запуске примера также не наступает событие Connected.

При этом никакие эксепшены или ошибочные события не появляются..

Что может влиять? Версия квик 5.16.0.145

Автор топика
Спасибо:

Mikhail Sukhov

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


А Квик вообще запущен? Подключен к торгам?

Спасибо:

sergun

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


Да, квик запущен. К торгам подключен.

Автор топика
Спасибо:

Mikhail Sukhov

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


А если запустить Sample? Я консоль не проверял.

Спасибо:

sergun

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


А вот Sample работает.

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

Что-нибудь посоветуете?

Автор топика
Спасибо:

Mikhail Sukhov

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


QuikTrader не зависит от консоли или WPF - ему без разницы.

Спасибо:

ddd888

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


Кстати, у меня аналогичная проблема - Sample нормально работает, а
SampleConsole - нет. StartDde() дает такую же ошибку, а
StartDde(string или array) - "нет ссылки на объект". Может это связано
с изменением логики работы метода StartDde? Раньше в 1.8 таких
проблем не было. Можно увидеть код этого метода?

Спасибо:

Mikhail Sukhov

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


Нет ссылки на объект - приведите полный текст.

Спасибо:

ddd888

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


SystemNullReferenceException: В экземпляре объекта не задана ссылка на
объект.
Далее указание на строку:
trader.StartDde(new[] { trader.SecuritiesTable,
trader.MyTradesTable });

Спасибо:

Mikhail Sukhov

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


это скорее всего то, что trader null. Это уж совсем не зависит от
события Connected =)

Спасибо:

ddd888

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


Так почему же он null? Это в Вашем же примере в Sample Console
происходит!
Кстати, а когда именно возникает событие Connected?

Спасибо:

Mikhail Sukhov

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


Если это мой пример, то тогда надо посмотреть в чем бага.

Событие Connected вызывается сразу после соединения с Квиком.

Спасибо:

ddd888

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


Под "соединением" имеется ввиду соединение через Trans2quik или
подключение через DDE?

Спасибо:

Mikhail Sukhov

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


Первое.

Спасибо:

Mikhail Sukhov

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


Взглянул на пример. Оформлен неправильно. Дде стартует до того, как
было произведено подключение. Вы это учитываете?

Спасибо:

ddd888

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


Нет, в примере, я ничего от себя не добавлял.
Т.е. StartDde надо тоже "засунуть" под событие Connected?

Спасибо:

ddd888

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


Еще такой вопрос. Если добавлять какие-нибудь манипуляции со стаканом
(Quotes), типа Max(t=t>t.Price), то иногда в этом месте возникает
исключение "последовательность не содержит элементов". Пробовал
поставить тест на null или Count=0, но исключение все равно
появляется. Из-за чего это происходит и как этого избежать?

Спасибо:

Mikhail Sukhov

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


Из-за того, что стакан еще пуст.

Спасибо:

ddd888

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


Но тогда должна работать проверка на null? Еще раз проверил
аналогичную ситуацию на 1.8 - там такая ошибка обычно иногда возникает
при первичном запуске стакана, но раз запустившись потом никогда не
появляется. В 2.0.1 она возникает периодически уже при открытом
стакане. У меня GetMarketDepth изменилась логика?

Спасибо:

Mikhail Sukhov

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


Периодически - это как? По таймеру? Или пользователь что-то кликает?
Или в стратегии?

Спасибо:

ddd888

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


Обновление стакана у меня происходит по событию
GetMarketDepth(this.Security).Changed
Вот во время периодического обновления иногда и выскакивает эта
ошибка.

+ опять-таки иногда при инициализации стакана выскакивает ошибка
"последовательность не содержит соответствующего элемента". В отладке
при этом this.Security - вроде вполне нормально загруженный.

Спасибо:

ddd888

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


Заметил такую особенность - пока все сделки до конца не подгрузились в
S#, при открытии стакана GetMarketDepth может вызывать ошибку
("последовательность не содержит элементов"). А RegisterQuotes -
"последовательность не содержит соответствующего элемента".

Спасибо:
1 2  >

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

loading
clippy