﻿<?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">Не верный расчет Latency в EmulationTrader</title>
  <id>~/topic/2805/ne-vernyi-raschet-latency-v-emulationtrader/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-30T01:46:50Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2805" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/20303/</id>
    <title type="text">Непонятно зачем нужен такой параметр максимальной задержки Минимальная введена чтобы имитировать зад...</title>
    <published>2012-07-11T17:05:15Z</published>
    <updated>2012-07-11T17:05:15Z</updated>
    <author>
      <name>pyhta4og</name>
      <uri>https://stocksharp.com/users/497/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;PavelAd &lt;a href="https://stocksharp.com/posts/m/20280/" 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;pyhta4og &lt;a href="https://stocksharp.com/posts/m/20119/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Непонятно зачем нужен такой параметр максимальной задержки&lt;br /&gt;&lt;br /&gt;Минимальная введена чтобы имитировать задержку сетевого канала.&lt;br /&gt;&lt;br /&gt;Если не хотите задержки вообще - ставьте Latency=0 тогда будет мгновенное исполнение.&lt;br /&gt;&lt;br /&gt;В чем конечная проблема которую вы пытаетесь решить?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Максимальное значение так же нужно чтобы ограничить задержку сверху.&lt;br /&gt;А так получается задержка максимальным пределом не ограничена. Или все таки ограничена?&lt;br /&gt;Алгоритм расчета задержки можно привести?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;cмотрите. Latency это MarketEmulator.Settings.Latency - то что названо &amp;quot;минимальная задержка&amp;quot;.&lt;br /&gt;&lt;br /&gt;Когда эмулятор получает заявку от стратегии он просто помещает ее в список неактивных (пока) заявок, которые &amp;quot;в пути&amp;quot;&lt;br /&gt;&lt;br /&gt;Когда эмулятор получает новый тик или стакан, он смотрит, не сидит ли заявка &amp;quot;в пути&amp;quot; больше чем Latency-мин. задержка. И если это так - обрабатывает заявку, отправляет в шлюз NewOrder. И в заявке запоминается Order.Latency - фактическое время &amp;quot;в пути&amp;quot;. &lt;br /&gt;&lt;br /&gt;Оно по данному алгоритму будет не меньше Latency, поэтому Latency- миним. задержка.&lt;br /&gt;&lt;br /&gt;Название плохое, потому что это просто эмулируемая задержка.&lt;br /&gt;&lt;br /&gt;Есть ньюанс что если тик или стакан не придет втечение долгого времени после отправки заявки то и заявка не будут активизирована, те будут как бы вечно &amp;quot;в пути&amp;quot;.&lt;br /&gt;&lt;br /&gt;Если это доставляет проблему то можно пофиксить последний момент и тогда факт задержка будет совпадаеть с Latency, те не будет ситуаций когда факт. Latency сильно больше чем MarketEmulator.Settings.Latency&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;hope it helps</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20280/</id>
    <title type="text">Непонятно зачем нужен такой параметр максимальной задержки Минимальная введена чтобы имитировать зад...</title>
    <published>2012-07-11T09:20:48Z</published>
    <updated>2012-07-11T09:20:48Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.com/users/6072/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/20119/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Непонятно зачем нужен такой параметр максимальной задержки&lt;br /&gt;&lt;br /&gt;Минимальная введена чтобы имитировать задержку сетевого канала.&lt;br /&gt;&lt;br /&gt;Если не хотите задержки вообще - ставьте Latency=0 тогда будет мгновенное исполнение.&lt;br /&gt;&lt;br /&gt;В чем конечная проблема которую вы пытаетесь решить?&lt;/div&gt;&lt;/div&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/20119/</id>
    <title type="text">Непонятно зачем нужен такой параметр максимальной задержки Минимальная введена чтобы имитировать зад...</title>
    <published>2012-07-03T15:16:10Z</published>
    <updated>2012-07-03T15:16:10Z</updated>
    <author>
      <name>pyhta4og</name>
      <uri>https://stocksharp.com/users/497/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Непонятно зачем нужен такой параметр максимальной задержки&lt;br /&gt;&lt;br /&gt;Минимальная введена чтобы имитировать задержку сетевого канала.&lt;br /&gt;&lt;br /&gt;Если не хотите задержки вообще - ставьте Latency=0 тогда будет мгновенное исполнение.&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/20043/</id>
    <title type="text">Михаил (пыхтачог) приедет из отпуска, ответит.</title>
    <published>2012-06-27T08:19:56Z</published>
    <updated>2012-06-27T08:19:56Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</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/20040/</id>
    <title type="text">Принято пожелание или нет?</title>
    <published>2012-06-27T07:43:05Z</published>
    <updated>2012-06-27T07:43:05Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.com/users/6072/</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/19985/</id>
    <title type="text">Параметр эмулятора Latency означает МИНИМАЛЬНУЮ задержку от момента RegisterOrder до момента когда з...</title>
    <published>2012-06-22T02:32:49Z</published>
    <updated>2012-06-22T02:50:45Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.com/users/6072/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/19947/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Параметр эмулятора Latency означает МИНИМАЛЬНУЮ задержку от момента RegisterOrder до момента когда заявка начинает обрабатываться в эмуляторе.&lt;br /&gt;&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;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;MarketEmulatorSettings.Latency свойство &lt;br /&gt;&lt;br /&gt;Максимальное значение задержки выставляемых заявок. По умолчанию равно Zero, что означает мгновенное принятие биржей выставляемых заявок.&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/19947/</id>
    <title type="text">Параметр эмулятора Latency означает МИНИМАЛЬНУЮ задержку от момента RegisterOrder до момента когда з...</title>
    <published>2012-06-21T10:55:10Z</published>
    <updated>2012-06-21T10:55:10Z</updated>
    <author>
      <name>pyhta4og</name>
      <uri>https://stocksharp.com/users/497/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Параметр эмулятора Latency означает МИНИМАЛЬНУЮ задержку от момента RegisterOrder до момента когда заявка начинает обрабатываться в эмуляторе.&lt;br /&gt;&lt;br /&gt;Фактически, сейчас эмулятор устроен так, что этот момент времени обязан совпадать с временем прихода в эмулятор очередного тика или стакана. Именно в эти моменты происходит проверка заявок на то, что задержка уже больше чем параметр Latency и заявку можно обрабатывать.&lt;br /&gt;&lt;br /&gt;В вашем случае видимо первый тик пришел через 3 секунды. И ФАКТИЧЕСКАЯ задержка (Order.Latency) была 3 секунды. Что больше минимальной. &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/19940/</id>
    <title type="text">Произвожу тестирование с использованием EmulationTrader, задаю максимальную задержку так: var emulat...</title>
    <published>2012-06-21T07:00:33Z</published>
    <updated>2012-06-21T07:00:33Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.com/users/6072/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Произвожу тестирование с использованием EmulationTrader, задаю  максимальную задержку так:&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;

        var emulationTrader = new EmulationTrader(new[] { security }, new[] { portfolio }) {
          MarketTimeChangedInterval = new TimeSpan(0, 0, 0, 10, 0), // Изменение Trader.MarketTime каждые 10 секунд
          StorageRegistry = storageRegistry,
          WorkingTime = Exchange.Rts.WorkingTime,          
          UseMarketDepth = false          
        };
        // Задаем максимальную задержку принятия выставляемых заявок на бирже
        emulationTrader.MarketEmulator.Settings.Latency = new TimeSpan(0, 0, 0, 0, 250);
&lt;/pre&gt;
&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;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;10:55:05.000 |            | TS_RIM2@RTS_tst | Выставлена PROFIT заявка по цене 156750 для заявки с Id=23. TransactionId=56758977, Id=24, V=1, Pos=1, задержка 00:00:03&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;в примере например 3 секунды</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>