﻿<?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">Ошибка в методе Trader.CandleSeriesProcessing</title>
  <id>~/topic/10236/oshibka-v-metode-trader_candleseriesprocessing/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-03T23:34:10Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=10236" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/46061/</id>
    <title type="text">Добрый день Хранилище StorageRegistry.GetSecurityStorage является устаревшим. </title>
    <published>2018-12-24T20:28:55Z</published>
    <updated>2018-12-24T20:28:55Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.com/users/97869/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день&lt;/p&gt;
&lt;p&gt;Хранилище StorageRegistry.GetSecurityStorage является устаревшим.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46028/</id>
    <title type="text">[quote=Mike144;46022]А Connector не примет хранилище на базе CSV, как раньше принимал CandleManager?...</title>
    <published>2018-12-20T20:27:32Z</published>
    <updated>2018-12-20T20:27:32Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.com/users/97869/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=Mike144;46022]А Connector не примет хранилище на базе CSV, как раньше принимал CandleManager?&lt;/p&gt;
&lt;p&gt;По второму, да у меня файл с инструментами instruments.csv (он есть в мини-примере в папке Hystory).
Но там формат другой: RIZ8@FORTS;Future;0;10;;1;RIZ8;;RTS@FORTS;;RUB;; (получается вызовом метода _storage.GetSecurityStorage().Save(security, true))
А в файле, который вы прислали формат: RIZ8@FORTS;RIZ8;RIZ8;;;FORTS;;10;;;0;;;;;;;;;;;;;;;;;;;;; (вроде, в таком формате Hydra сохраняет инструменты)
Объясните, пожалуйста, разницу.
[/quote]&lt;/p&gt;
&lt;p&gt;Ваш вопрос был передан разработчикам. Предварительный ответ - данное хранилище инструментов устаревшее.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46022/</id>
    <title type="text">А Connector не примет хранилище на базе CSV, как раньше принимал CandleManager? По второму, да у мен...</title>
    <published>2018-12-20T14:28:23Z</published>
    <updated>2018-12-20T14:28:23Z</updated>
    <author>
      <name>Mike144</name>
      <uri>https://stocksharp.com/users/97391/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;А Connector не примет хранилище на базе CSV, как раньше принимал CandleManager?&lt;/p&gt;
&lt;p&gt;По второму, да у меня файл с инструментами instruments.csv (он есть в мини-примере в папке Hystory).
Но там формат другой: RIZ8@FORTS;Future;0;10;;1;RIZ8;;RTS@FORTS;;RUB;; (получается вызовом метода _storage.GetSecurityStorage().Save(security, true))
А в файле, который вы прислали формат: RIZ8@FORTS;RIZ8;RIZ8;;;FORTS;;10;;;0;;;;;;;;;;;;;;;;;;;;; (вроде, в таком формате Hydra сохраняет инструменты)
Объясните, пожалуйста, разницу.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46020/</id>
    <title type="text">Как ранее вам написал, вы использовали хранилище SQLite. Оно требует дополнительных настроек. Хранил...</title>
    <published>2018-12-20T13:08:05Z</published>
    <updated>2018-12-20T13:08:05Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.com/users/97869/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;ol&gt;
&lt;li&gt;Как ранее вам написал, вы использовали хранилище SQLite. Оно требует дополнительных настроек. Хранилище на базе CSV не требует настроек.&lt;/li&gt;
&lt;li&gt;Видимо у вас откуда то ещё грузится информация об инструментах.&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46014/</id>
    <title type="text">Спасибо! Дайте, пожалуйста, еще пару пояснений по пунктам: Да, добавил путь, Init() и хранилище подк...</title>
    <published>2018-12-19T17:35:21Z</published>
    <updated>2018-12-19T17:35:21Z</updated>
    <author>
      <name>Mike144</name>
      <uri>https://stocksharp.com/users/97391/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Спасибо! Дайте, пожалуйста, еще пару пояснений по пунктам:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Да, добавил путь, Init() и хранилище подключилось, свечи пошли. Не совсем понимаю, для чего нужны CsvEntityRegistry и SnapshotRegistry. Ну, и, если приоткроете какие были предпосылки для такого перехода, буду очень признателен.&lt;/li&gt;
&lt;li&gt;Все работало без этого файла (и работает, после применения пункта 1). Тут тоже не понимаю, зачем он нужен, что делает и точно ли он нужен?&lt;/li&gt;
&lt;li&gt;Бывает, их путаю[laugh]&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46013/</id>
    <title type="text">Добрый день Инициализация хранилища теперь выглядит таким образом (в вашем случае использовалось хра...</title>
    <published>2018-12-19T16:36:20Z</published>
    <updated>2018-12-19T16:36:20Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.com/users/97869/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Инициализация хранилища теперь выглядит таким образом (в вашем случае использовалось хранилище, основанное на SQLite):&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;[code]storage = new StorageRegistry();
var path = System.IO.Path.GetFullPath(@&amp;quot;C:\Users\KalDarckli\Desktop\Hystory&amp;quot;);
((LocalMarketDataDrive)storage.DefaultDrive).Path = path;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;            var er = new CsvEntityRegistry(path);
            er.Init();

            var security = er.Securities.LookupByCode(&amp;quot;RIZ8&amp;quot;).First();
           
            var candles = storage.GetCandleStorage(typeof(TimeFrameCandle), security, TimeSpan.FromTicks(1));
            From_d.Value = candles.Dates.First();
            To_d.Value = candles.Dates.Last();

            candleSeries = new CandleSeries(typeof(TimeFrameCandle), security, TimeSpan.FromTicks(1));
            
            SnapshotRegistry sr = new SnapshotRegistry(path);
            sr.Init();

            connector.InitializeStorage(er, storage, sr);
            connector.CandleSeriesProcessing += Connector_CandleSeriesProcessing;
            connector.SubscribeCandles(candleSeries, (DateTime)From_d.Value, (DateTime)To_d.Value);[/code]
&lt;/code&gt;&lt;/pre&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;p&gt;У вас отсуствует файл с мета-информацией по инструментам. Приложен к данному сообщению. Его необходимо записать в директорию, где присутсвует файл instruments.csv&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;У вас неправильно написано обработчик свечей. Поле CloseVolume опциональное, и заполняется в редких случаях.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;[code]private void Connector_CandleSeriesProcessing(CandleSeries arg1, Candle candle)
{
sum += candle.TotalVolume;
}[/code]&lt;/p&gt;
&lt;p&gt;После исправлений ваша программа начала показывать счетчик.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46011/</id>
    <title type="text">Проблема: Переход от CandleManager к Connector для работы со свечами. После подписки на новые свечи ...</title>
    <published>2018-12-19T14:00:57Z</published>
    <updated>2018-12-19T14:00:57Z</updated>
    <author>
      <name>Mike144</name>
      <uri>https://stocksharp.com/users/97391/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Проблема:&lt;/p&gt;
&lt;p&gt;Переход от CandleManager к Connector для работы со свечами.
После подписки на новые свечи Trader.CandleSeriesProcessing += Connector_CandleSeriesProcessing ничего не происходит.
После подключения логирования выловилась ошибка:&lt;/p&gt;
&lt;p&gt;&amp;quot;System.NotImplementedException: Метод или операция не реализована.
в Ecng.Serialization.InMemoryStorage.GetBy[TEntity](SerializationItemCollection by)
в Ecng.Serialization.RelationManyList&lt;code&gt;1.OnGet(SerializationItemCollection by) в Ecng.Serialization.RelationManyList&lt;/code&gt;1.Read(SerializationItem by)
в Ecng.Serialization.RelationManyList&lt;code&gt;1.ReadById(Object id) в StockSharp.Algo.Storages.StorageHelper.ReadBySecurityId(IStorageEntityList&lt;/code&gt;1 securities, SecurityId securityId)
в StockSharp.Algo.Storages.StorageMessageAdapter.GetSecurity(SecurityId securityId)
в StockSharp.Algo.Storages.StorageMessageAdapter.GetTimeFrameCandleMessageStorage(SecurityId securityId, TimeSpan timeFrame, Boolean allowBuildFromSmallerTimeFrame)
в StockSharp.Algo.Storages.StorageMessageAdapter.LoadMessages(MarketDataMessage msg, Nullable&lt;code&gt;1 from, Nullable&lt;/code&gt;1 to, Int64 transactionId)
в StockSharp.Algo.Storages.StorageMessageAdapter.ProcessMarketDataRequest(MarketDataMessage msg)
в StockSharp.Algo.Storages.StorageMessageAdapter.SendInMessage(Message message)
в StockSharp.Messages.MessageAdapterWrapper.SendInMessage(Message message)
в StockSharp.Algo.FilteredMarketDepthAdapter.SendInMessage(Message message)
в StockSharp.Algo.Connector.InMessageChannelOnNewOutMessage(Message message)
в StockSharp.Messages.InMemoryMessageChannel.OnNewOut(KeyValuePair&lt;code&gt;2 item) в Ecng.Collections.BaseInMemoryChannel&lt;/code&gt;1.&lt;Open&gt;b__16_1()&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Пробовалось:&lt;/p&gt;
&lt;p&gt;Передать в CandleManager экземпляр коннектора, чтобы получать свечи по-старому. Результат тот же.
Создать реальный коннектор  QuikTrader, с подключением. Безрезультатно.&lt;/p&gt;
&lt;p&gt;API 4.14.15, с форматом свечей и инструментов проблем нет(перечисляются, считаются и тп).
Мини-пример в приложении.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>