﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Сборка стакана при помощи API</title>
  <id>~/topic/3249/sborka-stakana-pri-pomoshshi-api/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-30T07:17:09Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3249" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/28359/</id>
    <title type="text">Вторая попытка построить стакан максимальной глубины. Вроде, нормально строит )</title>
    <published>2013-11-21T20:26:17Z</published>
    <updated>2013-11-21T20:26:17Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Вторая попытка построить стакан максимальной глубины. Вроде, нормально строит )</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27988/</id>
    <title type="text">Если нужно, могу выслать исходники для воспроизведения ситуации.</title>
    <published>2013-11-02T12:55:52Z</published>
    <updated>2013-11-02T12:56:52Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Если нужно, могу выслать исходники для воспроизведения ситуации.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27987/</id>
    <title type="text">Предполагаю, что есть ошибка при сохранении стаканов. Ниже графики для стаканов глубиной int.Max, 10...</title>
    <published>2013-11-02T10:43:21Z</published>
    <updated>2013-11-02T10:43:21Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Предполагаю, что есть ошибка при сохранении стаканов. Ниже графики для стаканов глубиной int.Max, 1000, 100, 70. Чем меньше глубина стакана, тем более корректно он сохраняется. Размер файла quotes.bin с неограниченной глубиной стакана получился меньше, чем с глубиной 70.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27986/</id>
    <title type="text">Построение, похоже, выполняется правильно, в т.ч. после клиринга. По видимому, ошибка появляется либ...</title>
    <published>2013-11-01T19:19:56Z</published>
    <updated>2013-11-01T19:19:56Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Построение, похоже, выполняется правильно, в т.ч. после клиринга. По видимому, ошибка появляется либо при сохранении построенных стаканов на диск, либо при последующем чтении стаканов с диска. Сохраняю стаканы максимальной глубины.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27985/</id>
    <title type="text">Такая ситуация на большинстве торговых дней RIZ3 после клиринга. Разрывов данных нет. Странно, что е...</title>
    <published>2013-11-01T17:52:33Z</published>
    <updated>2013-11-01T17:52:33Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vk37 &lt;a href="https://stocksharp.ru/posts/m/27984/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Такая ситуация на большинстве торговых дней RIZ3 после клиринга. Разрывов данных нет. Странно, что если запустить построение стаканов с момента клиринга в том дне где ценовой уровень поменялся, то, вроде корректно строится. Проблемы при построении стаканов вечерней сессии после дневной. Только вечерняя строится, вроде, нормально.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А что говорит исходник?[smile] &lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27984/</id>
    <title type="text">Такая ситуация на большинстве торговых дней RIZ3 после клиринга. Разрывов данных нет. Странно, что е...</title>
    <published>2013-11-01T17:49:16Z</published>
    <updated>2013-11-01T17:49:16Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Такая ситуация на большинстве торговых дней RIZ3 после клиринга. Разрывов данных нет. Странно, что если запустить построение стаканов с момента клиринга в том дне где ценовой уровень поменялся, то, вроде корректно строится. Проблемы при построении стаканов вечерней сессии после дневной. Только вечерняя строится, вроде, нормально.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27983/</id>
    <title type="text">А точно нет гэпа в данных и они за один и тот же период? Подозрительно, что после клиринга ценовой у...</title>
    <published>2013-11-01T17:23:17Z</published>
    <updated>2013-11-01T17:23:17Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">А точно нет гэпа в данных и они за один и тот же период? Подозрительно, что после клиринга ценовой уровень изменился.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27980/</id>
    <title type="text">Попробовал построить стакан по ордер логу. Использовал OrderLogMarketDepthBuilder из версии 4.1.19.1...</title>
    <published>2013-11-01T09:47:14Z</published>
    <updated>2013-11-01T09:57:30Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Попробовал построить стакан по ордер логу. Использовал OrderLogMarketDepthBuilder из версии 4.1.19.1. Ошибок в процессе преобразования RIZ3 не возникло. Результат преобразования отобразил на графике. Второй график - стакан и сделки полученные обычным образом. Что-то не соответствует одно другому )</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27858/</id>
    <title type="text">В Гидре есть построение стаканов с ордерлога, можете посмотреть исходники на кодеплексе.Если речь ид...</title>
    <published>2013-10-22T12:22:26Z</published>
    <updated>2013-10-22T12:22:26Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vk37 &lt;a href="https://stocksharp.ru/posts/m/27857/" 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;esper &lt;a href="https://stocksharp.ru/posts/m/22997/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;В Гидре есть построение стаканов с ордерлога, можете посмотреть исходники на кодеплексе.&lt;/div&gt;&lt;/div&gt;Если речь идет о задаче по конвертации лога заявок в стакан в Гидре, то можно как-то посмотреть этот код? На кодплексе версия 4.1.9. Там такого функционала не нашел.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Послал по скайпу.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27857/</id>
    <title type="text">В Гидре есть построение стаканов с ордерлога, можете посмотреть исходники на кодеплексе.Если речь ид...</title>
    <published>2013-10-22T10:02:48Z</published>
    <updated>2013-10-22T10:02:48Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;esper &lt;a href="https://stocksharp.ru/posts/m/22997/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;В Гидре есть построение стаканов с ордерлога, можете посмотреть исходники на кодеплексе.&lt;/div&gt;&lt;/div&gt;Если речь идет о задаче по конвертации лога заявок в стакан в Гидре, то можно как-то посмотреть этот код? На кодплексе версия 4.1.9. Там такого функционала не нашел.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/22997/</id>
    <title type="text">if (OLItem.Order &amp;gt;= t) { break; } Зачем эта доп. проверка? Просто обрабатывайте все записи последова...</title>
    <published>2012-12-17T12:34:55Z</published>
    <updated>2012-12-17T12:34:55Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;if (OLItem.Order &amp;gt;= t) { break; }&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Зачем эта доп. проверка? Просто обрабатывайте все записи последовательно, время стакана будет равно времени последней обработанной записи.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Здесь выскакивает ошибка ArgumentOutOfRangeException: Котировка для заданной цены не была найдена. Parameter name: price. Actual value was 146390.&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.ru/posts/m/22992/</id>
    <title type="text">Если я все правильно понял, то делаю следующее: MarketDepth depth = new MarketDepth(security); Order...</title>
    <published>2012-12-17T10:41:53Z</published>
    <updated>2012-12-17T10:50:05Z</updated>
    <author>
      <name>abubakirov</name>
      <uri>https://stocksharp.ru/users/28714/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Если я все правильно понял, то делаю следующее:&lt;br /&gt;&lt;br /&gt;MarketDepth depth = new MarketDepth(security);&lt;br /&gt;OrderLogMarketDepthBuilder depthBuilder = new OrderLogMarketDepthBuilder(depth);&lt;br /&gt;foreach (OrderLogItem OLitem in reader)&lt;br /&gt;{&lt;br /&gt;    if (OLItem.Order &amp;gt;= t) { break; }&lt;br /&gt;    depthBuilder.Update(OLItem); //Здесь выскакивает ошибка ArgumentOutOfRangeException: Котировка для заданной цены не была найдена. Parameter name: price. Actual value was 146390.&lt;br /&gt;}</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/22987/</id>
    <title type="text">OrderLogMarketDepthBuilder</title>
    <published>2012-12-17T10:19:20Z</published>
    <updated>2012-12-17T10:19:20Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;a href="http://stocksharp.com/doc/html/T_StockSharp_Algo_OrderLogMarketDepthBuilder.htm" title="http://stocksharp.com/doc/html/T_StockSharp_Algo_OrderLogMarketDepthBuilder.htm"&gt;OrderLogMarketDepthBuilder&lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/22986/</id>
    <title type="text">Извиняюсь, если написал не в ту тему. Я пытаюсь собрать стакан из ордерлога при помощи API, отсюда в...</title>
    <published>2012-12-17T10:12:51Z</published>
    <updated>2012-12-17T10:12:51Z</updated>
    <author>
      <name>abubakirov</name>
      <uri>https://stocksharp.ru/users/28714/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Извиняюсь, если написал не в ту тему.&lt;br /&gt;&lt;br /&gt;Я пытаюсь собрать стакан из ордерлога при помощи API, отсюда возник ряд вопросов.&lt;br /&gt;&lt;br /&gt;Во-первых, можно ли узнать время, когда была отменена заявка? Если мы этого не знаем, то я не могу включить в стакан заявки, которые были отменены после того момента, на который я собираю стакан.&lt;br /&gt;&lt;br /&gt;Во-вторых, пусть мы рассматриваем только исполненные заявки:&lt;br /&gt;&lt;br /&gt;foreach (OrderLogItem OLItem in reader)&lt;br /&gt;{&lt;br /&gt;    if (!OLItem.IsMatched()) { continue; }&lt;br /&gt;    Order order = OLItem.Order;&lt;br /&gt;    if (order.Time &amp;gt;= t) { break; } //t - момент времени, на который собирается стакан&lt;br /&gt;    var tmp_trades = order.GetTrades(); //На этом моменте выскакивает ошибка ArgumentException: Заявка №№№ не имеет информацию о шлюзе. Parameter name: order&lt;br /&gt;&lt;br /&gt;Как справиться с этой ошибкой, и какого типа можно делать объект tmp_trades?&lt;br /&gt;&lt;br /&gt;Пытался так же сделать и по-другому:&lt;br /&gt;&lt;br /&gt;if (!OLItem.IsMatched()) { continue; }&lt;br /&gt;Trade trade = OLItem.Trade;&lt;br /&gt;if (trade.Time &amp;lt;= t) { continue; }&lt;br /&gt;decimal price = order.Price;&lt;br /&gt;//Далее идет запись данных в массив, он не так и важна.&lt;br /&gt;&lt;br /&gt;Но в этом случае возвращаются пустые массивы, то есть ни одна итерация не прошла условие цикла trade.Time &amp;gt; t&lt;br /&gt;&lt;br /&gt;Как мне решить мои проблемы? Возможно, сборка стаканов из ОЛ уже реализована в API, тогда подскажите, в какую часть мануала смотреть.&lt;br /&gt;&lt;br /&gt;Заранее благодарен</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>