← Voltar

SampleConsole проблема [QUIK]

Почему не генерися событие NewSecurities ?

trader.NewSecurities += securities => { Console.WriteLine("NewSecurities");

output:<пусто>

Хотя настроено в таблице wrapper(сервер) и security(книга). Таблица не пуста.

Este tópico foi útil?

Compartilhar tópico

Comentários (7)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

Mikhail Sukhov
Mikhail Sukhov

Скорее всего, проблема обычная - в правильности настройки таблицы. Все как в руководстве настроено? trader.ProcessDataError что нибудь выводит?

takanaev
takanaev Autor

Точно. Одно поле не в том порядке записал. Спасибо!

takanaev
takanaev Autor

А вот ещё вопрос по логике. Почему у меня срабатывает trader.SecuritiesChanged, но trader.NewSecurities - нет?

takanaev
takanaev Autor

При этом SecurittiesChanged вываливает ошибку

в Ecng.Trading.Quik.QuikTrader(Object ☻, DdeTableColumn ♥) в Ecng.Trading.Quik.QuikTrader.☻(Func2 ☻, DdeTableColumn ♥) в Ecng.Trading.Quik.QuikTrader?.☻(Func2 ☻) в Ecng.Trading.Quik.DdeTable.☻(IList1 ☻, Action1 ♥) в Ecng.Trading.Quik.QuikTrader.☻(String ☻, IList1 ♥) в Ecng.Common.DelegateHelper.SafeInvoke[T1,T2](Action2 handler, T1 arg1, T2 arg2) в.♥() trader.SecurityChanged SIBN System.ArgumentException: Невозможно для колонки LastTradeVolume привести значен ие '' к типу Int32. Имя параметра: value ---> System.FormatException: Входная строка имела неверный формат. в System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer & number, NumberFormatInfo info, Boolean parseDecimal) в System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo inf o) в System.String.System.IConvertible.ToInt32(IFormatProvider provider) в System.Convert.ChangeType(Object value, Type conversionType, IFormatProvide r provider) в Ecng.Common.Converter.To(Object value, Type destinationType) в Ecng.Common.Converter.To(Object value) в Ecng.Trading.Quik.QuikTrader(Object ☻, DdeTableColumn ♥) --- Конец трассировки внутреннего стека исключений --- в Ecng.Trading.Quik.QuikTrader(Object ☻, DdeTableColumn ♥) в Ecng.Trading.Quik.QuikTrader.☻(Func2 ☻, DdeTableColumn ♥) в Ecng.Trading.Quik.QuikTrader?.☻(Func2 ☻) в Ecng.Trading.Quik.DdeTable.☻(IList1 ☻, Action1 ♥) в Ecng.Trading.Quik.QuikTrader.☻(String ☻, IList1 ♥) в Ecng.Common.DelegateHelper.SafeInvoke[T1,T2](Action2 handler, T1 arg1, T2 arg2) в.♥() System.ArgumentException: Невозможно для колонки LastTradeVolume привести значен ие '' к типу Int32. Имя параметра: value ---> System.FormatException: Входная строка имела неверный формат. в System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer & number, NumberFormatInfo info, Boolean parseDecimal) в System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo inf o) в System.String.System.IConvertible.ToInt32(IFormatProvider provider) в System.Convert.ChangeType(Object value, Type conversionType, IFormatProvide r provider) в Ecng.Common.Converter.To(Object value, Type destinationType) в Ecng.Common.Converter.To(Object value) в Ecng.Trading.Quik.QuikTrader(Object ☻, DdeTableColumn ♥) --- Конец трассировки внутреннего стека исключений ---

Mikhail Sukhov
Mikhail Sukhov

Так, а что за инструмент, у которого последняя сделка отсутствует?

takanaev
takanaev Autor

Я даже не знаю как отловить какой это инструмент? В примере просто выбрал все доступные инструменты. Или порядок инструментов в таблице "Инструменты" совпадает с порядком полученных строк DDE?

Mikhail Sukhov
Mikhail Sukhov

Я имел ввиду визуально посмотреть на такой инструмент в Квике. Например, заметить, что у определенного инструмента отсутствует объем последней сделки. Ну и дальше уже обсудить - где ошибка.