﻿<?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">weightedindexsecurity. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=weightedindexsecurity&amp;type=community</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-05T18:03:26Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=weightedindexsecurity&amp;type=community" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/8952/</id>
    <title type="text">Создание WeightedIndexSecurity из исторических данных (получить исторический спред 2-х инструментов)</title>
    <published>2017-12-21T20:39:37Z</published>
    <updated>2018-01-09T20:04:19Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="исторические данные" />
    <category term="WeightedIndexSecurity" />
    <content type="html">Здравствуйте.&lt;br /&gt;&lt;br /&gt;Подскажите, как правильно создать WeightedIndexSecurity из исторических данных?&lt;br /&gt;&lt;br /&gt;Имею:&lt;br /&gt;Security _leg1Security = new Security() { Id = &amp;quot;SBER@TQBR&amp;quot; };&lt;br /&gt;Security _leg2Security = new Security() { Id = &amp;quot;SBERP@TQBR&amp;quot; };&lt;br /&gt;&lt;br /&gt;DateTime from = new DateTime(2017, 1, 3).ChangeKind(DateTimeKind.Utc);&lt;br /&gt;DateTime to = new DateTime(2017, 1, 4).ChangeKind(DateTimeKind.Utc);&lt;br /&gt;&lt;br /&gt;private TimeSpan _timeFrame = TimeSpan.FromMinutes(1);&lt;br /&gt;&lt;br /&gt;В переменных _leg1TimeFrameCandles и _leg2TimeFrameCandles исторические 1-мин свечи, загруженные из локального хранилища.&lt;br /&gt;&lt;br /&gt;_portfolio = new Portfolio&lt;br /&gt;            {&lt;br /&gt;                Name = &amp;quot;Test Account&amp;quot;,&lt;br /&gt;                BeginValue = 1000000,&lt;br /&gt;            };&lt;br /&gt;&lt;br /&gt;WeightedIndexSecurity _spreadSecurity = new WeightedIndexSecurity() { Id = &amp;quot;Index1&amp;quot;, Board = ExchangeBoard.Forts };&lt;br /&gt;            _spreadSecurity.Weights.Add(_leg1Security.Id.ToSecurityId(), Convert.ToDecimal(1));&lt;br /&gt;            _spreadSecurity.Weights.Add(_leg2Security.Id.ToSecurityId(), Convert.ToDecimal(-1));&lt;br /&gt;&lt;br /&gt;            var securityList = new List&amp;lt;Security&amp;gt; { _spreadSecurity };&lt;br /&gt;            var portfolioList = new List&amp;lt;Portfolio&amp;gt; { _portfolio };&lt;br /&gt;&lt;br /&gt;_historyEmulationConnector = new HistoryEmulationConnector(securityList, portfolioList);&lt;br /&gt;            _spreadCandleSeries = new CandleSeries(typeof(TimeFrameCandle), _spreadSecurity, TimeSpan.FromMinutes(1)) { BuildCandlesMode = BuildCandlesModes.Build };&lt;br /&gt;&lt;br /&gt;            ConfigManager.RegisterService&amp;lt;ISecurityProvider&amp;gt;(_historyEmulationConnector);&lt;br /&gt;&lt;br /&gt;            CandleManager _spreadCandleManager = new CandleManager(_historyEmulationConnector);&lt;br /&gt;_spreadCandleManager.Processing += DrawSpreadCandle;&lt;br /&gt;&lt;br /&gt;            _spreadCandleManager.Start(_spreadCandleSeries); (Исключение - System.InvalidOperationException: &amp;quot;Инструмент S#:SBER@TQBR, Native:,Type: не найден.&amp;quot;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private void DrawSpreadCandle(CandleSeries series, Candle candle)&lt;br /&gt;        {&lt;br /&gt;            Debug.WriteLine(string.Format(&amp;quot;series= {0}, candle= {1}, candleseries= {2}&amp;quot;, series.Security.Id, candle.Security.Id, _spreadCandleSeries.Security.Id));&lt;br /&gt;&lt;br /&gt;            var data = new ChartDrawData();&lt;br /&gt;            data.Group(candle.OpenTime).Add(_spreadChartCandleElement, candle);&lt;br /&gt;&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                Chart.Draw(data);&lt;br /&gt;            }&lt;br /&gt;            catch (Exception ex)&lt;br /&gt;            {&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Как получить исторический спред этих 2-х инструментов?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8897/</id>
    <title type="text">Эмуляция недостающих свечей</title>
    <published>2017-12-05T01:45:09Z</published>
    <updated>2017-12-05T10:05:30Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="WeightedIndexSecurity" />
    <category term="TimeFrameCandle" />
    <content type="html">Здравствуйте.&lt;br /&gt;&lt;br /&gt;Качаю исторические данные для 2-х инструментов.&lt;br /&gt;Используя два инструмента - хочу создать индекс.&lt;br /&gt;Иногда, количество 1-мин свечей одного инструмента != количеству 1-мин свечей другого инструмента.&lt;br /&gt;&lt;br /&gt;И дабы не создавать кривой индекс&lt;br /&gt;Вопросы:&lt;br /&gt;1) Содержит S# API функционал для эмуляции недостающих свечей?&lt;br /&gt;2) Как данную проблему решают профессиональные алготрейдеры?&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8700/</id>
    <title type="text">WeightedIndexSecurity внутри другого WeightedIndexSecurity после обновления.</title>
    <published>2017-10-12T20:36:24Z</published>
    <updated>2017-10-12T20:36:24Z</updated>
    <author>
      <name>JcJet</name>
      <uri>https://stocksharp.ru/users/94445/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="WeightedIndexSecurity" />
    <category term="SecurityId" />
    <category term="Составной инструмент" />
    <content type="html">Здравствуйте. В своей торговой стратегии я использовал несколько индексных инструментов, вложенных в корневой индексный инструмент. Однако после обновления S# API возникли сложности, т.к. теперь метод Weights.Add() требует SecurityId вместо Security.&lt;br /&gt;На прошлой версии такой трюк работал нормально, однако не пойму, как нужно переделать вызов метода , чтобы снова все было ок.&lt;br /&gt;Если вызывать метод ToSecurityId для индексного инструмента, то вылетает исключение, т.к. поля Code, Board, как и многие другие в нем являются null.&lt;br /&gt;Каким образом формировать SecurityId, или, быть может, есть решение проще?&lt;br /&gt;Корректно ли будет создать новый SecurityId и установить свойства, чтобы они соответствовали строковому представлению индексного инструмента вида &amp;quot;1 * SBER@TQBR&amp;quot;?</content>
  </entry>
</feed>