Экспорт стандатрных и custom таблиц одновременно
Atom Ответить
24.12.2010


как экспортировать одновременно и CustomPortfolio и обычные таблицы? у меня в итоге выходит, что с CustomPortfolio все в порядке, а по остальным таблицам нет данных.

Код

this.Trader.AddCustomTableMapping(typeof(CustomPortfolio));

this.Trader.ProcessCustomTables += (type, objects) =>
{
// нас интересует только CustomPortfolio
if (type == typeof(CustomPortfolio))
_portfolioWindow.Portfolios.AddRange(objects.Cast<CustomPortfolio>());

};

this.Trader.NewSecurities += securities => this.GuiAsync(() => _securitiesWindow.Securities.AddRange(securities));

Теги:


Спасибо:




4 Ответов
Mikhail Sukhov

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


D_Alex
как экспортировать одновременно и CustomPortfolio и обычные таблицы? у меня в итоге выходит, что с CustomPortfolio все в порядке, а по остальным таблицам нет данных.


Видимо таблицы неправильно настроены. Посмотрите ITrader.ProcessDataError. Verifier прогоните.
Спасибо:

a.dobryn

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


нет, я проверяла отдельно прямо в примере, там все работало, так что с настройкой таблиц должно быть все в порядке =) Потом попробовала совместить со своим - и получилось так.
Автор топика
Спасибо:

a.dobryn

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


вот функция нажатия на кнопку "подключиться"
Код
private void Connect_Click(object sender, RoutedEventArgs e)
{
if (!_isConnected)
{
if (this.Path.Text.IsEmpty())
MessageBox.Show(this, "Путь к Quik не выбран");
else
{
if (this.Trader == null)
{
// создаем шлюз
this.Trader = new QuikTrader(this.Path.Text);

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

// инициализируем механизм переподключения
this.Trader.ReConnectionSettings.ConnectionRestored += () => this.GuiAsync(() => MessageBox.Show(this, "Соединение восстановлено"));

this.Portfolios.Trader = this.Trader;

// подписываемся на событие ошибки соединения
this.Trader.ConnectionError += error => this.GuiAsync(() => MessageBox.Show(this, error.ToString()));
this.Trader.ProcessDataError += error => this.GuiAsync(() => MessageBox.Show(this, error.ToString()));


// добавляем тип CustomPortfolio для преобразования строчки из таблицы Портфель [Страйки] в объект CustomPortfolio
this.Trader.AddCustomTableMapping(typeof(CustomPortfolio));

this.Trader.ProcessCustomTables += (type, objects) =>
{

if (type == typeof(CustomPortfolio))
_portfolioWindow.Portfolios.AddRange(objects.Cast<CustomPortfolio>());

};

this.Trader.NewSecurities += securities => this.GuiAsync(() => _securitiesWindow.Securities.AddRange(securities));
this.Trader.NewMyTrades += trades => this.GuiAsync(() => _myTradesWindow.Trades.AddRange(trades));
this.Trader.NewTrades += trades => this.GuiAsync(() => _tradesWindow.Trades.AddRange(trades));
this.Trader.NewOrders += orders => this.GuiAsync(() => _ordersWindow.Orders.AddRange(orders));
this.Trader.NewStopOrders += orders => this.GuiAsync(() => _stopOrderWindow.Orders.AddRange(orders));
this.Trader.NewPositions += positions => this.GuiAsync(() => _positionsWindow.Positions.AddRange(positions));
this.Trader.ProcessDataError += ex => System.Diagnostics.Debug.WriteLine(ex);
this.Trader.Connected += () => this.GuiAsync(() => this.ExportDde.IsEnabled = true);



}

this.Trader.Connect();


_isConnected = true;
this.ConnectBtn.Content = "Отключиться";
}
}
else
{
this.Trader.Disconnect();

_isConnected = false;
this.ConnectBtn.Content = "Подключиться";
}
}
Автор топика
Спасибо:

a.dobryn

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


все, нашла ошибку, у меня было не this.Trader.StartExport(), а был экспорт конкретной таблицы.
Автор топика
Спасибо:


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

loading
clippy