﻿<?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">Корректная настройка исторического коннектора</title>
  <id>~/topic/10400/korrektnaya-nastroika-istoricheskogo-konnektora/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-10T13:55:57Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=10400" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/46732/</id>
    <title type="text">Добрый день, Попробуйте, пожалуйста, данный код connector.NewOrderLogItem += t =&amp;gt; Debug.WriteLine(t)...</title>
    <published>2019-02-14T19:29:27Z</published>
    <updated>2019-02-14T19:29:27Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день,&lt;/p&gt;
&lt;p&gt;Попробуйте, пожалуйста, данный код&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;connector.NewOrderLogItem += t =&amp;gt; Debug.WriteLine(t);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В случае тестирования на вашем ОЛ событие вызывается постоянно, и через него OrderLogItem.Order.Time можно понять текущее время на истории.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/46631/</id>
    <title type="text">Support: Добрый день Мы протестировали вами ранее присланный ОЛ на нашем примере SampleHistoryTestin...</title>
    <published>2019-02-07T20:44:33Z</published>
    <updated>2019-02-07T20:44:33Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(46618)" rel="nofollow" target="_blank"&gt;Support&lt;/a&gt;:&lt;/strong&gt;
Добрый день&lt;/p&gt;
&lt;p&gt;Мы протестировали вами ранее присланный ОЛ на нашем примере SampleHistoryTesting и без каких либо модификаций он показал и стаканы и тиковые сделки (из которых были построены свечи для стратегии). Поэтому для исторического коннектора указание режима build не требуется.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;В проект SampleHistoryTestingGitHub добавил на строки 506 и 507&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code&gt;            connector.MarketDepthChanged += Connector_MarketDepthChanged;
            connector.NewTrade += Connector_NewTrade;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;И данные события сработали:
Connector_MarketDepthChanged - 2 раза
Connector_NewTrade - 1 раз&lt;/p&gt;
&lt;p&gt;Как такое может быть?&lt;/p&gt;
&lt;p&gt;Видео приложено. &lt;a href="/file/108560/запись_1.webm"&gt;запись_1.webm&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/46618/</id>
    <title type="text">Добрый день Мы протестировали вами ранее присланный ОЛ на нашем примере SampleHistoryTesting и без к...</title>
    <published>2019-02-07T18:21:50Z</published>
    <updated>2019-02-07T18:21:50Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день&lt;/p&gt;
&lt;p&gt;Мы протестировали вами ранее присланный ОЛ на нашем примере SampleHistoryTesting и без каких либо модификаций он показал и стаканы и тиковые сделки (из которых были построены свечи для стратегии). Поэтому для исторического коннектора указание режима build не требуется.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/46614/</id>
    <title type="text">Support: Пришлите пожалуйста ваш код. Добрый день. Код отправил на почту. </title>
    <published>2019-02-07T02:08:08Z</published>
    <updated>2019-02-07T02:08:08Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(46585)" rel="nofollow" target="_blank"&gt;Support&lt;/a&gt;:&lt;/strong&gt;
Пришлите пожалуйста ваш код.
Добрый день.
Код отправил на почту.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/46586/</id>
    <title type="text">Коннектор var pairTradingStrategy = Strategy as PairTradingStrategy; var storageRegistry = new Stora...</title>
    <published>2019-02-05T13:47:34Z</published>
    <updated>2019-02-05T13:47:34Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Коннектор&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;var pairTradingStrategy = Strategy as PairTradingStrategy;&lt;/summary&gt;
&lt;p&gt;var storageRegistry = new StorageRegistry
{
DefaultDrive = new LocalMarketDataDrive(MainWindow.Instance.PathHistory)
};&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        _connector = new HistoryEmulationConnector(new[] { pairTradingStrategy.FirstSecurity, pairTradingStrategy.SecondSecurity },
            ConfigManager.TryGetService&amp;lt;IPortfolioProvider&amp;gt;().Portfolios,
            new StorageRegistry())
        {
            HistoryMessageAdapter =
            {
                StartDate = BeginDateTime.ChangeKind(DateTimeKind.Utc),
                StopDate = EndDateTime.ChangeKind(DateTimeKind.Utc),
                StorageRegistry = storageRegistry,
                StorageFormat = StorageFormat 
            },
            LogLevel = LogLevels.Info,
            CreateDepthFromOrdersLog = true,
            CreateTradesFromOrdersLog = true
        };
&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;
&lt;p&gt;_connector.NewSecurity += Connector_NewSecurity;&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;private void Connector_NewSecurity(Security security)
{
_connector.RegisterOrderLog(security);
_connector.RegisterMarketDepth(security, buildMode: MarketDataBuildModes.Build);
}&lt;/summary&gt;
&lt;/details&gt;
&lt;p&gt;_connector.LookupSecuritiesResult += _connector_LookupSecuritiesResult;&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;p&gt;private void _connector_LookupSecuritiesResult(SecurityLookupMessage arg1, IEnumerable&lt;Security&gt; arg2, Exception arg3)
{
if (Strategy.ProcessState != ProcessStates.Stopped)
return;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        Strategy.Start();
        _connector.Start();
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;В PairTradingStrategy OnStarted()&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;protected override void OnStarted()
{
FirstSecurity.WhenMarketDepthChanged(Connector)
.Do(ProcessMarketDepth)
.Apply(this);&lt;/summary&gt;
&lt;pre&gt;&lt;code&gt;        SecondSecurity.WhenMarketDepthChanged(Connector)
            .Do(ProcessMarketDepth)
            .Apply(this);

        FirstSecurity.WhenNewOrderLogItem(Connector)
            .Do(ProcessNewOrderLogItem)
            .Apply(this);

        FirstSecurity.WhenNewTrade(Connector)
            .Do(ProcessNewTrade)
            .Apply(this);

        base.OnStarted();
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;private void ProcessNewTrade(Trade obj)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    private void ProcessNewOrderLogItem(OrderLogItem obj)
    {
    }

    private void ProcessMarketDepth(MarketDepth marketDepth)
    {
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;/details&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/46585/</id>
    <title type="text">Пришлите пожалуйста ваш код. </title>
    <published>2019-02-05T13:12:21Z</published>
    <updated>2019-02-05T13:12:21Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</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.ru/posts/m/46582/</id>
    <title type="text">Support: Добрый день Вы можете подписаться на стакан через метод https://doc.stocksharp.ru/html/M_St...</title>
    <published>2019-02-05T09:45:48Z</published>
    <updated>2019-02-05T09:45:48Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(46563)" rel="nofollow" target="_blank"&gt;Support&lt;/a&gt;:&lt;/strong&gt;
Добрый день&lt;/p&gt;
&lt;p&gt;Вы можете подписаться на стакан через метод &lt;a href="https://doc.stocksharp.ru/html/M_StockSharp_Algo_Connector_RegisterMarketDepth.htm"&gt;https://doc.stocksharp.ru/html/M_StockSharp_Algo_Connector_RegisterMarketDepth.htm&lt;/a&gt; указав в нем режим Build.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Для стакана срабатывают правила WhenMarketDepthChanged и WhenNewTrade, если прописать _connector.RegisterMarketDepth(security) и иметь историю по стакану.&lt;/p&gt;
&lt;p&gt;Возможно неточно выразился.
У меня история ордер лога.
Прописано
_connector.RegisterOrderLog(security);
_connector.RegisterMarketDepth(security) (пробовал и _connector.RegisterMarketDepth(security, buildMode: MarketDataBuildModes.Build))&lt;/p&gt;
&lt;p&gt;Для ордер лога срабатывает только правило WhenNewOrderLogItem, но не срабатывают правила WhenMarketDepthChanged и WhenNewTrade.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Получается - историю ордер лога нужно конвертнуть в историю стакана для срабатывания правил WhenMarketDepthChanged и WhenNewTrade?&lt;/li&gt;
&lt;li&gt;Имея только ордер лог, правила WhenMarketDepthChanged и WhenNewTrade недосягаемы?&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/46563/</id>
    <title type="text">Добрый день Вы можете подписаться на стакан через метод https://doc.stocksharp.ru/html/M_StockSharp_...</title>
    <published>2019-02-04T13:32:50Z</published>
    <updated>2019-02-04T13:32:50Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день&lt;/p&gt;
&lt;p&gt;Вы можете подписаться на стакан через метод &lt;a href="https://doc.stocksharp.ru/html/M_StockSharp_Algo_Connector_RegisterMarketDepth.htm"&gt;https://doc.stocksharp.ru/html/M_StockSharp_Algo_Connector_RegisterMarketDepth.htm&lt;/a&gt; указав в нем режим Build.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/46558/</id>
    <title type="text">Добрый день. Как заставить коннектор HistoryEmulationConnector _connector = new HistoryEmulationConn...</title>
    <published>2019-02-04T02:49:48Z</published>
    <updated>2019-02-04T02:49:48Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день.&lt;/p&gt;
&lt;p&gt;Как заставить коннектор HistoryEmulationConnector&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;p&gt;_connector = new HistoryEmulationConnector(new[] { sec1, sec2 },
ConfigManager.TryGetService&lt;IPortfolioProvider&gt;().Portfolios,
new StorageRegistry())
,
LogLevel = LogLevels.Info,
CreateDepthFromOrdersLog = true,
CreateTradesFromOrdersLog = true
};&lt;/p&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Реагировать на изменение стакана, используя исторический ордер лог?
CreateDepthFromOrdersLog = true не помогает. Подсказку про MarketDataMessage не понимаю как применить.
&lt;img src="/file/108528/Capture.PNG" alt="Capture.PNG" /&gt;&lt;/li&gt;
&lt;li&gt;Реагировать на новые сделки, используя исторический ордер лог?
CreateTradesFromOrdersLog = true не помогает. Аналогично с подсказкой про MarketDataMessage.&lt;/li&gt;
&lt;li&gt;Реагировать на новые сделки, используя исторический стакан заявок?&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>