﻿<?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">Построение свечек ExpressionIndexSecurity и WeightedIndexSecurity</title>
  <id>~/topic/8215/postroenie-svechek-expressionindexsecurity-i-weightedindexsecurity/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-10T01:20:17Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=8215" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/39824/</id>
    <title type="text">Проверим. </title>
    <published>2017-04-21T13:58:38Z</published>
    <updated>2017-04-21T13:58:38Z</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/39793/</id>
    <title type="text">Support: SBER@QJSIM в таблице обезличенных сделок есть? Да, есть. Свечи SBER@QJSIM строятся без проб...</title>
    <published>2017-04-20T14:38:04Z</published>
    <updated>2017-04-20T14:38:04Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(39791)" rel="nofollow" target="_blank"&gt;Support&lt;/a&gt;:&lt;/strong&gt;
SBER@QJSIM в таблице обезличенных сделок есть?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Да, есть. Свечи SBER@QJSIM строятся без проблем.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/39791/</id>
    <title type="text">SBER@QJSIM в таблице обезличенных сделок есть? </title>
    <published>2017-04-20T14:33:23Z</published>
    <updated>2017-04-20T14:33:23Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;SBER@QJSIM в таблице обезличенных сделок есть?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/39790/</id>
    <title type="text">Support: Будем разбираться.. Чтобы этой ошибки не было необходимо зарегистрировать ISecurityProvider...</title>
    <published>2017-04-20T08:40:56Z</published>
    <updated>2017-04-20T08:40:56Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(39747)" rel="nofollow" target="_blank"&gt;Support&lt;/a&gt;:&lt;/strong&gt;
Будем разбираться..&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Чтобы этой ошибки не было необходимо зарегистрировать ISecurityProvider&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
ConfigManager.RegisterService&amp;lt;ISecurityProvider&amp;gt;(_trader);

&lt;/code&gt;&lt;/pre&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code&gt;
private void ShowChartClick(object sender, RoutedEventArgs e)
{
    ConfigManager.RegisterService&amp;lt;ISecurityProvider&amp;gt;(_trader);

    Security _instr1 = _trader.Securities.FirstOrDefault((x) =&amp;gt; x.Id == &amp;quot;SBER@QJSIM&amp;quot;);
    Security _instr2 = _trader.Securities.FirstOrDefault((x) =&amp;gt; x.Id == &amp;quot;LKOH@QJSIM&amp;quot;);
    
    _indexInstr1 = new WeightedIndexSecurity() { Board = ExchangeBoard.Forts, Id = &amp;quot;IndexInstr&amp;quot; };
    _indexInstr1.Weights.Add(_instr1.Id.ToSecurityId(), 1m);
    _indexInstr1.Weights.Add(_instr2.Id.ToSecurityId(), -1m);
    
    _indexInstr3 = new ExpressionIndexSecurity
    {
        Id = &amp;quot;IndexInstr@FORTS&amp;quot;,
        Expression = &amp;quot;SBER@QJSIM*2&amp;quot;,
        Board = ExchangeBoard.Forts, 
    };
    _indexInstr3.WhenChanged(_trader).Do((s,d) =&amp;gt;
    {

    }).Apply();

    var series1 = new CandleSeries(typeof(TimeFrameCandle), _instr1, TimeSpan.FromMinutes(5))
    {
        BuildCandlesMode = BuildCandlesModes.Build,
        
    };
    var series2 = new CandleSeries(typeof(TimeFrameCandle), _indexInstr1, TimeSpan.FromMinutes(5))
    {
        BuildCandlesMode = BuildCandlesModes.Build,

    };
    var series3 = new CandleSeries(typeof(TimeFrameCandle), _indexInstr3, TimeSpan.FromMinutes(5))
    {
        BuildCandlesMode = BuildCandlesModes.Build
    };
   
    _chartWindows.SafeAdd(series3, key =&amp;gt;
	{
		var wnd = new ChartWindow();

		wnd.MakeHideable();

		var area = new ChartArea();
		wnd.Chart.Areas.Add(area);

		var candlesElem = new ChartCandleElement();
		area.Elements.Add(candlesElem);

		return wnd;
	}).Show();
   // _candleManager.Start(series1);
    _candleManager.Start(series3);
}


&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Но свечи все равно не приходят, событие WhenChanged не срабатывает.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
_indexInstr3.WhenChanged(_trader).Do((s,d) =&amp;gt;
{

}).Apply();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Но если тут же дополнительно прописать _candleManager.Start(series1); то событие _indexInstr3.WhenChanged начинает приходить, но свечей по индексу так и нет.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/39747/</id>
    <title type="text">Будем разбираться.. </title>
    <published>2017-04-17T12:26:29Z</published>
    <updated>2017-04-17T12:26:29Z</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/39742/</id>
    <title type="text">При построении ExpressionIndexSecurity и WeightedIndexSecurity вылетает ошибка Код для WeightedIndex...</title>
    <published>2017-04-15T09:20:26Z</published>
    <updated>2017-04-15T09:20:26Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;При построении  ExpressionIndexSecurity и WeightedIndexSecurity вылетает ошибка
Код для WeightedIndexSecurity&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
_indexInstr1 = new WeightedIndexSecurity() { Board = ExchangeBoard.Forts, Id = &amp;quot;IndexInstr&amp;quot; };
_indexInstr1.Weights.Add(_instr1.Id.ToSecurityId(), 1m);
_indexInstr1.Weights.Add(_instr2.Id.ToSecurityId(), -1m);

var series2 = new CandleSeries(typeof(TimeFrameCandle), _indexInstr1, TimeSpan.FromMinutes(5))
{
    BuildCandlesMode = BuildCandlesModes.Build,
};

_candleManager.Start(series2);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Код для ExpressionIndexSecurity&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
_indexInstr3 = new ExpressionIndexSecurity
{
    Id = &amp;quot;IndexInstr@FORTS&amp;quot;,
    Expression = &amp;quot;SBER@QJSIM*2&amp;quot;,
    Board = ExchangeBoard.Forts, 
};

var series3 = new CandleSeries(typeof(TimeFrameCandle), _indexInstr3, TimeSpan.FromMinutes(5))
{
    BuildCandlesMode = BuildCandlesModes.Build
};
_candleManager.Start(series2);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src="/file/104372/image5355.png" alt="image5355.png" /&gt;
Exception и StackTrace&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;h2 id="microsoft.practices.servicelocation.activationexception-was-unhandled-by-user-code-hresult-2146233088-messageactivation-error-occurred-while-trying-to-get-instance-of-type-isecurityprovider-key-sourceecng.configuration-stacktrace-microsoft.practices.servicelocation.servicelocatorimplbase.getinstancetype-servicetype-string-key-microsoft.practices.servicelocation.servicelocatorimplbase.getinstancetservice-ecng.configuration.configmanager.getservice-stocksharp.algo.candles.candlemanager.startcandleseries-series-datetimeoffset-from-datetimeoffset-to-stocksharp.algo.candles.candlehelper.starticandlemanager-manager-candleseries-series-samplequikcandles.mainwindow.showchartclickobject-sender-routedeventargs-e-cusersivandownloadsstocksharp_4.3.23_ru-2samplesquiksamplequikcandlesmainwindow.xaml.cs-230-system.windows.routedeventhandlerinfo.invokehandlerobject-target-routedeventargs-routedeventargs-system.windows.eventroute.invokehandlersimplobject-source-routedeventargs-args-boolean-reraised-system.windows.uielement.raiseeventimpldependencyobject-sender-routedeventargs-args-system.windows.uielement.raiseeventroutedeventargs-e-system.windows.controls.primitives.buttonbase.onclick-system.windows.controls.button.onclick-system.windows.controls.primitives.buttonbase.onmouseleftbuttonupmousebuttoneventargs-e-system.windows.uielement.onmouseleftbuttonupthunkobject-sender-mousebuttoneventargs-e-system.windows.input.mousebuttoneventargs.invokeeventhandlerdelegate-generichandler-object-generictarget-system.windows.routedeventargs.invokehandlerdelegate-handler-object-target-system.windows.routedeventhandlerinfo.invokehandlerobject-target-routedeventargs-routedeventargs-system.windows.eventroute.invokehandlersimplobject-source-routedeventargs-args-boolean-reraised-system.windows.uielement.reraiseeventasdependencyobject-sender-routedeventargs-args-routedevent-newevent-system.windows.uielement.onmouseupthunkobject-sender-mousebuttoneventargs-e-system.windows.input.mousebuttoneventargs.invokeeventhandlerdelegate-generichandler-object-generictarget-system.windows.routedeventargs.invokehandlerdelegate-handler-object-target-system.windows.routedeventhandlerinfo.invokehandlerobject-target-routedeventargs-routedeventargs-system.windows.eventroute.invokehandlersimplobject-source-routedeventargs-args-boolean-reraised-system.windows.uielement.raiseeventimpldependencyobject-sender-routedeventargs-args-system.windows.uielement.raisetrustedeventroutedeventargs-args-system.windows.uielement.raiseeventroutedeventargs-args-boolean-trusted-system.windows.input.inputmanager.processstagingarea-system.windows.input.inputmanager.processinputinputeventargs-input-system.windows.input.inputprovidersite.reportinputinputreport-inputreport-system.windows.interop.hwndmouseinputprovider.reportinputintptr-hwnd-inputmode-mode-int32-timestamp-rawmouseactions-actions-int32-x-int32-y-int32-wheel-system.windows.interop.hwndmouseinputprovider.filtermessageintptr-hwnd-windowmessage-msg-intptr-wparam-intptr-lparam-boolean-handled-system.windows.interop.hwndsource.inputfiltermessageintptr-hwnd-int32-msg-intptr-wparam-intptr-lparam-boolean-handled-ms.win32.hwndwrapper.wndprocintptr-hwnd-int32-msg-intptr-wparam-intptr-lparam-boolean-handled-ms.win32.hwndsubclass.dispatchercallbackoperationobject-o-system.windows.threading.exceptionwrapper.internalrealcalldelegate-callback-object-args-int32-numargs-system.windows.threading.exceptionwrapper.trycatchwhenobject-source-delegate-callback-object-args-int32-numargs-delegate-catchhandler-innerexception-hresult-2146233088-messageresolution-of-the-dependency-failed-type-stocksharp.businessentities.isecurityprovider-name-none.exception-occurred-while-while-resolving.exception-is-invalidoperationexception-the-current-type-stocksharp.businessentities.isecurityprovider-is-an-interface-and-cannot-be-constructed.are-you-missing-a-type-mapping"&gt;Microsoft.Practices.ServiceLocation.ActivationException was unhandled by user code
HResult=-2146233088
Message=Activation error occurred while trying to get instance of type ISecurityProvider, key &amp;quot;&amp;quot;
Source=Ecng.Configuration
StackTrace:
в Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key)
в Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance&lt;a href="" rel="nofollow" target="_blank"&gt;TService&lt;/a&gt;
в Ecng.Configuration.ConfigManager.GetService()
в StockSharp.Algo.Candles.CandleManager.Start(CandleSeries series, DateTimeOffset from, DateTimeOffset to)
в StockSharp.Algo.Candles.CandleHelper.Start(ICandleManager manager, CandleSeries series)
в SampleQuikCandles.MainWindow.ShowChartClick(Object sender, RoutedEventArgs e) в C:\Users\Ivan\Downloads\StockSharp_4.3.23_ru (2)\Samples\Quik\SampleQuikCandles\MainWindow.xaml.cs:строка 230
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
в System.Windows.Controls.Primitives.ButtonBase.OnClick()
в System.Windows.Controls.Button.OnClick()
в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
в System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
в System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
в System.Windows.Input.InputManager.ProcessStagingArea()
в System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
в System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
в System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
в System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
в System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
InnerException:
HResult=-2146233088
Message=Resolution of the dependency failed, type = &amp;quot;StockSharp.BusinessEntities.ISecurityProvider&amp;quot;, name = &amp;quot;(none)&amp;quot;.
Exception occurred while: while resolving.
Exception is: InvalidOperationException - The current type, StockSharp.BusinessEntities.ISecurityProvider, is an interface and cannot be constructed. Are you missing a type mapping?&lt;/h2&gt;
&lt;p&gt;At the time of the exception, the container was:&lt;/p&gt;
&lt;p&gt;Resolving StockSharp.BusinessEntities.ISecurityProvider,(none)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   Source=Ecng.Configuration
   TypeRequested=ISecurityProvider
   StackTrace:
        в Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
        в Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name, ResolverOverride[] resolverOverrides)
        в Microsoft.Practices.Unity.UnityServiceLocator.DoGetInstance(Type serviceType, String key)
        в Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key)
   InnerException: 
        HResult=-2146233079
        Message=The current type, StockSharp.BusinessEntities.ISecurityProvider, is an interface and cannot be constructed. Are you missing a type mapping?
        Source=Ecng.Configuration
        StackTrace:
             в Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.ThrowForAttemptingToConstructInterface(IBuilderContext context)
             в BuildUp_StockSharp.BusinessEntities.ISecurityProvider(IBuilderContext )
             в Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.BuildUp(IBuilderContext context)
             в Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
             в Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
             в Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
        InnerException: 
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Все пробовал на примере SampleQuikCandles изменил метод ShowChartClick&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code&gt;
private void ShowChartClick(object sender, RoutedEventArgs e)
{
	var security = SelectedSecurity;

    Security _instr1 = _trader.Securities.FirstOrDefault((x) =&amp;gt; x.Id == &amp;quot;SBER@QJSIM&amp;quot;);
    Security _instr2 = _trader.Securities.FirstOrDefault((x) =&amp;gt; x.Id == &amp;quot;LKOH@QJSIM&amp;quot;);
    
    _indexInstr1 = new WeightedIndexSecurity() { Board = ExchangeBoard.Forts, Id = &amp;quot;IndexInstr&amp;quot; };
    _indexInstr1.Weights.Add(_instr1.Id.ToSecurityId(), 1m);
    _indexInstr1.Weights.Add(_instr2.Id.ToSecurityId(), -1m);
    
    _indexInstr3 = new ExpressionIndexSecurity
    {
        Id = &amp;quot;IndexInstr@FORTS&amp;quot;,
        Expression = &amp;quot;SBER@QJSIM*2&amp;quot;,
        Board = ExchangeBoard.Forts, 
    };


    var series1 = new CandleSeries(typeof(TimeFrameCandle), security, TimeSpan.FromMinutes(5))
    {
        BuildCandlesMode = BuildCandlesModes.Build,
        
    };
    var series2 = new CandleSeries(typeof(TimeFrameCandle), _indexInstr1, TimeSpan.FromMinutes(5))
    {
        BuildCandlesMode = BuildCandlesModes.Build,

    };
    var series3 = new CandleSeries(typeof(TimeFrameCandle), _indexInstr3, TimeSpan.FromMinutes(5))
    {
        BuildCandlesMode = BuildCandlesModes.Build
    };
    _chartWindows.SafeAdd(series1, key =&amp;gt;
	{
		var wnd = new ChartWindow();

		wnd.MakeHideable();

		var area = new ChartArea();
		wnd.Chart.Areas.Add(area);

		var candlesElem = new ChartCandleElement();
		area.Elements.Add(candlesElem);

		return wnd;
	}).Show();
    
    _candleManager.Start(series2);
}

&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Как правильно построить индекс?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>