﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Экспорт дополнительных колонок</title>
  <id>~/topic/3678/ehksport-dopolnitelnyh-kolonok/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-21T11:44:13Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3678" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/25858/</id>
    <title type="text">Moadip: Так должно работать: ((QuikTrader)_safeConnection.Trader).SecuritiesTable.Columns.Add(DdeSec...</title>
    <published>2013-05-09T06:22:35Z</published>
    <updated>2013-05-09T06:26:01Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(25857)" rel="nofollow" target="_blank"&gt;Moadip&lt;/a&gt;:&lt;/strong&gt;
Так должно работать:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;((QuikTrader)_safeConnection.Trader).SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
((QuikTrader)_safeConnection.Trader).SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Работает! Ёлы-палы, благодарю [biggrin] 
С праздником Победы! [biggrin]
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25857/</id>
    <title type="text">ConnectionInterface.SafeConnection = new SafeConnection(new QuikTrader(QuikTerminal.GetDefaultPath()...</title>
    <published>2013-05-08T17:46:45Z</published>
    <updated>2013-05-08T17:46:45Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;pre&gt;&lt;code class="language-csharp"&gt;ConnectionInterface.SafeConnection = new SafeConnection(new QuikTrader(QuikTerminal.GetDefaultPath()));
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Конструктор &lt;strong&gt;SafeConnection&lt;/strong&gt; какого типа принимает параметр?
Не думаю что он заточен только под &lt;strong&gt;QuikTrader&lt;/strong&gt;, поэтому или &lt;strong&gt;ITrader&lt;/strong&gt; или &lt;strong&gt;BaseTrader&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Соответственно _safeConnection.Trader будет или &lt;strong&gt;ITrader&lt;/strong&gt; или &lt;strong&gt;BaseTrader&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SecuritiesTable&lt;/strong&gt; есть только у &lt;strong&gt;QuikTrader&lt;/strong&gt;, поэтому студия и матерится, что не может найти это свойство у _safeConnection.Trader.
Надо привести _safeConnection.Trader к соответствующему типу.
Так должно работать:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
((QuikTrader)_safeConnection.Trader).SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
((QuikTrader)_safeConnection.Trader).SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Доп. столбцы можно добавлять хоть где, главное до коннекта и начала экспорта данных.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25856/</id>
    <title type="text">IvanB: UsilaDobry, вышлите (iv_qul@list.ru) Ваш проект, с кодом импорта дополнительных столбцов. И у...</title>
    <published>2013-05-08T17:15:24Z</published>
    <updated>2013-05-08T17:16:56Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(25855)" rel="nofollow" target="_blank"&gt;IvanB&lt;/a&gt;:&lt;/strong&gt;
&lt;strong&gt;UsilaDobry&lt;/strong&gt;, вышлите (iv_qul@list.ru) Ваш проект, с кодом импорта дополнительных столбцов. И укажите, какой столбец Вы добавили в Quik.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Мой проект будет бесполезен, ведь я вношу код ниже&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;_safeConnection.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
_safeConnection.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;в класс библиотеки StockSharp.WpfConnectionInterface. См. код выше в посте в нижнем спойлере.&lt;/p&gt;
&lt;p&gt;А в Quik я добавил две колонки &amp;quot;Максимальная цена&amp;quot; и &amp;quot;Минимальная цена&amp;quot;.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25852/</id>
    <title type="text">IvanB: UsilaDobry: Вопрос по экспорту дополнительных колонок. ... Об экспорте дополнительных колонок...</title>
    <published>2013-05-08T11:09:18Z</published>
    <updated>2013-05-08T17:03:49Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(25849)" rel="nofollow" target="_blank"&gt;IvanB&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(25848)" rel="nofollow" target="_blank"&gt;UsilaDobry&lt;/a&gt;:&lt;/strong&gt;
Вопрос по экспорту дополнительных колонок.
...
Об экспорте дополнительных колонок из Quik написано в документации &lt;a href="http://stocksharp.com/doc/html/4261879e-9bb3-482c-9fc5-27ecb07bdf5e.htm"&gt;http://stocksharp.com/doc/html/4261879e-9bb3-482c-9fc5-27ecb07bdf5e.htm&lt;/a&gt; , есть демонстрационный проект, который называется SampleDdeExtendedInfo.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я читаю документацию, но к моему сожалению, не всё там понятно...
Например, в документации сказано:
&amp;quot;Через QuikTrader.SecuritiesTable добавляются требуемые колонки в том порядке, в которым они были добавлены в Quik:
// добавляем на экспорт необходимые колонки
this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.Volatility);
this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.TheorPrice);&amp;quot;&lt;/p&gt;
&lt;p&gt;А в указанном Вами примере, данный код внедрен в обработчик события кнопки Connect.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;	:::spoiler
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;private void ConnectClick(object sender, RoutedEventArgs e)
		{
			if (!_isConnected)
			{
				if (Path.Text.IsEmpty())
					MessageBox.Show(this, &amp;quot;Путь к Quik не выбран&amp;quot;);
				else
				{
					if (Trader == null)
					{
						// создаем шлюз
						Trader = new QuikTrader(Path.Text);

						// возводим флаг, что соединение установлено
						_isConnected = true;

						// подписываемся на событие ошибки соединения
						Trader.ConnectionError += error =&amp;gt; this.GuiAsync(() =&amp;gt; MessageBox.Show(this, error.ToString()));

						Trader.NewSecurities += securities =&amp;gt; this.GuiAsync(() =&amp;gt; _securitiesWindow.Securities.AddRange(securities));

						Trader.ProcessDataError += error =&amp;gt; System.Diagnostics.Debug.WriteLine(error);

						// добавляем на экспорт необходимые колонки
						Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.ImpliedVolatility);
						Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.TheorPrice);
						Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.UnderlyingSecurity);
						Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinStepPrice);

						// добавляем экспорт дополнительных колонок из стакана (своя продажа и покупка)
						Trader.QuotesTable.Columns.Add(DdeQuoteColumns.OwnAskVolume);
						Trader.QuotesTable.Columns.Add(DdeQuoteColumns.OwnBidVolume);

						Trader.Connected += () =&amp;gt; this.GuiAsync(() =&amp;gt;
						{
							ShowSecurities.IsEnabled = true;
							ExportDde.IsEnabled = true;

							_isConnected = true;
							ConnectBtn.Content = &amp;quot;Отключиться&amp;quot;;
						});

						Trader.Disconnected += () =&amp;gt; this.GuiAsync(() =&amp;gt;
						{
							_isConnected = false;
							ConnectBtn.Content = &amp;quot;Подключиться&amp;quot;;
						});
					}
					
					Trader.Connect();
				}
			}
			else
				Trader.Disconnect();
		}

&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;&lt;p&gt;Из чего я делаю вывод, что в библиотеке StockSharp.WpfConnectionInterface, в обработчике события кнопки Сonnect необходимо добавить этот код, но здесь ошибка, SecuritiesTable не существует у Trader. Поэтому и задаю вопрос...&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;private void ConnectClick(object sender, RoutedEventArgs e)
        {
            if (_safeConnection == null)
                return;

            if (_safeConnection.IsConnected)
            {
                BtnConnect.Content = &amp;quot;Подключиться&amp;quot;;
                BtnConnect.IsEnabled = false;
                
                //Отписаться от события появления новых инструментов
                _safeConnection.Trader.NewSecurities -= Trader_NewSecurities;
                //Отписаться от события появления новых портфелей
                _safeConnection.Trader.NewPortfolios -= Trader_NewPortfolios;

                //Объявляем действие, которое нужно выполнить при отключении от торговой платформы
                Action disconnected = null;
                disconnected = () =&amp;gt;
                    {
                        _safeConnection.Trader.Disconnected -= disconnected;
                        this.GuiAsync(() =&amp;gt;
                            {
                                BtnConnect.IsEnabled = true;
                            });
                    };
                _safeConnection.Trader.Disconnected += disconnected;
                
                //Разорвать соединение
                _safeConnection.DisConnectSafe();
            }
            else
            {
                BtnConnect.Content = &amp;quot;Отключиться&amp;quot;;
                //BtnConnect.IsEnabled = false;

                //Подписаться на событие появления новых инструментов
                _safeConnection.Trader.NewSecurities += Trader_NewSecurities;
                //Подписаться на событие появления новых портфелей
                _safeConnection.Trader.NewPortfolios += Trader_NewPortfolios;

                // Добавляем экспорт дополнительных колонок в таблицу
                _safeConnection.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
                _safeConnection.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);

                //Объявляем действие, которое нужно выполнить при подключении к торговой платформе
                Action connected = null;
                connected = () =&amp;gt;
                {
                    _safeConnection.Trader.Connected -= connected;
                    this.GuiAsync(() =&amp;gt; { BtnConnect.IsEnabled = true; });
                };
                _safeConnection.Trader.Connected += connected;

                //Подключиться безопасно
                _safeConnection.ConnectSafe();
            }
        }                
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25855/</id>
    <title type="text">UsilaDobry, вышлите (iv_qul@list.ru) Ваш проект, с кодом импорта дополнительных столбцов. И укажите,...</title>
    <published>2013-05-08T16:53:52Z</published>
    <updated>2013-05-08T16:53:52Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;&lt;strong&gt;UsilaDobry&lt;/strong&gt;, вышлите (iv_qul@list.ru) Ваш проект, с кодом импорта дополнительных столбцов. И укажите, какой столбец Вы добавили в Quik.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25849/</id>
    <title type="text">UsilaDobry: Вопрос по экспорту дополнительных колонок. ... Об экспорте дополнительных колонок из Qui...</title>
    <published>2013-05-08T09:42:08Z</published>
    <updated>2013-05-08T09:42:40Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(25848)" rel="nofollow" target="_blank"&gt;UsilaDobry&lt;/a&gt;:&lt;/strong&gt;
Вопрос по экспорту дополнительных колонок.
...
Об экспорте дополнительных колонок из Quik написано в документации &lt;a href="http://stocksharp.com/doc/html/4261879e-9bb3-482c-9fc5-27ecb07bdf5e.htm"&gt;http://stocksharp.com/doc/html/4261879e-9bb3-482c-9fc5-27ecb07bdf5e.htm&lt;/a&gt; , есть демонстрационный проект, который называется SampleDdeExtendedInfo.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25848/</id>
    <title type="text">Вопрос по экспорту дополнительных колонок. Сейчас у меня в настройках таблицы Инструменты в Quik име...</title>
    <published>2013-05-08T07:53:20Z</published>
    <updated>2013-05-08T08:12:06Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Вопрос по экспорту дополнительных колонок.
Сейчас у меня в настройках таблицы Инструменты в Quik имеются следующие колонки&lt;/p&gt;
&lt;p&gt;Полное название
Код бумаги
Код класса
Статус
Размер лота
Мин. шаг цены
Макс. цена
Мин. цена&lt;/p&gt;
&lt;p&gt;В окне пользователя я создал таблицу и сделал привязки&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&amp;lt;ListView x:Name=&amp;quot;TabMyTools&amp;quot; Height=&amp;quot;100&amp;quot; Margin=&amp;quot;5,27,10,0&amp;quot; VerticalAlignment=&amp;quot;Top&amp;quot; Width=&amp;quot;Auto&amp;quot; Background=&amp;quot;#FFF58B8B&amp;quot;&amp;gt;
                    &amp;lt;ListView.View&amp;gt;
                        &amp;lt;GridView&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Название&amp;quot; Width=&amp;quot;160&amp;quot; DisplayMemberBinding=&amp;quot;{Binding Name}&amp;quot;/&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Код&amp;quot; Width=&amp;quot;80&amp;quot; DisplayMemberBinding=&amp;quot;{Binding Code}&amp;quot;/&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Класс&amp;quot; Width=&amp;quot;80&amp;quot; DisplayMemberBinding=&amp;quot;{Binding Class}&amp;quot;/&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Последняя сделка&amp;quot; Width=&amp;quot;130&amp;quot; DisplayMemberBinding=&amp;quot;{Binding LastTrade.Time, FallbackValue=NULL}&amp;quot;/&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Посл. цена&amp;quot; Width=&amp;quot;100&amp;quot; DisplayMemberBinding=&amp;quot;{Binding LastTrade.Price, FallbackValue=NULL}&amp;quot;/&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Лот&amp;quot; Width=&amp;quot;80&amp;quot; DisplayMemberBinding=&amp;quot;{Binding MinLotSize}&amp;quot;/&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Шаг&amp;quot; Width=&amp;quot;60&amp;quot; DisplayMemberBinding=&amp;quot;{Binding MinStepSize}&amp;quot;/&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Максимальная цена&amp;quot; Width=&amp;quot;120&amp;quot; DisplayMemberBinding=&amp;quot;{Binding MaxPrice}&amp;quot;/&amp;gt;
                            &amp;lt;GridViewColumn Header=&amp;quot;Минимальная цена&amp;quot; Width=&amp;quot;120&amp;quot; DisplayMemberBinding=&amp;quot;{Binding MinPrice}&amp;quot;/&amp;gt;
                        &amp;lt;/GridView&amp;gt;
                    &amp;lt;/ListView.View&amp;gt;
                &amp;lt;/ListView&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Почему поля &amp;quot;последняя сделка&amp;quot;,&amp;quot;последняя цена&amp;quot; по инструменту выводятся корректно, при этом в таблице Quik этих полей нет?
При этом поле MaxPrice показывает набор цифр, поле MinPrice показывает значения поля MinStepSize, но они есть в Quik?
Я так понимаю надо прописать экспорт дополнительных колонок?&lt;/p&gt;
&lt;p&gt;Этот код прописываем в библиотечном коннекторе WpfConnectionIntarface в виде&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;SafeConnection.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
SafeConnection.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;или можно прямо в основном коде проекта после выбора Quik?&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;ConnectionInterface.SafeConnection = new SafeConnection(new QuikTrader(QuikTerminal.GetDefaultPath()));
ConnectionInterface.SafeConnection.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
ConnectionInterface.SafeConnection.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Или же вообще данный код надо прописать в SafeConnection в виде&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Куда бы я не вносил этот код, везде ошибка Не определены SecuritiesTable и DdeSecurityColumns///&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>