﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Гуи клиент на WPF. Для тех, кто не занят.</title>
  <id>~/topic/1339/gui-klient-na-wpf_-dlya-teh-kto-ne-zanyat_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-15T07:47:35Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1339" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/6670/</id>
    <title type="text">Mikhail Sukhov: Хм, а почему PlazaTable не использовать и для того, и для другого? С помощью PlazaTa...</title>
    <published>2011-03-14T12:45:03Z</published>
    <updated>2016-08-15T23:57:14Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6664)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Хм, а почему PlazaTable не использовать и для того, и для другого?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;С помощью PlazaTable я собираюсь описать все таблицы в потоках плазы папки (см. содержимое C:\Program Files (x86)\P2FORTSGate\Scheme ).  Мы ведь не собираемся перегонять в стандартные объекты все таблицы?  А если использовать только твою сигнатуру, клиент сможет запрашивать данные не только из основных таблиц (opt_vcb и т.д.), но и всякую эзотерику.  Кроме того таблицы стаканов - тоже будут описаны при помощи PlazaTable.&lt;/p&gt;
&lt;p&gt;Кстати, твой метод правильнее будет объявляться вот так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public void StartListeners(params PlazaColumnList[] tables)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;PlazaTable знает только название таблицы в потоке, название схемы и название самого потока.  С помощью PlazaColumnList я буду создавать схемы (ini-файлы).  Вчера &lt;a href="http://stocksharp.com/posts/m/6635/"&gt;я хотел это делать с помощью PlazaColumnSet&lt;/a&gt;.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6664/</id>
    <title type="text">aspirant: Утром вспомнил, почему решил подключаться к потокам через перечисление PlazaMarketData. Хо...</title>
    <published>2011-03-14T10:38:37Z</published>
    <updated>2016-08-15T23:57:14Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6662)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;
Утром вспомнил, почему решил подключаться к потокам через перечисление PlazaMarketData.  Хочу предложить два варианта подключения через PlazaTrader:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Подключение к стандартным стримам, данные которых будут &lt;a href="http://stocksharp.com/posts/m/6488/"&gt;перегоняться в стандартные объекты&lt;/a&gt;.  Здесь используется метод с моей сигнатурой, чтобы контроллировать, какие потоки запрашиваются с сервера.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Подключение к любым потокам с настраиваемым набором колонок. Здесь используется твоя сигнатура.  Данные будут выдаваться клиенту в &amp;quot;сыром формате&amp;quot;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Хм, а почему PlazaTable не использовать и для того, и для другого?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6662/</id>
    <title type="text">Утром вспомнил, почему решил подключаться к потокам через перечисление PlazaMarketData. Хочу предлож...</title>
    <published>2011-03-14T10:36:52Z</published>
    <updated>2016-08-15T23:57:14Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Утром вспомнил, почему решил подключаться к потокам через перечисление PlazaMarketData.  Хочу предложить два варианта подключения через PlazaTrader:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Подключение к стандартным стримам, данные которых будут &lt;a href="http://stocksharp.com/posts/m/6488/"&gt;перегоняться в стандартные объекты&lt;/a&gt;.  Здесь используется метод с моей сигнатурой, чтобы контроллировать, какие потоки запрашиваются с сервера.&lt;/li&gt;
&lt;li&gt;Подключение к любым потокам с настраиваемым набором колонок. Здесь используется твоя сигнатура.  Данные будут выдаваться клиенту в &amp;quot;сыром формате&amp;quot;.&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6579/</id>
    <title type="text">Mikhail Sukhov: А что нужно сделать с PlazaTrader, чтобы ini со схемами создались в рабочей директор...</title>
    <published>2011-03-10T20:25:51Z</published>
    <updated>2016-08-15T23:48:14Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6575)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
А что нужно сделать с PlazaTrader, чтобы ini со схемами создались в рабочей директории?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Через Reflection перебрать всех наследников PlazaColumns (наши метаданные) и для каждого вызвать по образцу:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var plazaTable1 = new PlazaTable(PlazaTableTypes.Option, PlazaColumns.Options);
new PlazaTableSerializer().Serialize(plazaTable, _configFileName);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Вопрос: только зачем это?  PlazaTrader'у это не нужно: он будет это делать на лету (см. для примера код метода PlazaStreamManager.AddStream).  Мы же для этого описывали все метаданные.  А пользователя я бы не стал подпускать к ini файлам.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6575)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Таблицы инструментов - это что?
opt_vcb для опционов, fut_vcb - для фьючерсов. Это то, что мы на днях &lt;a href="http://stocksharp.com/posts/m/6488/"&gt;обсуждали&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6573/</id>
    <title type="text">aspirant: Mikhail Sukhov: Разобрался. aspirant Connect засунул в конструктор. И затем еще раз вызыва...</title>
    <published>2011-03-10T19:22:12Z</published>
    <updated>2016-08-15T23:48:14Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6572)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6570)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Разобрался. aspirant Connect засунул в конструктор. И затем еще раз вызывается принудительно Connect. На лицо ошибка в дизайне.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://stocksharp.com/posts/m/6485/"&gt;Я писал&lt;/a&gt;, что Connect нужно вызывать перед var srvAddress = _connection.ResolveService(&amp;quot;FORTS_SRV&amp;quot;); Иначе будет исключение.  Я воткнул Connect наспех и специально выделил это участок.&lt;/p&gt;
&lt;p&gt;Только что скачал P2_ClientGate1.10.8_BATTLE.exe и установил MTA-версию.  У меня работает: только что подключался к двум потокам.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Теперь я понял о чем был тот комментарий.[smile]&lt;/p&gt;
&lt;p&gt;Я так и не понял, на каком этапе закончилось с конфигами и схемами? Они создаются на лету? Можно сейчас получить через NewSecurities новые инструменты?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6572/</id>
    <title type="text">Mikhail Sukhov: Разобрался. aspirant Connect засунул в конструктор. И затем еще раз вызывается прину...</title>
    <published>2011-03-10T19:14:08Z</published>
    <updated>2016-08-15T23:48:14Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6570)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Разобрался. aspirant Connect засунул в конструктор. И затем еще раз вызывается принудительно Connect. На лицо ошибка в дизайне.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://stocksharp.com/posts/m/6485/"&gt;Я писал&lt;/a&gt;, что Connect нужно вызывать перед var srvAddress = _connection.ResolveService(&amp;quot;FORTS_SRV&amp;quot;); Иначе будет исключение.  Я воткнул Connect наспех и специально выделил это участок.&lt;/p&gt;
&lt;p&gt;Только что скачал P2_ClientGate1.10.8_BATTLE.exe и установил MTA-версию.  У меня работает: только что подключался к двум потокам.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6544/</id>
    <title type="text">lkor: 2011-03-09 22:49:03.609;p2mq-cli;;Socket connected;conn 0x589995C;host &amp;apos;127.0.0.1&amp;apos;;port 4001 Е...</title>
    <published>2011-03-10T05:21:38Z</published>
    <updated>2016-08-15T23:48:12Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6538)" rel="nofollow" target="_blank"&gt;lkor&lt;/a&gt;:&lt;/strong&gt;
2011-03-09 22:49:03.609;p2mq-cli;;Socket connected;conn 0x589995C;host '127.0.0.1';port 4001
Если у вас тестовое подключение к плазе, порт должен быть 3001.  Это &lt;a href="http://stocksharp.com/posts/m/6537/"&gt;нужно править в конфигах&lt;/a&gt; и после этого рестартить роутер.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Хотя последняя строчка в логе говорит, что MQ уже подсоединена[confused]&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6822/</id>
    <title type="text">Mikhail Sukhov: Но интересно, что такое первое. Не то днем указал. Вот первое: Таблица opt_sess_cont...</title>
    <published>2011-03-17T20:19:41Z</published>
    <updated>2011-03-17T20:20:16Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6788)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Но интересно, что такое первое.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Не то днем указал.  Вот первое:&lt;/p&gt;
&lt;p&gt;Таблица &lt;strong&gt;opt_sess_contents&lt;/strong&gt;: Cправочник торгуемых инструментов
Таблица содержит справочник инструментов, назначенных к торгам в сессию.&lt;/p&gt;
&lt;p&gt;replID i8 Служебное поле подсистемы репликации
replRev i8 Служебное поле подсистемы репликации
replAct i8 Служебное поле подсистемы репликации
sess_id i4 Идентификатор торговой сессии
isin_id i4 Уникальный числовой идентификатор инструмента
isin c25 Символьный код инструмента
short_isin c25 Описатель инструмента
name c75 Наименование инструмента
code_vcb c25 Код базового актива
fut_isin_id i4 Код фьючерсного инструмента
is_limited i1 Признак наличия лимитов в торгах
limit_up d16.5 Верхний лимит премии
limit_down d16.5 Нижний лимит премии
old_kotir d16.5 Котировка (Теоретическая цена опциона) предыдущей сессии
bgo_c d16.2 Базовое ГО под одну покрытую позицию подписчика (руб)
bgo_nc d16.2 Базовое ГО под одну непокрытую позицию подписчика(руб)
europe i1 Разновидность опциона. 0 - американский опцион, 1 - европейский опцион
put i1 Тип опциона. 0 - Call опцион,1 - Put опцион
strike d16.5 Цена страйк
roundto i4 Количество знаков после запятой в цене
min_step d16.5 Минимальный шаг премии
lot_volume i4 К-во единиц базового актива в инструменте
step_price d16.5 Стоимость шага премии
d_pg t Дата окончания обращения инструмента
d_exec_beg t Дата начала экспирации инструмента
d_exec_end t Дата окончания экспирации инструмента
signs i4 Поле признаков
last_cl_quote d16.5 Расчетная Цена (Теоретическая цена опциона) после последнего клиринга
bgo_buy d16.2 Базовое ГО под покупку маржируемого опциона
base_isin_id i4 Числовой идентификатор базового инструмента&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6794/</id>
    <title type="text">Mikhail Sukhov: aspirant: opt_vcb - Справочник торгуемых активов Однозначно 2-ое. Но интересно, что ...</title>
    <published>2011-03-17T12:17:53Z</published>
    <updated>2011-03-17T12:17:53Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6788)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6787)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;
&lt;strong&gt;opt_vcb&lt;/strong&gt; - Справочник торгуемых активов
Однозначно 2-ое. Но интересно, что такое первое.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Таблица 39. Поля таблицы opt_vcb
Поле Тип Описание
replID i8 Служебное поле подсистемы репликации
replRev i8 Служебное поле подсистемы репликации
replAct i8 Служебное поле подсистемы репликации
code_vcb c25 Код базового актива
name c75 Наименование
exec_type c1 Тип исполнения
curr c3 Валюта платежа
exch_pay d16.2 Биржевой сбор за 1 контракт в рублях
exch_pay_scalped i1 Признак скальпирования биржевого сбора
clear_pay d16.2 Клиринговый сбор за 1 контракт в рублях
clear_pay_scalped i1 Признак скальпирования клирингового сбора
sell_fee d7.3 Комиссия с продавца. Не используется
buy_fee d7.3 Комиссия с покупателя. Не используется
trade_scheme c1 Форма торгов
coeff_out d7.3 Коэффициент приближенности 'внелимитных' опционов
is_spec i1 1-по этому контракту шлюз (и его фирма) является
специалистом по запросам на котировку
spec_spread d16.5 Спред специалиста
min_vol i4 Минимальный объем в котировках специалиста
client_code c7 Код клиента&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6788/</id>
    <title type="text">aspirant: Mikhail Sukhov: Для меня выделенное - синонимы. В чем разница? Сегодня вечером постараюсь ...</title>
    <published>2011-03-17T11:07:02Z</published>
    <updated>2011-03-17T11:07:02Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6787)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6682)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Для меня выделенное - синонимы. В чем разница?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Сегодня вечером постараюсь ответить. Пока другой вопрос: инструменты на примере опционов - это&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;opt_vcb&lt;/strong&gt; - Справочник торгуемых активов&lt;/p&gt;
&lt;p&gt;или&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;opt_sess_contents&lt;/strong&gt; - Cправочник торгуемых инструментов[confused]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Однозначно 2-ое. Но интересно, что такое первое.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6787/</id>
    <title type="text">Mikhail Sukhov: Для меня выделенное - синонимы. В чем разница? Сегодня вечером постараюсь ответить. ...</title>
    <published>2011-03-17T10:55:28Z</published>
    <updated>2011-03-17T10:55:28Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6682)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Для меня выделенное - синонимы. В чем разница?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Сегодня вечером постараюсь ответить. Пока другой вопрос: инструменты на примере опционов - это&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;opt_vcb&lt;/strong&gt; - Справочник торгуемых активов&lt;/p&gt;
&lt;p&gt;или&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;opt_sess_contents&lt;/strong&gt; - Cправочник торгуемых инструментов[confused]&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6682/</id>
    <title type="text">aspirant: Mikhail Sukhov: А как же PlazaTable.Columns? Мне кажется правильнее или удобнее будет, есл...</title>
    <published>2011-03-14T21:03:09Z</published>
    <updated>2011-03-14T21:03:09Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6680)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6679)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
А как же PlazaTable.Columns?
Мне кажется правильнее или удобнее будет, если один класс (PlazaTable) &lt;strong&gt;отвечает за описание метаданных&lt;/strong&gt;, а другой (PlazaColumnList) - за &lt;strong&gt;создание наборов колоннок/полей для получения данных из потоков&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Для меня выделенное - синонимы. В чем разница?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6680/</id>
    <title type="text">Mikhail Sukhov: А как же PlazaTable.Columns? Мне кажется правильнее или удобнее будет, если один кла...</title>
    <published>2011-03-14T20:12:54Z</published>
    <updated>2011-03-14T20:12:54Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6679)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
А как же PlazaTable.Columns?
Мне кажется правильнее или удобнее будет, если один класс (PlazaTable) отвечает за описание метаданных, а другой (PlazaColumnList) - за создание наборов колоннок/полей для получения данных из потоков. Посмотри: я только что залил обновленный PlazaTableRegistry, а также всех наследников PlazaColumns, отвечающих за опционы.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6679/</id>
    <title type="text">aspirant: Кстати, твой метод правильнее будет объявляться вот так: public void StartListeners(params...</title>
    <published>2011-03-14T20:01:14Z</published>
    <updated>2011-03-14T20:01:14Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6670)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;
Кстати, твой метод правильнее будет объявляться вот так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;public void StartListeners(params PlazaColumnList[] tables)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
А как же PlazaTable.Columns?
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6638/</id>
    <title type="text">Mikhail Sukhov: Я бы сделал так: public void StartListeners(params PlazaTable[] tables) { foreach (v...</title>
    <published>2011-03-13T19:38:19Z</published>
    <updated>2011-03-13T19:38:19Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6636)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Я бы сделал так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;public void StartListeners(params PlazaTable[] tables)
{
foreach (var table in tables)
_plazaStreamManager.Add(table, TRequestType.RT_COMBINED_DYNAMIC);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
_plazaStreamManager.Start();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Да, так будет удобнее
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6636/</id>
    <title type="text">aspirant: Вопрос: подключаться ко всем потокам или дать возможность клиенту выбирать, что ему нужно....</title>
    <published>2011-03-13T18:11:31Z</published>
    <updated>2011-03-13T18:11:31Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6634)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;
Вопрос: подключаться ко всем потокам или дать возможность клиенту выбирать, что ему нужно.  Для этого я создал перечисление PlazaMarketData.  Тогда метод будет выглядеть вот так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;public void StartListeners(PlazaMarketData marketData)
{
// вот здесь как раз и заполняются метаданные для всех потоков плазы&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if ((marketData &amp;amp; PlazaMarketData.Options) &amp;gt; 0)
{
	// opt_vcb - Справочник торгуемых активов (опционов)
	_plazaStreamManager.AddStream(new PlazaColumnSet(PlazaTableRegistry.OptVcb), TRequestType.RT_COMBINED_DYNAMIC);
}
		
// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
_plazaStreamManager.Start();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Я бы сделал так:
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;public void StartListeners(params PlazaTable[] tables)
{
foreach (var table in tables)
_plazaStreamManager.Add(table, TRequestType.RT_COMBINED_DYNAMIC);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
_plazaStreamManager.Start();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6634/</id>
    <title type="text">Mikhail Sukhov: Все: инструменты, заявки, сделки, тики, поза. Кастомные потоки пока не так интересны...</title>
    <published>2011-03-13T13:17:10Z</published>
    <updated>2011-03-13T13:17:10Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6587)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Все: инструменты, заявки, сделки, тики, поза. Кастомные потоки пока не так интересны. Нужен минимум, чтобы с заявками протестить и убедиться насчет минимального функционала.
Я сейчас вынес это в отдельный метод:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;public void StartListeners()
{
	// вот здесь как раз и заполняются метаданные для всех потоков плазы
	// opt_vcb - Справочник торгуемых активов (опционов)
	_plazaStreamManager.AddStream(new PlazaColumnSet(PlazaTableRegistry.OptVcb), TRequestType.RT_COMBINED_DYNAMIC);
			
	// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
	_plazaStreamManager.Start();
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Вопрос: подключаться ко всем потокам или дать возможность клиенту выбирать, что ему нужно.  Для этого я создал перечисление PlazaMarketData.  Тогда метод будет выглядеть вот так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public void StartListeners(PlazaMarketData marketData)
{
	// вот здесь как раз и заполняются метаданные для всех потоков плазы

	if ((marketData &amp;amp; PlazaMarketData.Options) &amp;gt; 0)
	{
		// opt_vcb - Справочник торгуемых активов (опционов)
		_plazaStreamManager.AddStream(new PlazaColumnSet(PlazaTableRegistry.OptVcb), TRequestType.RT_COMBINED_DYNAMIC);
	}
			
	// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
	_plazaStreamManager.Start();
}
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6587/</id>
    <title type="text">aspirant: Какие потоки/таблицы/информацию добавить еще в PlazaTrader из стримов? Все: инструменты, з...</title>
    <published>2011-03-10T21:11:14Z</published>
    <updated>2011-03-10T21:11:14Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6586)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;
Какие потоки/таблицы/информацию добавить еще в PlazaTrader из стримов?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Все: инструменты, заявки, сделки, тики, поза. Кастомные потоки пока не так интересны. Нужен минимум, чтобы с заявками протестить и убедиться насчет минимального функционала.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6586/</id>
    <title type="text">Mikhail Sukhov: У меня пока ini файлы не создаются. В какой момент они начинают создаваться? В момен...</title>
    <published>2011-03-10T21:07:28Z</published>
    <updated>2011-03-10T21:07:28Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.com/users/6114/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6580)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
У меня пока ini файлы не создаются. В какой момент они начинают создаваться? В момент соединение, старта экспорта или еще когда?
Посмотри мой последний коммит: я добавил подключение к opt_vcb в конструктор PlazaTrader.  Данные идут: только что проверял.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;private void OnNewDataFromOptVcb(PlazaRecord[] data) - пока только заглушка.  Завтра доделаю.&lt;/p&gt;
&lt;p&gt;Какие потоки/таблицы/информацию добавить еще в PlazaTrader из стримов?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6580/</id>
    <title type="text">aspirant: Вопрос: только зачем это? PlazaTrader&amp;apos;у это не нужно: он будет это делать на лету (см. для...</title>
    <published>2011-03-10T20:40:10Z</published>
    <updated>2011-03-10T20:40:10Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(6579)" rel="nofollow" target="_blank"&gt;aspirant&lt;/a&gt;:&lt;/strong&gt;
Вопрос: только зачем это?  PlazaTrader'у это не нужно: он будет это делать на лету (см. для примера код метода PlazaStreamManager.AddStream).  Мы же для этого описывали все метаданные.  А пользователя я бы не стал подпускать к ini файлам.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ок, неправильно выразился. У меня пока ini файлы не создаются. В какой момент они начинают создаваться? В момент соединение, старта экспорта или еще когда?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>