﻿<?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/906/zaderzhka-vyvoda-stakana/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-21T17:21:55Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=906" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/1930/</id>
    <title type="text">А, точно, он в ITrader описан. Спасибо за ответы! </title>
    <published>2010-03-15T10:13:00Z</published>
    <updated>2010-03-15T10:13:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">А, точно, он в ITrader описан. Спасибо за ответы!&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/1929/</id>
    <title type="text">Второе вызывает первое. И больше ни в чем. Я сделал RegisterQuotes, потому что это универсальное наз...</title>
    <published>2010-03-12T18:43:00Z</published>
    <updated>2010-03-12T18:43:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Второе вызывает первое. И больше ни в чем.&lt;br /&gt;&lt;br /&gt;Я сделал RegisterQuotes, потому что это универсальное название, и&lt;br /&gt;механизм регастрации инструмента на получения стакана используется не&lt;br /&gt;только в Квик. А S# разрабатывается как платформо независимая&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/1928/</id>
    <title type="text">А в чем разница тогда между StartDde(lkoh) и RegisterQuotes(lkoh)? </title>
    <published>2010-03-12T18:40:00Z</published>
    <updated>2010-03-12T18:40:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">А в чем разница тогда между&lt;br /&gt;StartDde(lkoh) и RegisterQuotes(lkoh)?&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/1927/</id>
    <title type="text">trader.QuotesChanged - когда меняется весь стакан (квик шлет кстати целиком каждый раз). MarketDepth...</title>
    <published>2010-03-12T18:31:00Z</published>
    <updated>2010-03-12T18:31:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">trader.QuotesChanged - когда меняется весь стакан (квик шлет кстати&lt;br /&gt;целиком каждый раз). MarketDepth.Changed - когда меняется только одна&lt;br /&gt;строчка. Для квика мне кажется не актуально.&lt;br /&gt;&lt;br /&gt;RegisterQuotes - запускает экспорт ДДЕ по заявкам, тоесть вызывает&lt;br /&gt;StartDde(Security).&lt;br /&gt;GetMarketDepth - это получить то, что пришло под ДДЕ.&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/1926/</id>
    <title type="text">Да просто забыл об этом. этот же пункт сначала документации, а на этапе написания вывода стакана об ...</title>
    <published>2010-03-12T18:11:00Z</published>
    <updated>2010-03-12T18:11:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Да просто забыл об этом. этот же пункт сначала документации, а на&lt;br /&gt;этапе написания вывода стакана об этом уже и не помнилось.&lt;br /&gt;так что не &amp;quot;не до конца читаете&amp;quot;, а &amp;quot;не с начала&amp;quot;  :)&lt;br /&gt;попутно возник вопрос.&lt;br /&gt;&lt;br /&gt;как лучше сакан слушать - подписаться на событие trader.QuotesChanged&lt;br /&gt;или получить объект класса MarketDepth, и подписаться на его событие&lt;br /&gt;Changed?&lt;br /&gt;и вопрос 2 - а нафига метод ITrader..::.RegisterQuotes метод, если&lt;br /&gt;есть GetMarketDepth?&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/1925/</id>
    <title type="text">Ага, документацию не до конца читаете! </title>
    <published>2010-03-12T18:04:00Z</published>
    <updated>2010-03-12T18:04:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Ага, документацию не до конца читаете!&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/1924/</id>
    <title type="text">Вопрос решился сам собой путем прописывания в info.ini price-timeout=10 </title>
    <published>2010-03-12T17:41:00Z</published>
    <updated>2010-03-12T17:41:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Вопрос решился сам собой&lt;br /&gt;путем прописывания в info.ini&lt;br /&gt;[excel]&lt;br /&gt;price-timeout=10&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/1923/</id>
    <title type="text">Все правильно. Посмотрю позднее. </title>
    <published>2010-03-12T16:56:00Z</published>
    <updated>2010-03-12T16:56:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Все правильно. Посмотрю позднее.&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/1922/</id>
    <title type="text">Может я стакан как то не так получаю? </title>
    <published>2010-03-12T16:34:00Z</published>
    <updated>2010-03-12T16:34:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Может я стакан как то не так получаю?&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/1921/</id>
    <title type="text">В консоли то же самое. ощущение что событие возникает не при каждом изменеии стакана, а в какие то п...</title>
    <published>2010-03-12T16:31:00Z</published>
    <updated>2010-03-12T16:31:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В консоли то же самое. ощущение что событие возникает не при каждом&lt;br /&gt;изменеии стакана, а в какие то промежутки времени&lt;br /&gt;&lt;br /&gt;вот код&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; trader.StartDde(lkoh);&lt;br /&gt;&lt;br /&gt; trader.QuotesChanged += new&lt;br /&gt;Action&amp;lt;MarketDepth&amp;gt;(trader_QuotesChanged);&lt;br /&gt;  waitHandle.WaitOne();&lt;br /&gt;&lt;br /&gt;static void trader_QuotesChanged(MarketDepth obj)&lt;br /&gt;{&lt;br /&gt;     if (obj.Security.Code == &amp;quot;LKOH&amp;quot;)&lt;br /&gt;     Console.WriteLine(obj.BestBid.Price.ToString());&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/1920/</id>
    <title type="text">Хм, щас попробую. я уже думал об этом, просто в консоли неудобно наблюдать... </title>
    <published>2010-03-12T16:19:00Z</published>
    <updated>2010-03-12T16:19:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Хм, щас попробую. я уже думал об этом, просто в консоли неудобно&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/1919/</id>
    <title type="text">Ага, теперь видно. Смотрите на код: edtStakanBestBid.BeginInvoke(setStakanBid, new object { obj.Best...</title>
    <published>2010-03-12T16:13:00Z</published>
    <updated>2010-03-12T16:13:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Ага, теперь видно. Смотрите на код:&lt;br /&gt;&lt;br /&gt;edtStakanBestBid.BeginInvoke(setStakanBid, new&lt;br /&gt;object[] { obj.BestBid.Price.ToString() });&lt;br /&gt;&lt;br /&gt;Он говорит, что обновление поля будет не мгновенно, а поставиться в&lt;br /&gt;очередь с другими windows событиями... Поэтому лучше проверять через&lt;br /&gt;консольное приложение. Там никаких синхронизаций нет. Появилось&lt;br /&gt;событие - вывелось в Console.WriteLine&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/1918/</id>
    <title type="text">Да я уж не стакан отображаю, а просто BestBid вывожу в TextEdit. все равно задержка. Делаю это так (...</title>
    <published>2010-03-12T16:05:00Z</published>
    <updated>2010-03-12T16:05:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Да я уж не стакан отображаю, а просто BestBid вывожу в TextEdit. все&lt;br /&gt;равно задержка.&lt;br /&gt;&lt;br /&gt;Делаю это так (.NET 2.0 стиль)&lt;br /&gt;&lt;br /&gt;internal delegate void SetString(string str);&lt;br /&gt;&lt;br /&gt;private SetString setStakanBid&lt;br /&gt;&lt;br /&gt;public Form1()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;            ...&lt;br /&gt;            setStakanBid = setStakanBestBid;&lt;br /&gt;        }&lt;br /&gt;void setStakanBestBid(string bid)&lt;br /&gt;        {&lt;br /&gt;            edtStakanBestBid.Text = bid;&lt;br /&gt;        }&lt;br /&gt;private void Form1_Load(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;         .....&lt;br /&gt;         waitHandle.WaitOne();&lt;br /&gt;            waitHandle.Close();&lt;br /&gt;&lt;br /&gt;           trader.SecuritiesChanged += new&lt;br /&gt;Action&amp;lt;IEnumerable&amp;lt;Security&amp;gt;&amp;gt;(trader_SecuritiesChanged);&lt;br /&gt;            trader.QuotesChanged += new&lt;br /&gt;Action&amp;lt;MarketDepth&amp;gt;(trader_QuotesChanged);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;void trader_QuotesChanged(MarketDepth obj)&lt;br /&gt;        {&lt;br /&gt;            if (obj.Security.Code == &amp;quot;LKOH&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                if (edtStakanBestBid.InvokeRequired)&lt;br /&gt;                    edtStakanBestBid.BeginInvoke(setStakanBid, new&lt;br /&gt;object[] { obj.BestBid.Price.ToString() });&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;вроде особых накладных расходов не должно быть, но задержки все равно&lt;br /&gt;наблюдаются.&lt;br /&gt;&lt;br /&gt;а бид/аск из Инстроментов  момент в момент выводятся.&lt;br /&gt;&lt;br /&gt;Хотя ниже я в одной тееме прочитал что юзать MarketDepth&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/1917/</id>
    <title type="text">при любом изменении стакана... отображение тоже кушает время. по одному этмоу факту мерять бесполезн...</title>
    <published>2010-03-12T15:48:00Z</published>
    <updated>2010-03-12T15:48:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">при любом изменении стакана... отображение тоже кушает время. по&lt;br /&gt;одному этмоу факту мерять бесполезно (робот то все равно не считывает&lt;br /&gt;визуальные данные). Посмотрите, с какой скоростью вызывается сам&lt;br /&gt;QuotesChanged. Если одновременно, просто оптимизируйте отображение&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/1916/</id>
    <title type="text">Здравствуйте. Скажите - а стакан выводится в событии ITrader.QuotesChanged с какойто заданной частот...</title>
    <published>2010-03-12T15:13:00Z</published>
    <updated>2010-03-12T15:13:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.com/users/26822/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Здравствуйте. Скажите - а стакан выводится в событии&lt;br /&gt;ITrader.QuotesChanged с какойто заданной частотой или при любом&lt;br /&gt;изменении стакана? Я спрашиваю потому , что у меня стакан отображается&lt;br /&gt;с небольшой задержкой.на полсекунды отстает от квика. паралельно бид и&lt;br /&gt;аск из таблицы Инструменты появляются в тот же момент. &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>