﻿<?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">Получение стакана Фортс.</title>
  <id>~/topic/2386/poluchenie-stakana-forts_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-26T01:58:38Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2386" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/18994/</id>
    <title type="text">Добрый день! Если имя инструмента задать как &amp;quot;RTS-6.12&amp;quot;, все работает. Как побороть? У некоторых бро...</title>
    <published>2012-05-12T12:25:54Z</published>
    <updated>2016-08-16T00:07:21Z</updated>
    <author>
      <name>Кот Матроскин</name>
      <uri>https://stocksharp.com/users/808/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Zyanov &lt;a href="https://stocksharp.com/posts/m/18991/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Algonavt &lt;a href="https://stocksharp.com/posts/m/18896/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Добрый день!&lt;br /&gt;Если имя инструмента задать как &amp;quot;RTS-6.12&amp;quot;, все работает.&lt;br /&gt;Как побороть?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;У некоторых брокеров инструменты фортс имеют такие названия, если все работает может оставить так?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Странно, должно быть &lt;a href="http://stocksharp.com/posts/m/14777/" title="http://stocksharp.com/posts/m/14777/"&gt;RIM2&lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16418/</id>
    <title type="text">Я подозреваю что ответ тут http://stocksharp.com/forum/2292/Stakan-FORTS-voobshchie-rabotaiet/ кроет...</title>
    <published>2012-02-14T12:57:30Z</published>
    <updated>2016-08-16T00:05:40Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Я подозреваю что ответ тут &lt;a href="http://stocksharp.com/forum/2292/Stakan-FORTS-voobshchie-rabotaiet/ " title="http://stocksharp.com/forum/2292/Stakan-FORTS-voobshchie-rabotaiet/ "&gt;http://stocksharp.com/fo...S-voobshchie-rabotaiet/ &lt;/a&gt;кроется но разглядеть руководство к действию не могу. Но там человек стакан сам вроде в квике открывал.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/18991/</id>
    <title type="text">Добрый день! Если имя инструмента задать как &amp;quot;RTS-6.12&amp;quot;, все работает. Как побороть? У некоторых бро...</title>
    <published>2012-05-12T09:55:30Z</published>
    <updated>2012-05-12T10:05:16Z</updated>
    <author>
      <name>Zyanov</name>
      <uri>https://stocksharp.com/users/27978/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Algonavt &lt;a href="https://stocksharp.com/posts/m/18896/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Добрый день!&lt;br /&gt;Если имя инструмента задать как &amp;quot;RTS-6.12&amp;quot;, все работает.&lt;br /&gt;Как побороть?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;У некоторых брокеров инструменты фортс имеют такие названия, если все работает может оставить так?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/18896/</id>
    <title type="text">Добрый день! Пробую получать данные по инструменту как &amp;quot;RIM2&amp;quot; - ничего. Если имя инструмента задать ...</title>
    <published>2012-05-05T12:52:47Z</published>
    <updated>2012-05-05T12:52:47Z</updated>
    <author>
      <name>Algonavt</name>
      <uri>https://stocksharp.com/users/639/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Добрый день!&lt;br /&gt;&lt;br /&gt;Пробую получать данные по инструменту как &amp;quot;RIM2&amp;quot; - ничего. Если имя инструмента задать как &amp;quot;RTS-6.12&amp;quot;, все работает.&lt;br /&gt;&lt;br /&gt;Для инструментов ММВБ такой проблемы нет - поиск по LKOH, SBER, SBERP и другим результат дает исправно (экспорт по DDE запускается, стакан появляется).&lt;br /&gt;&lt;br /&gt;Как побороть?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16596/</id>
    <title type="text">Докладываю на случай появления розовых с моего юзерпика. В квик был подгружен приложенный к библиоте...</title>
    <published>2012-02-20T09:23:09Z</published>
    <updated>2012-02-20T09:23:09Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Докладываю на случай появления розовых с моего юзерпика. В квик был подгружен приложенный к библиотеке ванд и на этом настройку я посчитал законченной(прочитав это &lt;span class="highlight"&gt;Данный файл уже содержит настройки программы Quik, и не требуется самостоятельная настройка таблиц&lt;/span&gt; ) не добавив свой любимый сбер в таблицу инструменты. Теперь все работает и даже удалось рубль заработать[biggrin]. В документацию стоит добавить что самостоятельно придется добавить торгуемые инструменты. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16544/</id>
    <title type="text">Сейчас попробовал после загрузки консоли до &amp;quot;Портфель ХХХ получен&amp;quot;(здесь у меня всё и встаёт)вывеси ...</title>
    <published>2012-02-16T19:53:15Z</published>
    <updated>2012-02-16T19:53:15Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Сейчас попробовал после загрузки консоли до &amp;quot;Портфель ХХХ получен&amp;quot;(здесь у меня всё и встаёт)вывеси стакан вручную и получил &amp;quot;Не удалось установить DDЕ соединение с сервером &amp;#39;wrapper&amp;#39;.Либо не запущен &amp;#39;стакан&amp;#39;, либо в него не загружен лист &amp;#39;SRH2@RTS&amp;#39;. Таблица &amp;#39;SRH2@RTS&amp;#39;&amp;quot;. Неужели все это действительно работает [cursing] ?&lt;br /&gt;Verifier говорит ок. Ну и код еще раз на всякий.&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

namespace SampleConsole
{
	using System;
	using System.Linq;
	using System.Threading;
	using Ecng.Common;
        using StockSharp.BusinessEntities;
	using StockSharp.Quik;
	using StockSharp.Algo;

	class Program
	{
		private static Security _SRH2;
		private static Portfolio _portfolio;
		private static MarketDepth _depth;
        static void Main()
		{
			try
			{
				// для теста выбираем бумагу SRH2
				const string secCode = &amp;quot;SRH2&amp;quot;;

				var quikPath = QuikTerminal.GetDefaultPath();

				if (quikPath.IsEmpty())
				{
					Console.WriteLine(&amp;quot;Не найден ни один запущенный Quik&amp;quot;);
					return;
				}

				Console.WriteLine(&amp;quot;Запущенный Quik найден по пути &amp;quot; + quikPath);

				Console.Write(&amp;quot;Введите код клиента, через который будет выставлена заявка: &amp;quot;);
				var account = Console.ReadLine();

				using (var waitHandle = new AutoResetEvent(false))
				{
					// создаем шлюз к Quik-у
					using (var trader = new QuikTrader(quikPath))
					{
						// необходимо раскомментировать, если идет работа с РТС Стандарт
						//trader.FormatTransaction += builder =&amp;gt; builder.RemoveInstruction(TransactionBuilder.ExecutionCondition);

						// подписываемся на событие успешного подключения
						// все действия необходимо производить только после подключения
						trader.Connected += () =&amp;gt;
						{
							Console.WriteLine(&amp;quot;Подключение было произведено успешно.&amp;quot;);

							// извещаем об успешном соединени
							waitHandle.Set();
						};

						Console.WriteLine(&amp;quot;Производим подключение...&amp;quot;);

						trader.Connect();

						// дожидаемся события об успешном соединении
						waitHandle.WaitOne();

						trader.NewPortfolios += portfolios =&amp;gt;
						{
							if (_portfolio == null)
							{
								// находим Лукойл и присваиваем ее переменной Srh2
								_portfolio = portfolios.FirstOrDefault(p =&amp;gt; p.Name == account);

								if (_portfolio != null)
								{
									Console.WriteLine(&amp;quot;Портфель {0} появился.&amp;quot;, account);

									// если инструмент и стакан уже появились,
									// то извещаем об этом основной поток для выставления заявки
									if (_SRH2 != null &amp;amp;&amp;amp; _depth != null)
										waitHandle.Set();
								}
							}
						};

						// подписываемся на событие появление инструментов
						trader.NewSecurities += securities =&amp;gt;
						{
                            if (_SRH2 == null)
							{
								// находим Лукойл и присваиваем ее переменной Srh2
                                _SRH2 = securities.FirstOrDefault(sec =&amp;gt; sec.Code == secCode);

                                if (_SRH2 != null)
								{
									Console.WriteLine(&amp;quot;Инструмент SRH2 появился.&amp;quot;);

									// запускаем экспорт стакана
                                    trader.RegisterQuotes(_SRH2);

									if (_portfolio != null &amp;amp;&amp;amp; _depth != null)
										waitHandle.Set();
								}
							}
						};

						// подписываемся на событие появления моих новых сделок
						trader.NewMyTrades += myTrades =&amp;gt;
						{
							foreach (var myTrade in myTrades)
							{
								var trade = myTrade.Trade;
								Console.WriteLine(&amp;quot;Сделка {0} по цене {1} по бумаге {2} по объему {3} в {4}.&amp;quot;, trade.Id, trade.Price, trade.Security.Code, trade.Volume, trade.Time);
							}
						};

						// подписываемся на событие обновления стакана
						trader.QuotesChanged += depths =&amp;gt;
						{
                            if (_depth == null &amp;amp;&amp;amp; _SRH2 != null)
							{
                                _depth = depths.FirstOrDefault(d =&amp;gt; d.Security == _SRH2);

								if (_depth != null)
								{
									Console.WriteLine(&amp;quot;Стакан SRH2 появился.&amp;quot;);

									// если портфель и инструмент уже появился, то извещаем об этом основной поток для выставления заявки
                                    if (_portfolio != null &amp;amp;&amp;amp; _SRH2 != null)
										waitHandle.Set();
								}
							}
						};

						Console.WriteLine(&amp;quot;Дожидаемся появления в программе инструмента SRH2 и портфеля {0}...&amp;quot;.Put(account));
                       // запускаем экспорт по DDE
					//trader.StartExport();     
                    trader.StartExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
           trader.EquityPortfoliosTable, trader.OrdersTable, trader.DerivativePositionsTable, trader.DerivativePortfoliosTable);

						// дожидаемся появления портфеля и инструмента
						waitHandle.WaitOne();

						// 0.1% от изменения цены
						const decimal delta = 0.001m;

						// запоминаем первоначальное значение середины спреда
                        var firstMid = _SRH2.BestPair.SpreadPrice / 2;
                        if (_SRH2.BestBid == null)
							throw new Exception(&amp;quot;Нет лучшего бида для котировки.&amp;quot;);

                        Console.WriteLine(&amp;quot;Первоначальное значение середины спреда {0:0.##}&amp;quot;, _SRH2.BestBid.Price + firstMid);

						while (true)
						{
                            var mid = _SRH2.BestPair.SpreadPrice / 2;

							// если спред вышел за пределы нашего диапазона
							if	(
									((firstMid + firstMid * delta) &amp;lt;= mid) ||
									((firstMid - firstMid * delta) &amp;gt;= mid)
								)
							{
								var order = new Order
								{
									Portfolio = _portfolio,
                                    Price = _SRH2.ShrinkPrice(_SRH2.BestBid.Price + mid),
                                    Security = _SRH2,
									Volume = 1,
									Direction = OrderDirections.Buy,
								};
								trader.RegisterOrder(order);
								Console.WriteLine(&amp;quot;Заявка {0} зарегистрирована.&amp;quot;, order.Id);
								break;
							}
							else
                                Console.WriteLine(&amp;quot;Текущее значение середины спреда {0:0.##}&amp;quot;, _SRH2.BestBid.Price + mid);

							// ждем 1 секунду
							Thread.Sleep(1000);
						}

						// останавливаем экспорт по DDE
                   // trader.StopExport();
                
                        trader.StopExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
              trader.EquityPortfoliosTable, trader.OrdersTable, trader.DerivativePositionsTable, trader.DerivativePortfoliosTable);
                    
                
                      }
                    
                      
				}
			}
			catch (Exception ex)
			{
				Console.WriteLine(ex);
			}
		}
	}
}
&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.com/posts/m/16524/</id>
    <title type="text">Поставьте демо квик(закажите доступ на сайте квик). Сначала будет только ММВБ. Потом дня через два п...</title>
    <published>2012-02-16T18:07:30Z</published>
    <updated>2012-02-16T18:07:30Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Moadip &lt;a href="https://stocksharp.com/posts/m/16484/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Поставьте демо квик(закажите доступ на сайте квик). Сначала будет только ММВБ. Потом дня через два подключат фортс.&lt;br /&gt;Проверьте как работает оригинальный пример SampleConsole, чтобы исключить ошибки на начальном этапе.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Тестировать нагляднее лучше на Sample. Но понять его сложнее.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16484/</id>
    <title type="text">Поставьте демо квик(закажите доступ на сайте квик). Сначала будет только ММВБ. Потом дня через два п...</title>
    <published>2012-02-16T05:31:56Z</published>
    <updated>2012-02-16T05:31:56Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Поставьте демо квик(закажите доступ на сайте квик). Сначала будет только ММВБ. Потом дня через два подключат фортс.&lt;br /&gt;Проверьте как работает оригинальный пример SampleConsole, чтобы исключить ошибки на начальном этапе.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16477/</id>
    <title type="text">Для всех экспериментов лучше поставить демо квик. На боевом как то неохото тренироваться в отладке к...</title>
    <published>2012-02-15T19:47:22Z</published>
    <updated>2012-02-15T19:47:22Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Moadip &lt;a href="https://stocksharp.com/posts/m/16475/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Для всех экспериментов лучше поставить демо квик. На боевом как то неохото тренироваться в отладке кода.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Мне особо рисковать там нечем, отношусь как к демо [biggrin] .</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16475/</id>
    <title type="text">Для всех экспериментов лучше поставить демо квик. На боевом как то неохото тренироваться в отладке к...</title>
    <published>2012-02-15T19:41:58Z</published>
    <updated>2012-02-15T19:41:58Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Для всех экспериментов лучше поставить демо квик. На боевом как то неохото тренироваться в отладке кода.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16474/</id>
    <title type="text">Оригинальный пример SampleConsole как работает? Нормально или нет? У меня только Фортс включен.</title>
    <published>2012-02-15T19:36:24Z</published>
    <updated>2012-02-15T19:36:24Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Moadip &lt;a href="https://stocksharp.com/posts/m/16473/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Оригинальный пример SampleConsole как работает? Нормально или нет?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;У меня только Фортс включен.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16473/</id>
    <title type="text">Оригинальный пример SampleConsole как работает? Нормально или нет?</title>
    <published>2012-02-15T19:30:33Z</published>
    <updated>2012-02-15T19:30:33Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Оригинальный пример SampleConsole как работает? Нормально или нет?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16471/</id>
    <title type="text">И снова здравствуйте ! Спасибо vader и Moadip за внимание к проблеме.Я опять с плохими новостями. Ес...</title>
    <published>2012-02-15T19:20:14Z</published>
    <updated>2012-02-15T19:20:14Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">И снова здравствуйте [woot] !&lt;br /&gt;Спасибо vader и Moadip за внимание к проблеме.Я опять с плохими новостями.&lt;br /&gt;Если использовать &lt;span class="highlight"&gt;trader.StartExport(); trader.StopExport(); &lt;/span&gt; то упираюсь в &amp;quot;Портфель ХХХ появился&amp;quot; а после закрытия консоли квик выдает - DDE сервер &amp;#39;STOCKSHARP&amp;#39;. Документ &amp;#39;все сделки[]&amp;#39;.&lt;br /&gt;Таблица &amp;#39;Все сделки&amp;#39;.&lt;br /&gt;Ошибка при передаче таблицы,вывод приостановлен.&lt;br /&gt;Неверные параметры.&lt;br /&gt;И еще &amp;#39;Переполнена очередь сообщений&amp;#39;, и еще что-то про переполнение сервера что я не смог воспроизвести и записать. А при использовании старт экспорта с перечислением таблиц, также упираюсь в &amp;quot;Портфель ХХХ появился&amp;quot; но после закрытия консоли квик ошибок не выдает. Verifier говорит все хорошо. На всякий случай оставил в таблице всех сделок только сбер.&lt;br /&gt;Кто что думает?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16442/</id>
    <title type="text">Ок. Понятно.</title>
    <published>2012-02-15T09:59:07Z</published>
    <updated>2012-02-15T09:59:07Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Ок. Понятно.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16441/</id>
    <title type="text">Это не фича и не баг. Это то как работает QuikTrader - строит информацию по той таблице, которая при...</title>
    <published>2012-02-15T09:54:33Z</published>
    <updated>2012-02-15T09:54:33Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Это не фича и не баг. Это то как работает QuikTrader - строит информацию по той таблице, которая пришла первой.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16439/</id>
    <title type="text">Попробовал скопипастить ваш код и запустить. В итоге работа программы остановилась на &amp;quot;стакан SRH2 п...</title>
    <published>2012-02-15T09:39:29Z</published>
    <updated>2012-02-15T09:39:29Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Попробовал скопипастить ваш код и запустить.&lt;br /&gt;В итоге работа программы остановилась на &amp;quot;стакан SRH2 появился&amp;quot;.&lt;br /&gt;Запускаю оригинальный пример просто с изменением инструмента. То же самое.[blink]&lt;br /&gt;&lt;br /&gt;Ставлю бряк на вход в обработчик события NewPortfolios и наблюдаю следующуюю картину.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://i32.fastpic.ru/big/2012/0215/c8/e9b60d07f8524765d54bd92276dc07c8.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i32.fastpic.ru/big/2012/0215/c8/e9b60d07f8524765d54bd92276dc07c8.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Событие сработало, нашелся портфель ММВБ. Но после этого, событие больше не срабатывало. Хотя должно было, и должен был найден портфель FORTS&lt;br /&gt;&lt;br /&gt;Проблема оказалась в следующем. Есть вот такие куски кода&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

trader.StartExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
		  trader.EquityPortfoliosTable, trader.OrdersTable);

...

trader.StopExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
		  trader.EquityPortfoliosTable, trader.OrdersTable);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Так вот в оригинальном примере по dde выводятся таблицы &amp;quot;портфель по бумагам&amp;quot; и &amp;quot;позиции по бумагам&amp;quot; - trader.EquityPositionsTable, trader.EquityPortfoliosTable&lt;br /&gt;&lt;br /&gt;Чтобы работать с фьючерсами, надо добавить еще две таблицы trader.DerivativePositionsTable и trader.DerivativePortfoliosTable &lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

trader.StartExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
		  trader.EquityPortfoliosTable, trader.OrdersTable, trader.DerivativePositionsTable, trader.DerivativePortfoliosTable);

...

trader.StopExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
		  trader.EquityPortfoliosTable, trader.OrdersTable, trader.DerivativePositionsTable, trader.DerivativePortfoliosTable);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Или сделать проще&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

trader.StartExport();

...

trader.StopExport();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;И все будет работать.&lt;br /&gt;&lt;br /&gt;Самое интересное почему у меня тогда вчера правильно работал этот пример, ведь я ничего не менял кроме инструмента?&lt;br /&gt;&lt;br /&gt;Начинаю разбираться. Удаляю таблицы по деривативам, запускаю, пример отрабатывает как надо.[blink] &lt;br /&gt;Ставлю опять бряк на вход в обработчик события NewPortfolios. Смотрю, находится портфель по FORTS. Смотрю в квике запущен ли экспорт по таблицам деривативов - нет, не запущен.[confused]&lt;br /&gt;&lt;br /&gt;Оказывается. &lt;b&gt;Даже если не запущен экспорт dde по таблицам деривативов, то если есть хоть одна заявка в таблице &amp;quot;Заявки&amp;quot;, то номер счета будет браться оттуда.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Это фича или баг?&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Проверил следующим образом, удалил таблицу заявок из экспорта - trader.OrdersTable. Запустил и программа не отработала как надо.&lt;br /&gt;Поэтому у меня вчера пример отработал без проблем, т.к. были сделки по FORTS.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16437/</id>
    <title type="text">&amp;quot;Кстати как код выкладывать цивилизовано?&amp;quot; Нажать кнопку - ответить, там сверху есть кнопки, онда из...</title>
    <published>2012-02-15T07:36:59Z</published>
    <updated>2012-02-15T07:36:59Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.com/users/28223/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&amp;quot;Кстати как код выкладывать цивилизовано?&amp;quot;&lt;br /&gt;Нажать кнопку - ответить, там сверху есть кнопки, онда из них - подсветка кода.&lt;br /&gt;Нажать её и выбрать нужный код. Появятся открывающий и закрывающий теги, ввести туда код.&lt;br /&gt;&lt;br /&gt;После того, как вы стака отредактировали ,вы нажимаете кнопку &amp;quot;Начать вывод&amp;quot; ?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16436/</id>
    <title type="text">В таблице &amp;quot;Инструменты&amp;quot; фьючерс SRH2 есть. Приложу листинг может пропустил что.Кстати как код выклад...</title>
    <published>2012-02-15T04:37:28Z</published>
    <updated>2012-02-15T04:37:28Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В таблице &amp;quot;Инструменты&amp;quot; фьючерс SRH2 есть. Приложу листинг может пропустил что.Кстати как код выкладывать цивилизовано?&lt;br /&gt;namespace SampleConsole&lt;br /&gt;{&lt;br /&gt;	using System;&lt;br /&gt;	using System.Linq;&lt;br /&gt;	using System.Threading;&lt;br /&gt;&lt;br /&gt;	using Ecng.Common;&lt;br /&gt;&lt;br /&gt;	using StockSharp.BusinessEntities;&lt;br /&gt;	using StockSharp.Quik;&lt;br /&gt;	using StockSharp.Algo;&lt;br /&gt;&lt;br /&gt;	class Program&lt;br /&gt;	{&lt;br /&gt;		private static Security _srh2;&lt;br /&gt;		private static Portfolio _portfolio;&lt;br /&gt;		private static MarketDepth _depth;&lt;br /&gt;&lt;br /&gt;		static void Main()&lt;br /&gt;		{&lt;br /&gt;			try&lt;br /&gt;			{&lt;br /&gt;				// для теста выбираем бумагу Лукойл&lt;br /&gt;				const string secCode = &amp;quot;SRH2&amp;quot;;&lt;br /&gt;&lt;br /&gt;				var quikPath = QuikTerminal.GetDefaultPath();&lt;br /&gt;&lt;br /&gt;				if (quikPath.IsEmpty())&lt;br /&gt;				{&lt;br /&gt;					Console.WriteLine(&amp;quot;Не найден ни один запущенный Quik&amp;quot;);&lt;br /&gt;					return;&lt;br /&gt;				}&lt;br /&gt;&lt;br /&gt;				Console.WriteLine(&amp;quot;Запущенный Quik найден по пути &amp;quot; + quikPath);&lt;br /&gt;&lt;br /&gt;				Console.Write(&amp;quot;Введите код клиента, через который будет выставлена заявка: &amp;quot;);&lt;br /&gt;				var account = Console.ReadLine();&lt;br /&gt;&lt;br /&gt;				using (var waitHandle = new AutoResetEvent(false))&lt;br /&gt;				{&lt;br /&gt;					// создаем шлюз к Quik-у&lt;br /&gt;					using (var trader = new QuikTrader(quikPath))&lt;br /&gt;					{&lt;br /&gt;						// необходимо раскомментировать, если идет работа с РТС Стандарт&lt;br /&gt;						//trader.FormatTransaction += builder =&amp;gt; builder.RemoveInstruction(TransactionBuilder.ExecutionCondition);&lt;br /&gt;&lt;br /&gt;						// подписываемся на событие успешного подключения&lt;br /&gt;						// все действия необходимо производить только после подключения&lt;br /&gt;						trader.Connected += () =&amp;gt;&lt;br /&gt;						{&lt;br /&gt;							Console.WriteLine(&amp;quot;Подключение было произведено успешно.&amp;quot;);&lt;br /&gt;&lt;br /&gt;							// извещаем об успешном соединени&lt;br /&gt;							waitHandle.Set();&lt;br /&gt;						};&lt;br /&gt;&lt;br /&gt;						Console.WriteLine(&amp;quot;Производим подключение...&amp;quot;);&lt;br /&gt;&lt;br /&gt;						trader.Connect();&lt;br /&gt;&lt;br /&gt;						// дожидаемся события об успешном соединении&lt;br /&gt;						waitHandle.WaitOne();&lt;br /&gt;&lt;br /&gt;						trader.NewPortfolios += portfolios =&amp;gt;&lt;br /&gt;						{&lt;br /&gt;							if (_portfolio == null)&lt;br /&gt;							{&lt;br /&gt;								// находим Лукойл и присваиваем ее переменной lkoh&lt;br /&gt;								_portfolio = portfolios.FirstOrDefault(p =&amp;gt; p.Name == account);&lt;br /&gt;&lt;br /&gt;								if (_portfolio != null)&lt;br /&gt;								{&lt;br /&gt;									Console.WriteLine(&amp;quot;Портфель {0} появился.&amp;quot;, account);&lt;br /&gt;&lt;br /&gt;									// если инструмент и стакан уже появились,&lt;br /&gt;									// то извещаем об этом основной поток для выставления заявки&lt;br /&gt;									if (_srh2 != null &amp;amp;&amp;amp; _depth != null)&lt;br /&gt;										waitHandle.Set();&lt;br /&gt;								}&lt;br /&gt;							}&lt;br /&gt;						};&lt;br /&gt;&lt;br /&gt;						// подписываемся на событие появление инструментов&lt;br /&gt;						trader.NewSecurities += securities =&amp;gt;&lt;br /&gt;						{&lt;br /&gt;                            if (_srh2 == null)&lt;br /&gt;							{&lt;br /&gt;								// находим Лукойл и присваиваем ее переменной lkoh&lt;br /&gt;                                _srh2 = securities.FirstOrDefault(sec =&amp;gt; sec.Code == secCode);&lt;br /&gt;&lt;br /&gt;                                if (_srh2 != null)&lt;br /&gt;								{&lt;br /&gt;									Console.WriteLine(&amp;quot;Инструмент SRH2 появился.&amp;quot;);&lt;br /&gt;&lt;br /&gt;									// запускаем экспорт стакана&lt;br /&gt;                                    trader.RegisterQuotes(_srh2);&lt;br /&gt;&lt;br /&gt;									if (_portfolio != null &amp;amp;&amp;amp; _depth != null)&lt;br /&gt;										waitHandle.Set();&lt;br /&gt;								}&lt;br /&gt;							}&lt;br /&gt;						};&lt;br /&gt;&lt;br /&gt;						// подписываемся на событие появления моих новых сделок&lt;br /&gt;						trader.NewMyTrades += myTrades =&amp;gt;&lt;br /&gt;						{&lt;br /&gt;							foreach (var myTrade in myTrades)&lt;br /&gt;							{&lt;br /&gt;								var trade = myTrade.Trade;&lt;br /&gt;								Console.WriteLine(&amp;quot;Сделка {0} по цене {1} по бумаге {2} по объему {3} в {4}.&amp;quot;, trade.Id, trade.Price, trade.Security.Code, trade.Volume, trade.Time);&lt;br /&gt;							}&lt;br /&gt;						};&lt;br /&gt;&lt;br /&gt;						// подписываемся на событие обновления стакана&lt;br /&gt;						trader.QuotesChanged += depths =&amp;gt;&lt;br /&gt;						{&lt;br /&gt;                            if (_depth == null &amp;amp;&amp;amp; _srh2 != null)&lt;br /&gt;							{&lt;br /&gt;                                _depth = depths.FirstOrDefault(d =&amp;gt; d.Security == _srh2);&lt;br /&gt;&lt;br /&gt;								if (_depth != null)&lt;br /&gt;								{&lt;br /&gt;									Console.WriteLine(&amp;quot;Стакан SRH2 появился.&amp;quot;);&lt;br /&gt;&lt;br /&gt;									// если портфель и инструмент уже появился, то извещаем об этом основной поток для выставления заявки&lt;br /&gt;                                    if (_portfolio != null &amp;amp;&amp;amp; _srh2 != null)&lt;br /&gt;										waitHandle.Set();&lt;br /&gt;								}&lt;br /&gt;							}&lt;br /&gt;						};&lt;br /&gt;&lt;br /&gt;						Console.WriteLine(&amp;quot;Дожидаемся появления в программе инструмента Лукойл и портфеля {0}...&amp;quot;.Put(account));&lt;br /&gt;&lt;br /&gt;						// запускаем экспорт по DDE&lt;br /&gt;						trader.StartExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,&lt;br /&gt;						                   trader.EquityPortfoliosTable, trader.OrdersTable);&lt;br /&gt;&lt;br /&gt;						// дожидаемся появления портфеля и инструмента&lt;br /&gt;						waitHandle.WaitOne();&lt;br /&gt;&lt;br /&gt;						// 0.1% от изменения цены&lt;br /&gt;						const decimal delta = 0.001m;&lt;br /&gt;&lt;br /&gt;						// запоминаем первоначальное значение середины спреда&lt;br /&gt;                        var firstMid = _srh2.BestPair.SpreadPrice / 2;&lt;br /&gt;                        if (_srh2.BestBid == null)&lt;br /&gt;							throw new Exception(&amp;quot;Нет лучшего бида для котировки.&amp;quot;);&lt;br /&gt;&lt;br /&gt;                        Console.WriteLine(&amp;quot;Первоначальное значение середины спреда {0:0.##}&amp;quot;, _srh2.BestBid.Price + firstMid);&lt;br /&gt;&lt;br /&gt;						while (true)&lt;br /&gt;						{&lt;br /&gt;                            var mid = _srh2.BestPair.SpreadPrice / 2;&lt;br /&gt;&lt;br /&gt;							// если спред вышел за пределы нашего диапазона&lt;br /&gt;							if	(&lt;br /&gt;									((firstMid + firstMid * delta) &amp;lt;= mid) ||&lt;br /&gt;									((firstMid - firstMid * delta) &amp;gt;= mid)&lt;br /&gt;								)&lt;br /&gt;							{&lt;br /&gt;								var order = new Order&lt;br /&gt;								{&lt;br /&gt;									Portfolio = _portfolio,&lt;br /&gt;                                    Price = _srh2.ShrinkPrice(_srh2.BestBid.Price + mid),&lt;br /&gt;                                    Security = _srh2,&lt;br /&gt;									Volume = 1,&lt;br /&gt;									Direction = OrderDirections.Buy,&lt;br /&gt;								};&lt;br /&gt;								trader.RegisterOrder(order);&lt;br /&gt;								Console.WriteLine(&amp;quot;Заявка {0} зарегистрирована.&amp;quot;, order.Id);&lt;br /&gt;								break;&lt;br /&gt;							}&lt;br /&gt;							else&lt;br /&gt;                                Console.WriteLine(&amp;quot;Текущее значение середины спреда {0:0.##}&amp;quot;, _srh2.BestBid.Price + mid);&lt;br /&gt;&lt;br /&gt;							// ждем 1 секунду&lt;br /&gt;							Thread.Sleep(1000);&lt;br /&gt;						}&lt;br /&gt;&lt;br /&gt;						// останавливаем экспорт по DDE&lt;br /&gt;						trader.StopExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,&lt;br /&gt;						                  trader.EquityPortfoliosTable, trader.OrdersTable);&lt;br /&gt;					}&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;			catch (Exception ex)&lt;br /&gt;			{&lt;br /&gt;				Console.WriteLine(ex);&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16425/</id>
    <title type="text">Попробовал запустить SampleConsole Поменял на SRH2 const string secCode = &amp;quot;SRH2&amp;quot;; Запустил, все отра...</title>
    <published>2012-02-14T14:07:12Z</published>
    <updated>2012-02-14T14:07:12Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.com/users/5973/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Попробовал запустить SampleConsole&lt;br /&gt;Поменял на SRH2&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
const string secCode = &amp;quot;SRH2&amp;quot;;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Запустил, все отрабатывает нормально. В квике стакан открыт.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://i32.fastpic.ru/big/2012/0214/9e/1e40ba20aa98cd738af40ecacee8fd9e.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i32.fastpic.ru/big/2012/0214/9e/1e40ba20aa98cd738af40ecacee8fd9e.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;a href='http://i29.fastpic.ru/big/2012/0214/75/17786c0f97b701baf51c6730ccc1e175.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i29.fastpic.ru/big/2012/0214/75/17786c0f97b701baf51c6730ccc1e175.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Закрыл стакан, запустил, стакан открылся автоматом и все отработало как надо.&lt;br /&gt;&lt;br /&gt;У вас в таблице &lt;b&gt;&amp;quot;Инструменты&amp;quot;&lt;/b&gt; фьючерс SRH2 есть?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16417/</id>
    <title type="text">Я тоже. А что такое стоковский ванд? Wnd файл.</title>
    <published>2012-02-14T12:51:44Z</published>
    <updated>2012-02-14T12:51:44Z</updated>
    <author>
      <name>wkj</name>
      <uri>https://stocksharp.com/users/6442/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vader &lt;a href="https://stocksharp.com/posts/m/16416/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Я тоже.&lt;br /&gt;А что такое стоковский ванд?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Wnd файл.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>