﻿<?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">S# + сторонии controls</title>
  <id>~/topic/3410/s--storonii-controls/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-06T01:44:04Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3410" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/24750/</id>
    <title type="text">Про таймфреймы я понял, что они должны совпадать. Я вот что-то ну никак не могу разобраться, как име...</title>
    <published>2013-03-23T16:20:35Z</published>
    <updated>2013-03-23T16:20:35Z</updated>
    <author>
      <name>akoz</name>
      <uri>https://stocksharp.ru/users/26817/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Про таймфреймы я понял, что они должны совпадать.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Я вот что-то ну никак не могу разобраться, как имеющиеся свечки сжать по таймфрейму. Например, скачанные минутки сжать в пятиминутки, часовики и т.д., чтобы быстрее длинную историю, например, часовых свечек собрать. Из тиков это нереально, а из свечек можно.&lt;br /&gt;&lt;br /&gt;Как я понял, TimeFrameCandleBuilder из тиков лишь умеет собирать. &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.ru/posts/m/24277/</id>
    <title type="text"> Странно. Попробовал подгрузил тики по ри за 3 месяца, из них были сделаны 1мин. В пике, когда подгр...</title>
    <published>2013-02-27T09:18:11Z</published>
    <updated>2013-02-27T09:18:11Z</updated>
    <author>
      <name>vint</name>
      <uri>https://stocksharp.ru/users/26935/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Moadip &lt;a href="https://stocksharp.ru/posts/m/24273/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Странно. Попробовал подгрузил тики по ри за 3 месяца, из них были сделаны 1мин. В пике, когда подгружались тики и формировались свечки, прога отъедала ~400 мб. Когда все подргузилось и сформировалось - ~ 250мб.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt; Действительно странно... С учетом того что я собственно ничего не изобретал, взял готовый пример и просто добавил уже упомянутые строки.&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

// Добавление в источник свечек TimeFrameCandleBuilder источник данных в виде файлов гидры 
var storageRegistry = new StorageRegistry();
((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = _historyPath;

var cbs = new TradeStorageCandleBuilderSource { StorageRegistry = storageRegistry };

_candleManager.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Sources.Add(cbs);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt; Даже при построении часовок за 20 дней, памяти не хватает. &lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;b&gt;Cвечки&lt;/b&gt;:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

_candleManager = new CandleManager(_trader);

var storageRegistry = new StorageRegistry();
((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = _historyPath;
((LocalMarketDataDrive)storageRegistry.DefaultDrive).UseAlphabeticPath = true; // используем алфавитное хранилище
						
_candleManager.Sources.OfType&amp;lt;StorageCandleSource&amp;gt;().Single().StorageRegistry = storageRegistry;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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.ru/posts/m/24273/</id>
    <title type="text">у меня максимально возможная длина истории получается где-то около 20 дней, если импортировать больш...</title>
    <published>2013-02-27T07:27:26Z</published>
    <updated>2013-02-27T07:27:26Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;у меня максимально возможная длина истории получается где-то около 20 дней, если импортировать больше, вылетает эксепшен OutOfMemory (ОЗУ 8 Гб).&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Странно. Попробовал подгрузил тики по ри за 3 месяца, из них были сделаны 1мин. В пике, когда подгружались тики и формировались свечки, прога отъедала ~400 мб. Когда все подргузилось и сформировалось - ~ 250мб.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Да и само построение графика, занимает около 2-х минут. Я так понимаю, это происходит по тому, что данные хранятся в виде сделок, т.е. идет конвертация в нужный формат. Хотя время построения графика не особо критично&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;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Как придуманное решение - сохранить свечи в txt, и уже обрабатывать оттуда. Но помоему это опять велосипед, ведь для чего-то же Вы придумали формат для хранения свечей? :) Как ими пользоваться?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Да, действительно велосипед.[smile] Подгрузить скачанные гидрой свечки, не сложнее чем тики.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Тики&lt;/b&gt;(Из справки):&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;


_candleManager = new CandleManager(_trader);

// Добавление в источник свечек TimeFrameCandleBuilder источник данных в виде файлов гидры 
var storageRegistry = new StorageRegistry();
((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = _historyPath;

var cbs = new TradeStorageCandleBuilderSource { StorageRegistry = storageRegistry };

_candleManager.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Sources.Add(cbs);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cвечки&lt;/b&gt;:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

_candleManager = new CandleManager(_trader);

var storageRegistry = new StorageRegistry();
((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = _historyPath;
((LocalMarketDataDrive)storageRegistry.DefaultDrive).UseAlphabeticPath = true; // используем алфавитное хранилище
						
_candleManager.Sources.OfType&amp;lt;StorageCandleSource&amp;gt;().Single().StorageRegistry = storageRegistry;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Главное потом, когда будет создаваться &lt;b&gt;CandleSeries&lt;/b&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

readonly TimeSpan _timeFrame = TimeSpan.FromMinutes(1);

...

_series = new CandleSeries(typeof(TimeFrameCandle), _instr1, _timeFrame)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;И будет запущено получение свечек. Не забыть, по каким инструментам и за какой ТФ гидрой скачаны свечки.&lt;br /&gt;Если например создается &lt;b&gt;CandleSeries &lt;/b&gt;1 мин. по RIH3, то значит должны быть закачаны свечки по этому инструменту и данного ТФ.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24227/</id>
    <title type="text"> Вообщем остановился на варианте с хранением свечей в txt, более менее удобно, а главное быстро. И п...</title>
    <published>2013-02-25T20:40:49Z</published>
    <updated>2013-02-25T20:40:49Z</updated>
    <author>
      <name>vint</name>
      <uri>https://stocksharp.ru/users/26935/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html"> Вообщем остановился на варианте с хранением свечей в txt, более менее удобно, а главное быстро. И поковыряв SciChart, откажусь пожалуй от Telerik. Во всяком случае для свечных графиков точно [thumbup]. Но вопросы актуальны! [smile] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24225/</id>
    <title type="text">Спасибо, Moadip! Буду пробовать. Да, разрешите еще пару вопросов не совсем по теме (ну чтоб не плоди...</title>
    <published>2013-02-25T15:04:15Z</published>
    <updated>2013-02-25T15:04:15Z</updated>
    <author>
      <name>vint</name>
      <uri>https://stocksharp.ru/users/26935/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Спасибо, Moadip! Буду пробовать. &lt;br /&gt;&lt;br /&gt;Да, разрешите еще пару вопросов не совсем по теме (ну чтоб не плодить новых) - у меня максимально возможная длина истории получается где-то около 20 дней, если импортировать больше, вылетает эксепшен OutOfMemory (ОЗУ 8 Гб). Само приложение, это оригинальный SampleCandle из примеров, только добавленна история. Историю качал гидрой, с финама. Да и само построение графика, занимает около 2-х минут. Я так понимаю, это происходит по тому, что данные хранятся в виде сделок, т.е. идет конвертация в нужный формат.  Хотя время построения графика не особо критично, но вот невозможность загрузить историю больше чем за 20 дней, не приемлима. Как это победить?   Попробовал скачать историю не в виде сделок, а в виде свечей, но как их подключить не понял. Искал в доках аналог TradeStorageCandleBuilderSource, но либо не нашел, либо не увидел... Как придуманное решение - сохранить свечи в txt, и уже обрабатывать оттуда. Но помоему это опять велосипед, ведь для чего-то же Вы придумали формат для хранения свечей? :) Как ими пользоваться? Заранее спасибо!)&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24216/</id>
    <title type="text">Но никак не пойму, как теперь обновлять данные в этой коллекции. Понимаю что делать это нужно по соб...</title>
    <published>2013-02-25T11:21:47Z</published>
    <updated>2013-02-25T11:21:47Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Но никак не пойму, как теперь обновлять данные в этой коллекции. Понимаю что делать это нужно по событию _candleManager.Processing. Но ведь при событии (т.е. при тике) каждый раз приходит новая свечка и добавлять ее сразу в коллекцию нельзя (да и не получается, приложение виснет).&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;На событие &lt;b&gt;Processing &lt;/b&gt;не каждый раз приходит новая свечка. Имеется ввиду новый объект типа &lt;b&gt;Candle&lt;/b&gt;. Приходит тот же самый объект, но с измененными св-вами.&lt;br /&gt;Новый объект создается(приходит) когда текущая свечка заканчивается. Это чтобы знать.&lt;br /&gt;&lt;br /&gt;Если в коллекцию надо добавлять только целые свечки. &lt;br /&gt;Когда срабатывает событие &lt;b&gt;Processing &lt;/b&gt;и приходит свечка, ее можно отфильтровать по &lt;b&gt;Сandle.State&lt;/b&gt; == &lt;b&gt;CandleStates.Finished&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Если надо чтобы свечки на графике &amp;quot;шевелились&amp;quot;. То когда пришла свечка, сравнивать ее время и время последней свечки в коллекции.&lt;br /&gt;Если время одинаковое, значит эта та же свечка - обновляем значения последней свечки в коллекции.&lt;br /&gt;Если время другое, значит добавляем новую свечку в коллекцию.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Уже хочется плюнуть и использовать стандартный Chart&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В S# есть SciChart. Попробуйте, шустрый контрол.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24211/</id>
    <title type="text">ra81, спасибо за наводку! Привязку данных к графику сделал, на истории работает. Теперь проблема с р...</title>
    <published>2013-02-25T09:30:45Z</published>
    <updated>2013-02-25T09:30:45Z</updated>
    <author>
      <name>vint</name>
      <uri>https://stocksharp.ru/users/26935/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">ra81, спасибо за наводку! Привязку данных к графику сделал, на истории работает. Теперь проблема с реал-таймом. Связку история+реал-тайм, я делал по документации, и со стандартным Chart все работает отлично. С telerik&amp;#39;ом же проблемы. Суть такая - для live-обновления графика teletik, данные для него, должны быть в виде коллекции ObservableCollection.Обновляется коллекция - обновляется график.  Это сделанно (сначала GetCandles(series), потом заполнение ими ObservableCollection). Но никак не пойму, как теперь обновлять данные в этой коллекции. Понимаю что делать это нужно по событию  _candleManager.Processing. Но ведь при событии (т.е. при тике) каждый раз приходит новая свечка и добавлять ее сразу в коллекцию нельзя (да и не получается, приложение виснет).  Что делать не пойму... Уже хочется плюнуть и использовать стандартный Chart. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24139/</id>
    <title type="text">Это вселяет уверенность :) А поподробнее можно? Просто не хотелось бы в очередной раз изобретать вел...</title>
    <published>2013-02-20T11:26:20Z</published>
    <updated>2013-02-20T11:26:20Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vint &lt;a href="https://stocksharp.ru/posts/m/24138/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Это вселяет уверенность :) А поподробнее можно? [rolleyes]  Просто не хотелось бы в очередной раз изобретать велосипед...&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Свечи должны быть в CandleContainer. Исходники S# берете и вперед для начала. Если поймете что не разобраться, обращайтесь народ подскажет. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24138/</id>
    <title type="text">Это вселяет уверенность :) А поподробнее можно? Просто не хотелось бы в очередной раз изобретать вел...</title>
    <published>2013-02-20T11:16:21Z</published>
    <updated>2013-02-20T11:16:21Z</updated>
    <author>
      <name>vint</name>
      <uri>https://stocksharp.ru/users/26935/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Это вселяет уверенность :) А поподробнее можно? [rolleyes]  Просто не хотелось бы в очередной раз изобретать велосипед...</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24134/</id>
    <title type="text">Мы же как-то используем сторонние контролы в своих роботах.</title>
    <published>2013-02-19T21:22:33Z</published>
    <updated>2013-02-19T21:22:33Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Мы же как-то используем сторонние контролы в своих роботах.[wink]</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24133/</id>
    <title type="text"> Доброго времени суток! Разбираюсь с этой замечательной штукой StockSharp и возник вопрос - а есть л...</title>
    <published>2013-02-19T20:38:06Z</published>
    <updated>2013-02-19T20:38:06Z</updated>
    <author>
      <name>vint</name>
      <uri>https://stocksharp.ru/users/26935/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html"> Доброго времени суток! Разбираюсь с этой замечательной штукой StockSharp и возник вопрос - а есть ли возможность, как-то приспособить S# для работы с другими контролами? Например с &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACjMGYuvGkAo2YSjIRf5kwrGGKJzT_cNjicwIxXN9nNDw" title="http://www.telerik.com/"&gt;Telerik&lt;/a&gt;? Давненько полюбил этот телерик за красоту и удобство, и хотел бы использовать его и в связке с S#. В частности, сейчас стою перед вопросом как &amp;#39;скормить&amp;#39; графику, данные из CandleSeries (или они в CandleManager?) ? Буду очень признателен, если кто-что подскажет [smile] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>