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

Экспорт стандатрных и custom таблиц одновременно
Atom
12/24/2010
a.dobryn


как экспортировать одновременно и 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));


Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 12/24/2010
Reply


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

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

Thanks:

a.dobryn

Avatar
Date: 12/24/2010
Reply


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

Thanks:

a.dobryn

Avatar
Date: 12/27/2010
Reply


вот функция нажатия на кнопку "подключиться"

 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 = "Подключиться";
            }
        }
Thanks:

a.dobryn

Avatar
Date: 12/27/2010
Reply


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

Thanks:


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

loading
clippy