﻿<?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">Вопросы по архитектуре history testing</title>
  <id>~/topic/1369/voprosy-po-arhitekture-history-testing/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-04T03:51:18Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1369" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/7735/</id>
    <title type="text"> В заключение уместно добавить, что я наткнулся на BidAskHistory.ru-вроде обещают продавать с миллис...</title>
    <published>2011-04-27T21:05:13Z</published>
    <updated>2011-04-27T21:05:13Z</updated>
    <author>
      <name>roman</name>
      <uri>https://stocksharp.com/users/27830/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;В заключение уместно добавить, что я наткнулся на BidAskHistory.ru-вроде обещают продавать с миллисекундной точностью данные включая стаканы.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;У них дата последняя за 11.2010. Они еще в седле?&lt;/div&gt;&lt;/div&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/6116/</id>
    <title type="text">Подскажите пожалуйста, где можно познакомиться с описанием существующего алгоритма генерации стакана...</title>
    <published>2011-02-21T11:17:06Z</published>
    <updated>2011-02-21T11:17:06Z</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;Juri &lt;a href="https://stocksharp.com/posts/m/6113/" 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;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В аттаче. Это то что в версии 3.0.5</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6113/</id>
    <title type="text">Подскажите пожалуйста, где можно познакомиться с описанием существующего алгоритма генерации стакана...</title>
    <published>2011-02-21T11:09:33Z</published>
    <updated>2011-02-21T11:09:33Z</updated>
    <author>
      <name>Juri</name>
      <uri>https://stocksharp.com/users/27598/</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/6106/</id>
    <title type="text">Цитировать уже нереально, буду по пунктам. 1. securitySettings - так правильно, тестирование оживает...</title>
    <published>2011-02-21T09:25:25Z</published>
    <updated>2011-02-21T09:25:25Z</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;1. securitySettings - так правильно, тестирование оживает каждый раз, как только TimeStep увеличивает время. Соответственно и смотрится, если стакан должен был сгенерироваться (у него высокая ликвидность), он генерируется. Если нет (у него низкая ликвидность), ожидаем второй итерации.&lt;br /&gt;&lt;br /&gt;2. Миллисекунды в тиках. Это уже эвристика пошла. Не уверен, что ее стоит зашивать внутрь S#.&lt;br /&gt;&lt;br /&gt;3. &amp;quot;Если брать расброс предыдущих, то следующая тиковая сделка может внутрь текущего имитируемого спреда попасть&amp;quot;. Это я не понял. Стакан строиться по тикам за период. Как будет влиять на спред то, какой именно период был взят, предыдущий или будущий?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6101/</id>
    <title type="text"> 1. MarketTime прихода OnProcess не 0.1 сек как хотелось а 1.1 сек! А именно 10:30:20.900,10:30:22.0...</title>
    <published>2011-02-20T21:54:22Z</published>
    <updated>2011-02-20T21:54:22Z</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;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/6094/" 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/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;1. MarketTime прихода OnProcess не 0.1 сек как хотелось а 1.1 сек! А именно&lt;br /&gt;10:30:20.900,10:30:22.000,10:30:23.100.&lt;br /&gt;&lt;br /&gt;Это по-моему неправильно, раз я заказывал 0.1 сек.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А интервал у самой стратегии изменили? По умолчанию он как раз равен секунде. И видимо это и сыграло свою роль.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Поставил Strategy.Interval=TimeSpan.Zero. OnProcess начал приходить как заказывал в TimeShiftStrategyManager.TimeStep=0.1сек. В realtime не проверял, насколько корректно ставить Strategy.Interval=0? &lt;br /&gt;&lt;br /&gt;Хотя, с этими интервалами реально путаница в случае с историческим тестироваием. Их слишком много ;)&lt;br /&gt;&lt;br /&gt;Strategy.Interval&lt;br /&gt;Дока: &lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;Интервал стратегии. Как часто StrategyManager будет вызывать метод Process(DateTime).&lt;/div&gt;&lt;/div&gt; В реальности нет метода StrategyManager.Process(DateTime). Есть только факт того что Strategy.OnProcess вызывается не чаще чем этот интервал.&lt;br /&gt;&lt;br /&gt;TimeShiftStrategyManager.TimeStep &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;Временной шаг перемещения во времени, на который будет изменятся время from до to в методе Start(DateTime, DateTime). &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В реальности это минимальный интервал времени биржи Trader.MarketTime с которым вызывается Strategy.OnProcess.&lt;br /&gt;&lt;br /&gt;результат моего эксперимента.  Если поставть Strategy.Interval=1000msec, TimeShiftStrategyManager.TimeStep=200msec то OnProcess приходит с периодом 1200msec, &lt;br /&gt;А если Strategy.Interval=999msec, а TimeShiftStrategyManager.TimeStep=200msec, то с периодом 1000msec.&lt;br /&gt;Похоже там где-то &amp;gt; на &amp;gt;= надо заменить ;)&lt;br /&gt;&lt;br /&gt;TimeShiftStrategyManager.Interval я бы переименовал в SimulationDelay, потому что это просто задержка программы симулятора на какое-то время и к Trader.MarketTime отношения похоже не имеет. Причем я поставил 1 секунду, а OnProcess у меня в реальности раз в 2 секунды вызывался (судя по наручным часам). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Плюс еще есть параметр конструктора HistoryTestTrader&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; securitySettings:&lt;br /&gt;        //     Инструменты, с которыми будет вестись работа, и интервал обновления для каждого&lt;br /&gt;        //     инструмента.  Интервал показывает степерь ликвидности инструмента, которое&lt;br /&gt;        //     влияет на скорость обновления стакана.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В реальности я ставил всякие значения от 100 мс до 10 сек, но стаканы(генерированные) у меня приходили раз в 200 мсек, т.е. как указано было в TimeShiftStrategyManager.TimeStep=200мсек. Причем разные стаканы.&lt;br /&gt;&lt;br /&gt;Так что поясните что такое &amp;quot;скорость обновления стакана&amp;quot; пожалуйста ;)&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;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;2. Новый стакан генерится с интервалом 0.1 сек, при этом опорная цена берется последняя из тиков датированных последней секундной отметкой.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&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 class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;3. В связи с первым пунктом писать тиковые стратегии не получится тк OnProcess после каждого тика не вызовется. Тут есть гипотеза что это в связи с тем что точность времени у тиков 1 секунда. Но все исторические источники обладают у нас таким недостатком.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это не источник, а биржа. Она транслирует с секундной точностью.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Пусть у меня 10 тиков датированные 10:30:00. На ликвиде типа RIH1 этого предостаточно. Я хочу чтобы симулятор сам наставил им миллисекунд чтобы они равномерно распределились по промежутку 10:30:00-10:30:01. Тогда у меня будут нормально генерится стаканы, т.е. 1-й тик, 1-й стакан; 2-й тик, 2-й стакан и тд. Сейчас сначала все 10 тиков, потом стакан для последнего тика в секунде.&lt;br /&gt;&lt;br /&gt;Насчет биржи. Если в тике нет миллисекундной пометки, а есть только секундная, то можно в realtime-адаптерах милисекунды прикидывать по фактическому времени прихода тика. &lt;br /&gt;Т.е. пришел из смарта тик за 10:30:00 в 10:30:00.100. Он 100 мс шел от биржи через ITINVEST до S#. Cледующий пришел  10:30:00.500. Можно второму тику поставить 500-100=400 мсек, считая что они идут до нас одинаковый промежуток времени с биржи.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;4. Стакан генерируется с шагом цены 0.1 пункта вместо 5. Так и должно быть?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;// создаем тестовый инструмент, на котором будет производится тестирование&lt;br /&gt;			var security = new Security&lt;br /&gt;			{&lt;br /&gt;				Id = &amp;quot;RTS-9.09&amp;quot;, // по идентификатору инструмента будет искаться папка с историческими маркет данными&lt;br /&gt;				Code = &amp;quot;RI&amp;quot;,&lt;br /&gt;				Name = &amp;quot;RI&amp;quot;,&lt;br /&gt;				&lt;span class="highlight"&gt;MinStepSize = 0.1&lt;/span&gt;,&lt;br /&gt;				MinStepPrice = 2,&lt;br /&gt;				Decimals = 1,&lt;br /&gt;				Exchange = Exchange.Test,&lt;br /&gt;			};&lt;br /&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;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" 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;5. По виду генерируемый стакан осуществляет некоторое случайное блуждание вокруг цены последней сделки.&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 class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;У меня родилась некая идея как можно было бы генерировать стакан.&lt;br /&gt;Я ее нарисовал на картинке. &lt;a href="http://stocksharp.com/forum/yaf_album.aspx?u=285&amp;amp;a=9
" title="http://stocksharp.com/forum/yaf_album.aspx?u=285&amp;amp;a=9
"&gt;http://stocksharp.com/fo...lbum.aspx?u=285&amp;amp;a=9
&lt;/a&gt;&lt;br /&gt;Так вот, алгоритм следующй ( на картинке называется алгоритм2)&lt;br /&gt;&lt;br /&gt;Пусть цена последней сделки(сделка1) равна P1. Симулятор знает цену следующей сделки после этой (в будущем) с ценой отличной от P1 (т.е. если после сделки1 идут несколько с той же ценой их пропускаем и берем следующую, с другой ценой). Пусть эта цена P2. Тогда после сделки1 (которая с ценой P1) принимаем лучший бид равным min(P1,P2), лучший аск равным max(P1,P2).&lt;br /&gt;&lt;br /&gt;Если посмотреть на рисунок, то, как мне кажется, спред имитируется правдоподобно.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Рисунок мне нравиться. Не нравиться, то что сделку ищем в будущем. Потому как получается, что у нас есть сделка на текущей момент в истории. Она получилась не просто так, а потому что произошло пересечение бида и оффера в прошлом (миллисекунда назад или чуть больше, но это &lt;b&gt;было&lt;/b&gt;, а не будет). Но идея очень интересная. Можно смотреть по прошедшим тика. Если у нас тики начинаю идти в разброс, значит спред раздвигается. И наоборот, если сделки начали идти во круг какой-то цены, значит происходила сдвижка спреда.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Использование &amp;quot;будущих данных&amp;quot; при тестировании большой грех. Сам много &amp;quot;граалей&amp;quot; находил, которые вперед на 1 шаг заглядывали по ошибке кодирования;)&lt;br /&gt;&lt;br /&gt;Но в данном случае по будущей получается красивее спред. Если брать расброс предыдущих, то следующая тиковая сделка может внутрь текущего имитируемого спреда попасть, а в случае с будущей - кладется на край имитируемого спреда как влитая.&lt;br /&gt;&lt;br /&gt;Правда чтобы заимплементить хотя бы с вариантом &amp;quot;разброс в прошлом&amp;quot; надо чтобы MarketDepthGenerator знал историю сделок каждой бумаги. Можно хранить в нем Map&amp;lt;Security-&amp;gt;Last_n_Ticks&amp;gt;  и заполнять в Generate(Security) беря tick из Security.Price. Это если Generate вызывается ровно 1 раз на 1 тик. Но лучше его подписать на ITrader.NewTicks наверно...&lt;br /&gt;&lt;br /&gt;А вот вариант с &amp;quot;будущей сделкой&amp;quot; как имплементить я не знаю потому что неведомо мне как читаются данные.&lt;br /&gt;&lt;br /&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;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;В заключение уместно добавить, что я наткнулся на BidAskHistory.ru-вроде обещают продавать с миллисекундной точностью данные включая стаканы.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;У них дата последняя за 11.2010. Они еще в седле?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&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/6094/</id>
    <title type="text"> 1. MarketTime прихода OnProcess не 0.1 сек как хотелось а 1.1 сек! А именно 10:30:20.900,10:30:22.0...</title>
    <published>2011-02-19T21:22:37Z</published>
    <updated>2011-02-19T21:22:37Z</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;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;1. MarketTime прихода OnProcess не 0.1 сек как хотелось а 1.1 сек! А именно&lt;br /&gt;10:30:20.900,10:30:22.000,10:30:23.100.&lt;br /&gt;&lt;br /&gt;Это по-моему неправильно, раз я заказывал 0.1 сек.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А интервал у самой стратегии изменили? По умолчанию он как раз равен секунде. И видимо это и сыграло свою роль.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;2. Новый стакан генерится с интервалом 0.1 сек, при этом опорная цена берется последняя из тиков датированных последней секундной отметкой.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Что в этом не так?&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;3. В связи с первым пунктом писать тиковые стратегии не получится тк OnProcess после каждого тика не вызовется. Тут есть гипотеза что это в связи с тем что точность времени у тиков 1 секунда. Но все исторические источники обладают у нас таким недостатком.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это не источник, а биржа. Она транслирует с секундной точностью.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;4. Стакан генерируется с шагом цены 0.1 пункта вместо 5. Так и должно быть?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;// создаем тестовый инструмент, на котором будет производится тестирование&lt;br /&gt;			var security = new Security&lt;br /&gt;			{&lt;br /&gt;				Id = &amp;quot;RTS-9.09&amp;quot;, // по идентификатору инструмента будет искаться папка с историческими маркет данными&lt;br /&gt;				Code = &amp;quot;RI&amp;quot;,&lt;br /&gt;				Name = &amp;quot;RI&amp;quot;,&lt;br /&gt;				&lt;span class="highlight"&gt;MinStepSize = 0.1&lt;/span&gt;,&lt;br /&gt;				MinStepPrice = 2,&lt;br /&gt;				Decimals = 1,&lt;br /&gt;				Exchange = Exchange.Test,&lt;br /&gt;			};&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;5. По виду генерируемый стакан осуществляет некоторое случайное блуждание вокруг цены последней сделки.&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 class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;У меня родилась некая идея как можно было бы генерировать стакан.&lt;br /&gt;Я ее нарисовал на картинке. &lt;a href="http://stocksharp.com/forum/yaf_album.aspx?u=285&amp;amp;a=9
" title="http://stocksharp.com/forum/yaf_album.aspx?u=285&amp;amp;a=9
"&gt;http://stocksharp.com/fo...lbum.aspx?u=285&amp;amp;a=9
&lt;/a&gt;&lt;br /&gt;Так вот, алгоритм следующй ( на картинке называется алгоритм2)&lt;br /&gt;&lt;br /&gt;Пусть цена последней сделки(сделка1) равна P1. Симулятор знает цену следующей сделки после этой (в будущем) с ценой отличной от P1 (т.е. если после сделки1 идут несколько с той же ценой их пропускаем и берем следующую, с другой ценой). Пусть эта цена P2. Тогда после сделки1 (которая с ценой P1) принимаем лучший бид равным min(P1,P2), лучший аск равным max(P1,P2).&lt;br /&gt;&lt;br /&gt;Если посмотреть на рисунок, то, как мне кажется, спред имитируется правдоподобно.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Рисунок мне нравиться. Не нравиться, то что сделку ищем в будущем. Потому как получается, что у нас есть сделка на текущей момент в истории. Она получилась не просто так, а потому что произошло пересечение бида и оффера в прошлом (миллисекунда назад или чуть больше, но это &lt;b&gt;было&lt;/b&gt;, а не будет). Но идея очень интересная. Можно смотреть по прошедшим тика. Если у нас тики начинаю идти в разброс, значит спред раздвигается. И наоборот, если сделки начали идти во круг какой-то цены, значит происходила сдвижка спреда.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/6090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;В заключение уместно добавить, что я наткнулся на BidAskHistory.ru-вроде обещают продавать с миллисекундной точностью данные включая стаканы.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;У них дата последняя за 11.2010. Они еще в седле?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6090/</id>
    <title type="text"> Тестировал SampleHistoryTesting на RTS-03.11. Данные с РТС, метка времени у трейдов - с точностью д...</title>
    <published>2011-02-19T12:47:24Z</published>
    <updated>2011-02-19T12:47:24Z</updated>
    <author>
      <name>pyhta4og</name>
      <uri>https://stocksharp.com/users/497/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">[3.0.5] &lt;br /&gt;Тестировал SampleHistoryTesting на RTS-03.11. Данные с РТС, метка времени у трейдов - с точностью до секунды (к сожалению), соответственно много трейдов с одинаковой меткой времени.&lt;br /&gt;&lt;br /&gt;Поставил TimeShiftStrategyManager.TimeStep=0.1сек.&lt;br /&gt;&lt;br /&gt;В SmaStrategy подписался на Trader.NewTrades и Trader.QuotesChanged и печатал в них приходящие трейд и пару бид-аск с соответственными моментами времени.&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;br /&gt;T (0);MT=20110111 10:30:20.000; TT=20110111 10:30:20.000;178250@1&lt;br /&gt;T (1);MT=20110111 10:30:20.000; TT=20110111 10:30:20.000;178260@2&lt;br /&gt;T (2);MT=20110111 10:30:20.000; TT=20110111 10:30:20.000;178260@1&lt;br /&gt;T (3);MT=20110111 10:30:20.000; TT=20110111 10:30:20.000;178260@1&lt;br /&gt;T (4);MT=20110111 10:30:20.000; TT=20110111 10:30:20.000;178250@1&lt;br /&gt;T (5);MT=20110111 10:30:20.000; TT=20110111 10:30:20.000;178250@1&lt;br /&gt;T (6);MT=20110111 10:30:20.000; TT=20110111 10:30:20.000;178260@2&lt;br /&gt;MD(0);MT=20110111 10:30:20.000;LCT=20110111 10:30:20.000;BID=178259@13;OFFER=178259.2@1&lt;br /&gt;MD(0);MT=20110111 10:30:20.100;LCT=20110111 10:30:20.100;BID=178260@17;OFFER=178261@9&lt;br /&gt;MD(0);MT=20110111 10:30:20.200;LCT=20110111 10:30:20.200;BID=178259.6@15;OFFER=178260.8@6&lt;br /&gt;MD(0);MT=20110111 10:30:20.300;LCT=20110111 10:30:20.300;BID=178259.2@3;OFFER=178260.3@5&lt;br /&gt;MD(0);MT=20110111 10:30:20.400;LCT=20110111 10:30:20.400;BID=178260@8;OFFER=178260.4@20&lt;br /&gt;MD(0);MT=20110111 10:30:20.500;LCT=20110111 10:30:20.500;BID=178259.2@18;OFFER=178260.4@4&lt;br /&gt;MD(0);MT=20110111 10:30:20.600;LCT=20110111 10:30:20.600;BID=178259.9@19;OFFER=178261.1@4&lt;br /&gt;MD(0);MT=20110111 10:30:20.700;LCT=20110111 10:30:20.700;BID=178258.9@3;OFFER=178259.8@12&lt;br /&gt;MD(0);MT=20110111 10:30:20.800;LCT=20110111 10:30:20.800;BID=178258.6@13;OFFER=178259.9@20&lt;br /&gt;MD(0);MT=20110111 10:30:20.900;LCT=20110111 10:30:20.900;BID=178259.3@7;OFFER=178260.1@14&lt;br /&gt;OnPro;MT=20110111 10:30:20.900;BestBid=Бид 178259.3 7;BestAsk=Оффер 178260.1 14;LastTT20110111 10:30:20.000;178260@2&lt;br /&gt;T (0);MT=20110111 10:30:21.000; TT=20110111 10:30:21.000;178260@1&lt;br /&gt;T (1);MT=20110111 10:30:21.000; TT=20110111 10:30:21.000;178250@2&lt;br /&gt;T (2);MT=20110111 10:30:21.000; TT=20110111 10:30:21.000;178260@1&lt;br /&gt;T (3);MT=20110111 10:30:21.000; TT=20110111 10:30:21.000;178250@1&lt;br /&gt;MD(0);MT=20110111 10:30:21.000;LCT=20110111 10:30:21.000;BID=178249.4@17;OFFER=178251.1@4&lt;br /&gt;MD(0);MT=20110111 10:30:21.100;LCT=20110111 10:30:21.100;BID=178248.7@14;OFFER=178249.5@10&lt;br /&gt;MD(0);MT=20110111 10:30:21.200;LCT=20110111 10:30:21.200;BID=178248.4@11;OFFER=178249.6@7&lt;br /&gt;MD(0);MT=20110111 10:30:21.300;LCT=20110111 10:30:21.300;BID=178249.6@7;OFFER=178251.5@13&lt;br /&gt;MD(0);MT=20110111 10:30:21.400;LCT=20110111 10:30:21.400;BID=178249@3;OFFER=178250.1@12&lt;br /&gt;MD(0);MT=20110111 10:30:21.500;LCT=20110111 10:30:21.500;BID=178249.3@19;OFFER=178250.2@4&lt;br /&gt;MD(0);MT=20110111 10:30:21.600;LCT=20110111 10:30:21.600;BID=178248.5@5;OFFER=178249.5@8&lt;br /&gt;MD(0);MT=20110111 10:30:21.700;LCT=20110111 10:30:21.700;BID=178249.4@1;OFFER=178250.4@17&lt;br /&gt;MD(0);MT=20110111 10:30:21.800;LCT=20110111 10:30:21.800;BID=178248.6@5;OFFER=178249.3@7&lt;br /&gt;MD(0);MT=20110111 10:30:21.900;LCT=20110111 10:30:21.900;BID=178249.1@17;OFFER=178250.2@10&lt;br /&gt;T (0);MT=20110111 10:30:22.000; TT=20110111 10:30:22.000;178255@1&lt;br /&gt;T (1);MT=20110111 10:30:22.000; TT=20110111 10:30:22.000;178255@4&lt;br /&gt;T (2);MT=20110111 10:30:22.000; TT=20110111 10:30:22.000;178260@1&lt;br /&gt;T (3);MT=20110111 10:30:22.000; TT=20110111 10:30:22.000;178260@1&lt;br /&gt;T (4);MT=20110111 10:30:22.000; TT=20110111 10:30:22.000;178260@1&lt;br /&gt;T (5);MT=20110111 10:30:22.000; TT=20110111 10:30:22.000;178255@2&lt;br /&gt;MD(0);MT=20110111 10:30:22.000;LCT=20110111 10:30:22.000;BID=178255.1@13;OFFER=178256.5@9&lt;br /&gt;OnPro;MT=20110111 10:30:22.000;BestBid=Бид 178255.1 13;BestAsk=Оффер 178256.5 9;LastTT20110111 10:30:22.000;178255@2&lt;br /&gt;MD(0);MT=20110111 10:30:22.100;LCT=20110111 10:30:22.100;BID=178253.4@6;OFFER=178255.1@11&lt;br /&gt;MD(0);MT=20110111 10:30:22.200;LCT=20110111 10:30:22.200;BID=178254.5@6;OFFER=178255.3@13&lt;br /&gt;MD(0);MT=20110111 10:30:22.300;LCT=20110111 10:30:22.300;BID=178253.3@9;OFFER=178254.5@1&lt;br /&gt;MD(0);MT=20110111 10:30:22.400;LCT=20110111 10:30:22.400;BID=178254@12;OFFER=178255.2@20&lt;br /&gt;MD(0);MT=20110111 10:30:22.500;LCT=20110111 10:30:22.500;BID=178254.2@6;OFFER=178255.8@10&lt;br /&gt;MD(0);MT=20110111 10:30:22.600;LCT=20110111 10:30:22.600;BID=178254@18;OFFER=178255.8@5&lt;br /&gt;MD(0);MT=20110111 10:30:22.700;LCT=20110111 10:30:22.700;BID=178253.8@14;OFFER=178254.7@11&lt;br /&gt;MD(0);MT=20110111 10:30:22.800;LCT=20110111 10:30:22.800;BID=178254@17;OFFER=178255.7@3&lt;br /&gt;MD(0);MT=20110111 10:30:22.900;LCT=20110111 10:30:22.900;BID=178253.8@2;OFFER=178255.2@8&lt;br /&gt;T (0);MT=20110111 10:30:23.000; TT=20110111 10:30:23.000;178250@5&lt;br /&gt;T (1);MT=20110111 10:30:23.000; TT=20110111 10:30:23.000;178250@5&lt;br /&gt;T (2);MT=20110111 10:30:23.000; TT=20110111 10:30:23.000;178245@2&lt;br /&gt;T (3);MT=20110111 10:30:23.000; TT=20110111 10:30:23.000;178240@1&lt;br /&gt;T (4);MT=20110111 10:30:23.000; TT=20110111 10:30:23.000;178240@3&lt;br /&gt;T (5);MT=20110111 10:30:23.000; TT=20110111 10:30:23.000;178250@2&lt;br /&gt;T (6);MT=20110111 10:30:23.000; TT=20110111 10:30:23.000;178250@1&lt;br /&gt;T (7);MT=20110111 10:30:23.000; TT=20110111 10:30:23.000;178240@10&lt;br /&gt;MD(0);MT=20110111 10:30:23.000;LCT=20110111 10:30:23.000;BID=178239.2@10;OFFER=178240.1@1&lt;br /&gt;MD(0);MT=20110111 10:30:23.100;LCT=20110111 10:30:23.100;BID=178240.2@5;OFFER=178240.7@17&lt;br /&gt;OnPro;MT=20110111 10:30:23.100;BestBid=Бид 178240.2 5;BestAsk=Оффер 178240.7 17;LastTT20110111 10:30:23.000;178240@10&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Здесь T - означает пришел ивент NewTrades, MD - пришел ивент QuotesChanged, OnPro - пришел OnProcess;&lt;br /&gt;MT = Trader.MarketTime, TT=Trade.Time, LCT=MarketDepth.LastChangeTime; BID,OFFER - лучший бид и офер в MarketDepth-e.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Что тут видно:&lt;br /&gt;&lt;br /&gt;1. MarketTime прихода OnProcess не 0.1 сек как хотелось а 1.1 сек! А именно&lt;br /&gt;10:30:20.900,10:30:22.000,10:30:23.100.&lt;br /&gt;&lt;br /&gt;Это по-моему неправильно, раз я заказывал 0.1 сек.&lt;br /&gt;&lt;br /&gt;2. Новый стакан генерится с интервалом 0.1 сек, при этом опорная цена берется последняя из тиков датированных последней секундной отметкой.&lt;br /&gt;&lt;br /&gt;3. В связи с первым пунктом писать тиковые стратегии не получится тк OnProcess после каждого тика не вызовется. Тут есть гипотеза что это в связи с тем что точность времени у тиков 1 секунда. Но все исторические источники обладают у нас таким недостатком. Поэтому как вариант предлагаю ввести спецпараметр &amp;quot;генерация рандомных миллисекунд для трейдов&amp;quot; - т.е. например с меткой 10:30:23 пришло 8 трейдов. Искуственно поставить им временные метки 10:30:23.100, 10:30:23.200 и тд. Для стратегий одного инструмента как правило конкретное значение временной метки будет не слишком важно, а вот возможность протестировать на КАЖДОМ тике - мне кажется важнее.&lt;br /&gt;&lt;br /&gt;4. Стакан генерируется с шагом цены 0.1 пункта вместо 5. Так и должно быть?&lt;br /&gt;&lt;br /&gt;5. По виду генерируемый стакан осуществляет некоторое случайное блуждание вокруг цены последней сделки.&lt;br /&gt;Насколько генератор пытается оценить величину реального спреда?&lt;br /&gt;&lt;br /&gt;У меня родилась некая идея как можно было бы генерировать стакан.&lt;br /&gt;Я ее нарисовал на картинке. &lt;a href="http://stocksharp.com/forum/yaf_album.aspx?u=285&amp;amp;a=9
" title="http://stocksharp.com/forum/yaf_album.aspx?u=285&amp;amp;a=9
"&gt;http://stocksharp.com/fo...lbum.aspx?u=285&amp;amp;a=9
&lt;/a&gt;&lt;br /&gt;Так вот, алгоритм следующй ( на картинке называется алгоритм2)&lt;br /&gt;&lt;br /&gt;Пусть цена последней сделки(сделка1) равна P1. Симулятор знает цену следующей сделки после этой (в будущем) с ценой отличной от P1 (т.е. если после сделки1 идут несколько с той же ценой их пропускаем и берем следующую, с другой ценой). Пусть эта цена P2. Тогда после сделки1 (которая с ценой P1) принимаем лучший бид равным min(P1,P2), лучший аск равным max(P1,P2).&lt;br /&gt;&lt;br /&gt;Если посмотреть на рисунок, то, как мне кажется, спред имитируется правдоподобно.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;В заключение уместно добавить, что я наткнулся на BidAskHistory.ru-вроде обещают продавать с миллисекундной точностью данные включая стаканы.&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/6035/</id>
    <title type="text">Показалось, что в топике 2 было сказано, StrategyManager.Interval это скорость изменения HistoryStra...</title>
    <published>2011-02-17T11:41:22Z</published>
    <updated>2011-02-17T11:41:22Z</updated>
    <author>
      <name>anebotov</name>
      <uri>https://stocksharp.com/users/27766/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Показалось, что в топике 2 было сказано, StrategyManager.Interval это скорость изменения HistoryStrategyManager.TimeStep. Это и смутило.&lt;br /&gt;&lt;br /&gt;В доке всё понятно. StrategyManager.Interval  введен с целью не загружать процессор на 100%, и если нас такая загрузка процессора не напрягает, то мы данный параметр оставляем в значении по умолчанию.&lt;br /&gt;&lt;br /&gt;TimeStep - это параметр, на который изменяется MarketTime на каждой итерации тестирования, устанавливается перед запуском теста, и, в нормальной ситуации, не меняется в процессе тестирования.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6032/</id>
    <title type="text"> Что? можно поподробнее! точно скорость изменения TimeStep , а не MarketTime? http://stocksharp.com/...</title>
    <published>2011-02-17T09:45:34Z</published>
    <updated>2011-02-17T09:45:34Z</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;anebotov &lt;a href="https://stocksharp.com/posts/m/6031/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Что? можно поподробнее!&lt;br /&gt;точно скорость изменения TimeStep , а не MarketTime?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/help/html/5b90a23e-24b9-474a-a699-da47b666194a.htm
" title="http://stocksharp.com/doc/help/html/5b90a23e-24b9-474a-a699-da47b666194a.htm
"&gt;http://stocksharp.com/do...a-a699-da47b666194a.htm
&lt;/a&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;Через свойство TimeShiftStrategyManager.TimeStep задается временной шаг в истории, на значение которого увеличивается ITrader.MarketTime.&lt;/div&gt;&lt;/div&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;Дополнительно, через свойство StrategyManager.Interval задается время ожидания между итерациями тестирования (одна итерация равна одному вызову метода Strategy.OnProcess() для всех зарегистрированных стратегий в TimeShiftStrategyManager). По умолчанию, оно равно Zero, что указывает на отсутствие задержки между итерациями. Если такой режим нагружает процессор, и необходимо понизить интенсивность, то это значение можно увеличить до секунды и больше.&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.com/posts/m/6031/</id>
    <title type="text"> В чем тогда разница между StrategyManager.Interval и HistoryStrategyManager.TimeStep ? Первый - это...</title>
    <published>2011-02-17T09:33:06Z</published>
    <updated>2011-02-17T09:33:06Z</updated>
    <author>
      <name>anebotov</name>
      <uri>https://stocksharp.com/users/27766/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/5996/" 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/5991/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;В чем тогда разница между StrategyManager.Interval и HistoryStrategyManager.TimeStep ?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Первый - это скорость изменения второго.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Что? можно поподробнее!&lt;br /&gt;точно скорость изменения TimeStep , а не MarketTime?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/5996/</id>
    <title type="text">В каких случаях вызывается Strategy.OnRunning? Отдельно интересно узнать в случае запуска отдельно н...</title>
    <published>2011-02-15T19:49:31Z</published>
    <updated>2011-02-15T19:49:31Z</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;pyhta4og &lt;a href="https://stocksharp.com/posts/m/5991/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;В каких случаях вызывается Strategy.OnRunning?&lt;br /&gt;Отдельно интересно узнать в случае запуска отдельно на realtime и отдельно на history.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Когда Strategy.ProcessState переходит в Running. Не зависит от realtime и history.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/5991/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Верно ли что в случае исторического&lt;br /&gt;HistoryStrategyManager.TimeStep определяет частоту вызова Strategy.OnRunning?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Нет, определяет Strategy.OnProcess.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/5991/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;а в случае realtime&lt;br /&gt;StrategyManager.Interval определяет частоту вызова Strategy.OnRunning&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Нет, так же Strategy.OnProcess[laugh] Прочитайте доку по созданию стратегий. Нам расписано про члены классы Strategy.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/5991/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;В чем тогда разница между StrategyManager.Interval и HistoryStrategyManager.TimeStep ?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Первый - это скорость изменения второго.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pyhta4og &lt;a href="https://stocksharp.com/posts/m/5991/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Я подписался в стратегии на Trader.NewTrades и они приходят пачками. Чем больше HistoryStrategyManager.TimeStep тем больше.&lt;br /&gt;А если моя логика завязана на каждый тик, то какой мне TimeStep ставить? 0 не проходит пишет DivisionByZero.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;TimeStep - это шаг в истории. 0 просто логически быссмысленнен. И конечно, чем больше шаг, тем больше маркет-данных.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/5991/</id>
    <title type="text">В каких случаях вызывается Strategy.OnRunning? Отдельно интересно узнать в случае запуска отдельно н...</title>
    <published>2011-02-15T19:17:46Z</published>
    <updated>2011-02-15T19:17:46Z</updated>
    <author>
      <name>pyhta4og</name>
      <uri>https://stocksharp.com/users/497/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В каких случаях вызывается Strategy.OnRunning?&lt;br /&gt;Отдельно интересно узнать в случае запуска отдельно на realtime и отдельно на history.&lt;br /&gt;&lt;br /&gt;Верно ли что в случае исторического&lt;br /&gt;HistoryStrategyManager.TimeStep определяет частоту вызова Strategy.OnRunning?&lt;br /&gt;а в случае realtime&lt;br /&gt;StrategyManager.Interval определяет частоту вызова Strategy.OnRunning&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;В чем тогда разница между StrategyManager.Interval и HistoryStrategyManager.TimeStep ?&lt;br /&gt;&lt;br /&gt;Я подписался в стратегии на Trader.NewTrades и они приходят пачками. Чем больше HistoryStrategyManager.TimeStep тем больше.&lt;br /&gt;А если моя логика завязана на каждый тик, то какой мне TimeStep ставить? 0 не проходит пишет DivisionByZero.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>