← 戻る

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

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

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

output:<пусто>

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

このトピックは参考になりましたか?

トピックを共有

コメント (7)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

Mikhail Sukhov
Mikhail Sukhov

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

takanaev
takanaev 著者

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

takanaev
takanaev 著者

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

takanaev
takanaev 著者

При этом 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 著者

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

Mikhail Sukhov
Mikhail Sukhov

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