Уже не работает удаление колонок


Уже не работает удаление колонок
Atom
5/14/2010


Здравствуйте, Михаил.
В братской Украине где нет фьючерсов с новой версией S# проблемы.
У нас в квике нет колонки DdeSecurityColumns.LastChangeTime, в версии
S# 1.7
Спасало такое

//создаем шлюз
this.Trader = new QuikTrader(this.Path.Text);
Trader.SecuritiesTable.Columns.Remove(DdeSecurityColumns.LastChangeTime);

В версии 2.0 пробую
// создаем шлюз
this.Trader = new QuikTrader(this.Path.Text);
this.Trader.Connect();
Trader.SecuritiesTable.Columns.Remove(DdeSecurityColumns.LastChangeTime);

не помогает. Подскажите плз, что делать.

--
С уважением,

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 5/14/2010
Reply


А что пишет?

Thanks:

Trading Tickers

Avatar
Date: 5/14/2010
Reply


А ничего не пишет, просто не выводит таблицу Инструментов и все.

--
С уважением,
Thanks:

Mikhail Sukhov

Avatar
Date: 5/14/2010
Reply


Ок, а что пишет ITrader.ProcessDataError?

Thanks:

Trading Tickers

Avatar
Date: 5/14/2010
Reply


ProcessDataError выдает две ошибки

http://dc257.file.qip.ru/download/128856347/71c452ee/_2__untitled2.JPG?tsid=20100514-022027-90526834


На место LasDateTime я поставил ISIN код бумаги, как и раньше в версии
1.7
Вот код:

// создаем шлюз
this.Trader = new QuikTrader(this.Path.Text);
this.Trader.ProcessDataError += error =>
this.Sync(() => MessageBox.Show(this, error.ToString()));

this.Trader.SecuritiesTable.Columns.Remove(DdeSecurityColumns.LastChangeTie);
this.Trader.Connect();

// возводим флаг, что соединение установлено
_isConnected = true;

// создаем менеджер переподключения
_reConnectionManager = new ReConnectionManager(this.Trader);
_reConnectionManager.ConnectionRestored += () => this.Sync(() =>
MessageBox.Show(this, "Соединение восстановлено"));

this.Trader.ConnectionError += error => this.Sync(() =>
MessageBox.Show(this, error.ToString()));

this.Trader.NewSecurities += securities => this.Sync(() =>
_securitiesWindow.Securities.AddRange(securities));
this.Trader.NewMyTrades += trades => this.Sync(() =>
_myTradesWindow.Trades.AddRange(trades));
this.Trader.NewTrades += trades => this.Sync(() =>
_tradesWindow.Trades.AddRange(trades));
this.Trader.NewOrders += orders => this.Sync(() =>
_ordersWindow.Orders.AddRange(orders));
this.Trader.NewStopOrders += orders => this.Sync(() =>
_stopOrderWindow.Orders.AddRange(orders));

Thanks:

Mikhail Sukhov

Avatar
Date: 5/14/2010
Reply


Колонки необходимо заменять эквивалентными значения. Так Вы меняете
DateTime на string. А если просто удалить LastChangeTime (без замены
чем-то), то какая ошибка?

Thanks:

Mikhail Sukhov

Avatar
Date: 5/15/2010
Reply


Дополнительно, при переходе с 1.7 на 1.8 изменился формат ДДЕ. Может
быть проблема вовсе не в колонке со временем последнего изменения. Тем
более что без нее должно работать.

Thanks:

Trading Tickers

Avatar
Date: 5/19/2010
Reply


Михаил, попробовал удалить LastChangeTime без замены колонки. Вывод
инструментов заработал. Но вначале все равно выскакивает ошибка
"Невозможно для колонки transactionID привести значение к типу Int64"
На картинке это первое сообщение.

http://dc257.file.qip.ru/download/128856347/71c452ee/_2__untitled2.JPG?tsid=20100518-130055-a98830e7


Я так понимаю это уже ваша какая-то внутренняя ошибка, т.к. колонка
TransactionID в инструментах не настраивается?
Thanks:

Mikhail Sukhov

Avatar
Date: 5/19/2010
Reply


Ctrl+Ins работает на диалоговых окнах.

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

Thanks:


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

loading
clippy