Уже не работает удаление колонок
Atom
14.05.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);

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

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

Теги:


Спасибо:


Mikhail Sukhov

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


А что пишет?

Спасибо:

Trading Tickers

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


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

--
С уважением,
Спасибо:

Mikhail Sukhov

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


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

Спасибо:

Trading Tickers

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


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));

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

Trading Tickers

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


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

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


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

Mikhail Sukhov

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


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

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

Спасибо:


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

loading
clippy