﻿<?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-06-10T17:44:23Z</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">Zyanov: Algonavt: Добрый день! Если имя инструмента задать как &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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(18991)" rel="nofollow" target="_blank"&gt;Zyanov&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(18896)" rel="nofollow" target="_blank"&gt;Algonavt&lt;/a&gt;:&lt;/strong&gt;
Добрый день!
Если имя инструмента задать как &amp;quot;RTS-6.12&amp;quot;, все работает.
Как побороть?
У некоторых брокеров инструменты фортс имеют такие названия, если все работает может оставить так?
Странно, должно быть &lt;a href="http://stocksharp.com/posts/m/14777/"&gt;RIM2&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&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;p&gt;Я подозреваю что ответ тут &lt;a href="http://stocksharp.com/forum/2292/Stakan-FORTS-voobshchie-rabotaiet/"&gt;http://stocksharp.com/forum/2292/Stakan-FORTS-voobshchie-rabotaiet/&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/18991/</id>
    <title type="text">Algonavt: Добрый день! Если имя инструмента задать как &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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(18896)" rel="nofollow" target="_blank"&gt;Algonavt&lt;/a&gt;:&lt;/strong&gt;
Добрый день!
Если имя инструмента задать как &amp;quot;RTS-6.12&amp;quot;, все работает.
Как побороть?
У некоторых брокеров инструменты фортс имеют такие названия, если все работает может оставить так?&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/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;p&gt;Добрый день!&lt;/p&gt;
&lt;p&gt;Пробую получать данные по инструменту как &amp;quot;RIM2&amp;quot; - ничего. Если имя инструмента задать как &amp;quot;RTS-6.12&amp;quot;, все работает.&lt;/p&gt;
&lt;p&gt;Для инструментов ММВБ такой проблемы нет - поиск по LKOH, SBER, SBERP и другим результат дает исправно (экспорт по DDE запускается, стакан появляется).&lt;/p&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/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;p&gt;Докладываю на случай появления розовых с моего юзерпика. В квик был подгружен приложенный к библиотеке ванд и на этом настройку я посчитал законченной(прочитав это &lt;mark&gt;Данный файл уже содержит настройки программы Quik, и не требуется самостоятельная настройка таблиц&lt;/mark&gt; ) не добавив свой любимый сбер в таблицу инструменты. Теперь все работает и даже удалось рубль заработать[biggrin]. В документацию стоит добавить что самостоятельно придется добавить торгуемые инструменты.&lt;/p&gt;
</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">&lt;p&gt;Сейчас попробовал после загрузки консоли до &amp;quot;Портфель ХХХ получен&amp;quot;(здесь у меня всё и встаёт)вывеси стакан вручную и получил &amp;quot;Не удалось установить DDЕ соединение с сервером 'wrapper'.Либо не запущен 'стакан', либо в него не загружен лист 'SRH2@RTS'. Таблица 'SRH2@RTS'&amp;quot;. Неужели все это действительно работает [cursing] ?
Verifier говорит ок. Ну и код еще раз на всякий.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-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;/code&gt;&lt;/pre&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">Moadip: Поставьте демо квик(закажите доступ на сайте квик). Сначала будет только ММВБ. Потом дня чер...</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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(16484)" rel="nofollow" target="_blank"&gt;Moadip&lt;/a&gt;:&lt;/strong&gt;
Поставьте демо квик(закажите доступ на сайте квик). Сначала будет только ММВБ. Потом дня через два подключат фортс.
Проверьте как работает оригинальный пример SampleConsole, чтобы исключить ошибки на начальном этапе.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Тестировать нагляднее лучше на Sample. Но понять его сложнее.&lt;/p&gt;
</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;p&gt;Поставьте демо квик(закажите доступ на сайте квик). Сначала будет только ММВБ. Потом дня через два подключат фортс.
Проверьте как работает оригинальный пример SampleConsole, чтобы исключить ошибки на начальном этапе.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16477/</id>
    <title type="text">Moadip: Для всех экспериментов лучше поставить демо квик. На боевом как то неохото тренироваться в о...</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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(16475)" rel="nofollow" target="_blank"&gt;Moadip&lt;/a&gt;:&lt;/strong&gt;
Для всех экспериментов лучше поставить демо квик. На боевом как то неохото тренироваться в отладке кода.
Мне особо рисковать там нечем, отношусь как к демо [biggrin] .&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/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">&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/16474/</id>
    <title type="text">Moadip: Оригинальный пример 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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(16473)" rel="nofollow" target="_blank"&gt;Moadip&lt;/a&gt;:&lt;/strong&gt;
Оригинальный пример SampleConsole как работает? Нормально или нет?
У меня только Фортс включен.&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/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">&lt;p&gt;Оригинальный пример SampleConsole как работает? Нормально или нет?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16471/</id>
    <title type="text">И снова здравствуйте [woot] ! Спасибо 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">&lt;p&gt;И снова здравствуйте [woot] !
Спасибо vader и Moadip за внимание к проблеме.Я опять с плохими новостями.
Если использовать &lt;mark&gt;trader.StartExport(); trader.StopExport(); &lt;/mark&gt; то упираюсь в &amp;quot;Портфель ХХХ появился&amp;quot; а после закрытия консоли квик выдает - DDE сервер 'STOCKSHARP'. Документ 'все сделки[]'.
Таблица 'Все сделки'.
Ошибка при передаче таблицы,вывод приостановлен.
Неверные параметры.
И еще 'Переполнена очередь сообщений', и еще что-то про переполнение сервера что я не смог воспроизвести и записать. А при использовании старт экспорта с перечислением таблиц, также упираюсь в &amp;quot;Портфель ХХХ появился&amp;quot; но после закрытия консоли квик ошибок не выдает. Verifier говорит все хорошо. На всякий случай оставил в таблице всех сделок только сбер.
Кто что думает?&lt;/p&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">&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/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">&lt;p&gt;Это не фича и не баг. Это то как работает QuikTrader - строит информацию по той таблице, которая пришла первой.&lt;/p&gt;
</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;p&gt;Попробовал скопипастить ваш код и запустить.
В итоге работа программы остановилась на &amp;quot;стакан SRH2 появился&amp;quot;.
Запускаю оригинальный пример просто с изменением инструмента. То же самое.[blink]&lt;/p&gt;
&lt;p&gt;Ставлю бряк на вход в обработчик события NewPortfolios и наблюдаю следующуюю картину.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i32.fastpic.ru/big/2012/0215/c8/e9b60d07f8524765d54bd92276dc07c8.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Событие сработало, нашелся портфель ММВБ. Но после этого, событие больше не срабатывало. Хотя должно было, и должен был найден портфель FORTS&lt;/p&gt;
&lt;p&gt;Проблема оказалась в следующем. Есть вот такие куски кода&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-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;/code&gt;&lt;/pre&gt;
&lt;p&gt;Так вот в оригинальном примере по dde выводятся таблицы &amp;quot;портфель по бумагам&amp;quot; и &amp;quot;позиции по бумагам&amp;quot; - trader.EquityPositionsTable, trader.EquityPortfoliosTable&lt;/p&gt;
&lt;p&gt;Чтобы работать с фьючерсами, надо добавить еще две таблицы trader.DerivativePositionsTable и trader.DerivativePortfoliosTable&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-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;/code&gt;&lt;/pre&gt;
&lt;p&gt;Или сделать проще&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
trader.StartExport();

...

trader.StopExport();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;И все будет работать.&lt;/p&gt;
&lt;p&gt;Самое интересное почему у меня тогда вчера правильно работал этот пример, ведь я ничего не менял кроме инструмента?&lt;/p&gt;
&lt;p&gt;Начинаю разбираться. Удаляю таблицы по деривативам, запускаю, пример отрабатывает как надо.[blink]
Ставлю опять бряк на вход в обработчик события NewPortfolios. Смотрю, находится портфель по FORTS. Смотрю в квике запущен ли экспорт по таблицам деривативов - нет, не запущен.[confused]&lt;/p&gt;
&lt;p&gt;Оказывается. &lt;strong&gt;Даже если не запущен экспорт dde по таблицам деривативов, то если есть хоть одна заявка в таблице &amp;quot;Заявки&amp;quot;, то номер счета будет браться оттуда.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Это фича или баг?&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;Проверил следующим образом, удалил таблицу заявок из экспорта - trader.OrdersTable. Запустил и программа не отработала как надо.
Поэтому у меня вчера пример отработал без проблем, т.к. были сделки по FORTS.&lt;/p&gt;
</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">&lt;p&gt;&amp;quot;Кстати как код выкладывать цивилизовано?&amp;quot;
Нажать кнопку - ответить, там сверху есть кнопки, онда из них - подсветка кода.
Нажать её и выбрать нужный код. Появятся открывающий и закрывающий теги, ввести туда код.&lt;/p&gt;
&lt;p&gt;После того, как вы стака отредактировали ,вы нажимаете кнопку &amp;quot;Начать вывод&amp;quot; ?&lt;/p&gt;
</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">&lt;p&gt;В таблице &amp;quot;Инструменты&amp;quot; фьючерс SRH2 есть. Приложу листинг может пропустил что.Кстати как код выкладывать цивилизовано?
namespace SampleConsole
{
using System;
using System.Linq;
using System.Threading;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;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
		{
			// для теста выбираем бумагу Лукойл
			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)
						{
							// находим Лукойл и присваиваем ее переменной lkoh
							_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)
						{
							// находим Лукойл и присваиваем ее переменной lkoh
                            _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;Дожидаемся появления в программе инструмента Лукойл и портфеля {0}...&amp;quot;.Put(account));

					// запускаем экспорт по DDE
					trader.StartExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
					                   trader.EquityPortfoliosTable, trader.OrdersTable);

					// дожидаемся появления портфеля и инструмента
					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.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
					                  trader.EquityPortfoliosTable, trader.OrdersTable);
				}
			}
		}
		catch (Exception ex)
		{
			Console.WriteLine(ex);
		}
	}
}
&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.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">&lt;p&gt;Попробовал запустить SampleConsole
Поменял на SRH2&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;const string secCode = &amp;quot;SRH2&amp;quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Запустил, все отрабатывает нормально. В квике стакан открыт.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i32.fastpic.ru/big/2012/0214/9e/1e40ba20aa98cd738af40ecacee8fd9e.png" alt="" /&gt;&lt;img src="http://i29.fastpic.ru/big/2012/0214/75/17786c0f97b701baf51c6730ccc1e175.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Закрыл стакан, запустил, стакан открылся автоматом и все отработало как надо.&lt;/p&gt;
&lt;p&gt;У вас в таблице &lt;strong&gt;&amp;quot;Инструменты&amp;quot;&lt;/strong&gt; фьючерс SRH2 есть?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/16417/</id>
    <title type="text">vader: Я тоже. А что такое стоковский ванд? 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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(16416)" rel="nofollow" target="_blank"&gt;vader&lt;/a&gt;:&lt;/strong&gt;
Я тоже.
А что такое стоковский ванд?
Wnd файл.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>