﻿<?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">Не сохраняется ChartActiveOrdersElement</title>
  <id>~/topic/10517/ne-sohranyaetsya-chartactiveorderselement/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-10T10:38:12Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=10517" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/47469/</id>
    <title type="text">Добрый день Пожалуйста, возьмите ночную сборку. </title>
    <published>2019-05-12T12:51:35Z</published>
    <updated>2019-05-12T12:51:35Z</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;Пожалуйста, возьмите ночную сборку.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/47302/</id>
    <title type="text">Ошибки нет, но изначальная проблема не решена. При вызове метода Chart.Load(SettingsStorage); ChartA...</title>
    <published>2019-04-18T20:48:22Z</published>
    <updated>2019-04-18T20:48:22Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.com/users/98279/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Ошибки нет, но изначальная проблема не решена. При вызове метода Chart.Load(SettingsStorage); ChartActiveOrdersElement не восстанавливается.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/47115/</id>
    <title type="text">Добрый день Ошибка исправлена. Пожалуйста, возьмите ночную сборку. График был изменен в работе с акт...</title>
    <published>2019-04-06T09:28:07Z</published>
    <updated>2019-04-06T09:28:07Z</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;Ошибка исправлена. Пожалуйста, возьмите ночную сборку.&lt;/p&gt;
&lt;p&gt;График был изменен в работе с активными заявками. Класс ChartActiveOrderInfo убран, и отрисовка заявок теперь идентична отрисовке других данных. Изменения в работе с графиком можно посмотреть в примере SampleChartActiveOrders&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/47085/</id>
    <title type="text">Здравствуйте. Код написан исключительно для генерации исключения: xaml: C# using System.IO; using Ec...</title>
    <published>2019-04-02T18:22:41Z</published>
    <updated>2019-04-02T18:22:41Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.com/users/98279/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Здравствуйте. Код написан исключительно для генерации исключения:
xaml:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;dx:DXWindow x:Class=&amp;quot;Chart.MainWindow&amp;quot;
        xmlns=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;
        xmlns:x=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;
        xmlns:d=&amp;quot;http://schemas.microsoft.com/expression/blend/2008&amp;quot;
        xmlns:mc=&amp;quot;http://schemas.openxmlformats.org/markup-compatibility/2006&amp;quot;
        xmlns:charting=&amp;quot;http://schemas.stocksharp.com/xaml&amp;quot;
        xmlns:dx=&amp;quot;http://schemas.devexpress.com/winfx/2008/xaml/core&amp;quot;
             mc:Ignorable=&amp;quot;d&amp;quot;
        Title=&amp;quot;MainWindow&amp;quot; Height=&amp;quot;500&amp;quot; Width=&amp;quot;800&amp;quot;&amp;gt;
        &amp;lt;charting:ChartPanel Name=&amp;quot;ChartPanel&amp;quot; IsInteracted=&amp;quot;True&amp;quot;/&amp;gt;
&amp;lt;/dx:DXWindow&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;C#&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;using System.IO;
using Ecng.Serialization;
using System;
using Ecng.Collections;
using StockSharp.BusinessEntities;
using StockSharp.Messages;
using StockSharp.Xaml.Charting;

namespace Chart
{
    public partial class MainWindow
    {
        private SettingsStorage _settingsStorage;

        public MainWindow()
        {
            InitializeComponent();
            Load();
        }

        private void Load()
        {
            if (File.Exists(&amp;quot;SettingsStorage.xml&amp;quot;))
            {
                _settingsStorage = new XmlSerializer&amp;lt;SettingsStorage&amp;gt;().Deserialize(&amp;quot;SettingsStorage.xml&amp;quot;);
                try
                {
                    ChartPanel.Load(_settingsStorage);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            }
            else
            {
                Init();
                var opder = new Order()
                {
                    Direction = Sides.Sell,
                    Price = 10,
                    Volume = 1,
                    Portfolio = new Portfolio(),
                    Security = new Security(),
                    Type = OrderTypes.Limit
                };

                var info = new ChartActiveOrderInfo { AutoRemoveFromChart = true, IsFrozen = true };
                ((ChartActiveOrdersElement)ChartPanel.Areas[0].Elements[0]).Orders.Add(info);
                info.UpdateOrderState(opder);
                Save();
                Load();
            }
        }

        private void Save()
        {
            if (_settingsStorage == null) _settingsStorage = new SettingsStorage();
            ChartPanel.Save(_settingsStorage);
            new XmlSerializer&amp;lt;SettingsStorage&amp;gt;().Serialize(_settingsStorage, &amp;quot;SettingsStorage.xml&amp;quot;);
        }

        private void Init()
        {
            var area = new ChartArea();
            area.Elements.AddRange(new IChartElement[]
            {
                new ChartActiveOrdersElement() {FullTitle = &amp;quot;1 - ChartActiveOrdersElement&amp;quot;},
            });
            ChartPanel.AddArea(area);
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Stack Trace:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Вызвано исключение: &amp;quot;System.NullReferenceException&amp;quot; в StockSharp.Xaml.Charting.dll
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в #=zUgOT$dqffNhqgBHbzKATis5ksn7fW5nxQ$P5ZxXxNFm31zN0sTRJfAEdqVq2LW4mUA==.#=zWcAwHBE6G5Gr(ChartActiveOrderInfo #=z0$7hqFk=)
в MoreLinq.MoreEnumerable.ForEach(IEnumerable&lt;code&gt;1 source, Action&lt;/code&gt;1 action)
в #=zUgOT$dqffNhqgBHbzKATis5ksn7fW5nxQ$P5ZxXxNFm31zN0sTRJfAEdqVq2LW4mUA==.#=zeVHr530Ei5NMe62OHw==(CachedSynchronizedSet&lt;code&gt;1 #=zLz_yTHcg$XcDmNJbDw==) в StockSharp.Xaml.Charting.ChartActiveOrdersElement.#=zS0UYcC7JoJPtvI$e0SDPobN5JG4ZzJCK38SK7EM0P5yklHFikw==(#=zkLBFWGhA77gAAGpX8VUR2sW25fmTWXpK0udw$AODebIRGiUjYRAh6WuWrgZ1 #=zfuq5kUA=) в System.Linq.Enumerable.WhereSelectEnumerableIterator&lt;/code&gt;2.MoveNext()
в System.Linq.Enumerable.WhereEnumerableIterator&lt;code&gt;1.MoveNext() в System.Linq.Buffer&lt;/code&gt;1..ctor(IEnumerable&lt;code&gt;1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable&lt;/code&gt;1 source)
в #=z0DepTck0bocQHHfVCZtBFruF12dNuDHzbd166UmWHErMOeJXI8lXznmkkvZt..ctor(#=zkLBFWGhA77gAAGpX8VUR2sW25fmTWXpK0udw$AODebIRGiUjYRAh6WuWrgZ1 #=zNV6cels=, #=zMPk6Lh2B_jmrP7UuRDOkZP3pfStR0ZpumA== #=zzMEJFaI=, IEnumerable&lt;code&gt;1 #=zH0bA33RLOI$6) в #=zkLBFWGhA77gAAGpX8VUR2sW25fmTWXpK0udw$AODebIRGiUjYRAh6WuWrgZ1.#=ztUepVVpNm7yU() в #=zkLBFWGhA77gAAGpX8VUR2sW25fmTWXpK0udw$AODebIRGiUjYRAh6WuWrgZ1.#=zE$38$HJmEkif() в StockSharp.Xaml.Charting.ChartArea.set_Chart(IChart #=zWCeGY7U=) в StockSharp.Xaml.Charting.Chart.#=zfwQK$GZ1LJXT(ChartArea #=zc9NML58=) в Ecng.Collections.BaseCollection&lt;/code&gt;2.OnAdded(TItem item)
в Ecng.Collections.BaseCollection&lt;code&gt;2.Add(TItem item) в StockSharp.Xaml.Charting.Chart.#=z9F6bNRC2OWze.#=zqgw4h9Y=(SettingsStorage #=zdW4k2mI=, IDictionary&lt;/code&gt;2 #=zBabf5Rk=, IDictionary`2 #=zk3TOXFod9M$6oqY9UA==)
в StockSharp.Xaml.Charting.ChartPanel.Load(SettingsStorage storage)
в Chart.MainWindow.Load() в C:\Users\user\Projects\Chart\MainWindow.xaml.cs:строка 28
Вызвано исключение: &amp;quot;System.NullReferenceException&amp;quot; в Chart.exe
Исключение типа &amp;quot;System.NullReferenceException&amp;quot; возникло в Chart.exe, но не было обработано в коде пользователя
Ссылка на объект не указывает на экземпляр объекта.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/47075/</id>
    <title type="text">Добрый день Пожалуйста, приведите код, а так же текст ошибки. </title>
    <published>2019-04-01T20:23:55Z</published>
    <updated>2019-04-01T20:23: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;Пожалуйста, приведите код, а так же текст ошибки.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/47074/</id>
    <title type="text">В ночной сборке элемент сохраняется и восстанавливается, но если сохранить график с активным ордером...</title>
    <published>2019-04-01T19:35:25Z</published>
    <updated>2019-04-01T19:35:52Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.com/users/98279/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В ночной сборке элемент сохраняется и восстанавливается, но если сохранить график с активным ордером(то есть будет отрисована линия ордера), а потом загрузить то получим исключение NullReferenceException.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/47002/</id>
    <title type="text">Добрый день Пожалуйста, возьмите ночную сборку. Сделана поддержка сохранения и восстановления ChartA...</title>
    <published>2019-03-26T11:26:35Z</published>
    <updated>2019-03-26T11:26:35Z</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;Пожалуйста, возьмите ночную сборку. Сделана поддержка сохранения и восстановления ChartActiveOrdersElement&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46935/</id>
    <title type="text">А чем отличается ChartCandleElement от ChartActiveOrdersElement например? ChartCandleElement, так же...</title>
    <published>2019-03-15T15:23:40Z</published>
    <updated>2019-03-15T15:23:40Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.com/users/98279/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;А чем отличается ChartCandleElement от ChartActiveOrdersElement например? ChartCandleElement, так же как и ChartIndicatorElement нормально восстанавливаются.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46929/</id>
    <title type="text">Добрый день Графические компоненты сохраняют только визуальные настройки. Они не сохраняют сами данн...</title>
    <published>2019-03-15T10:50:10Z</published>
    <updated>2019-03-15T10:50:10Z</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;Графические компоненты сохраняют только визуальные настройки. Они не сохраняют сами данные, которые передаёт в них пользовательский код.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/46925/</id>
    <title type="text">Если добавить ChartActiveOrdersElement а область графика, а затем сохранить и загрузить то восстанов...</title>
    <published>2019-03-14T14:30:45Z</published>
    <updated>2019-03-14T14:30:45Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.com/users/98279/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Если добавить ChartActiveOrdersElement а область графика, а затем сохранить и загрузить то восстановления не происходит.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
&amp;lt;dx:DXWindow x:Class=&amp;quot;Chart.MainWindow&amp;quot;
        xmlns=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;
        xmlns:x=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;
        xmlns:d=&amp;quot;http://schemas.microsoft.com/expression/blend/2008&amp;quot;
        xmlns:mc=&amp;quot;http://schemas.openxmlformats.org/markup-compatibility/2006&amp;quot;
        xmlns:charting=&amp;quot;http://schemas.stocksharp.com/xaml&amp;quot;
        xmlns:dx=&amp;quot;http://schemas.devexpress.com/winfx/2008/xaml/core&amp;quot;
             mc:Ignorable=&amp;quot;d&amp;quot;
        Title=&amp;quot;MainWindow&amp;quot; Height=&amp;quot;500&amp;quot; Width=&amp;quot;800&amp;quot;&amp;gt;
    &amp;lt;Grid&amp;gt;
        &amp;lt;Grid.RowDefinitions&amp;gt;
            &amp;lt;RowDefinition/&amp;gt;
            &amp;lt;RowDefinition Height=&amp;quot;Auto&amp;quot;/&amp;gt;
            &amp;lt;RowDefinition Height=&amp;quot;Auto&amp;quot;/&amp;gt;
            &amp;lt;RowDefinition Height=&amp;quot;Auto&amp;quot;/&amp;gt;
            &amp;lt;RowDefinition Height=&amp;quot;Auto&amp;quot;/&amp;gt;
        &amp;lt;/Grid.RowDefinitions&amp;gt;
        &amp;lt;charting:ChartPanel Name=&amp;quot;ChartPanel&amp;quot; IsInteracted=&amp;quot;True&amp;quot;/&amp;gt;
        &amp;lt;Button Content=&amp;quot;Init&amp;quot; Click=&amp;quot;Init_OnClick&amp;quot; Grid.Row=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/Button&amp;gt;
        &amp;lt;Button Content=&amp;quot;Clear&amp;quot; Click=&amp;quot;Clear_OnClick&amp;quot; Grid.Row=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/Button&amp;gt;
        &amp;lt;Button Content=&amp;quot;Load&amp;quot; Click=&amp;quot;Load_OnClick&amp;quot; Grid.Row=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/Button&amp;gt;
        &amp;lt;Button Content=&amp;quot;Save&amp;quot; Click=&amp;quot;Save_OnClick&amp;quot; Grid.Row=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/Button&amp;gt;
    &amp;lt;/Grid&amp;gt;
&amp;lt;/dx:DXWindow&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;
using System.IO;
using Ecng.Serialization;
using System;
using System.Windows;
using Ecng.Collections;
using StockSharp.Xaml.Charting;

namespace Chart
{
    public partial class MainWindow
    {
        private MyStrategy Strategy;
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Load_OnClick(object sender, RoutedEventArgs e)
        {
            if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + &amp;quot;/SettingsStorage.xml&amp;quot;))
            {
                var settingsStorage =
                    new XmlSerializer&amp;lt;SettingsStorage&amp;gt;().Deserialize(
                        AppDomain.CurrentDomain.BaseDirectory + &amp;quot;/SettingsStorage.xml&amp;quot;);
                ChartPanel.Load(settingsStorage);
            }
        }

        private void Save_OnClick(object sender, RoutedEventArgs e)
        {
            var settingsStorage = new SettingsStorage();
            ChartPanel.Save(settingsStorage);
            new XmlSerializer&amp;lt;SettingsStorage&amp;gt;().Serialize(settingsStorage, AppDomain.CurrentDomain.BaseDirectory + &amp;quot;/SettingsStorage.xml&amp;quot;);
        }

        private void Init_OnClick(object sender, RoutedEventArgs e)
        {
            var area = new ChartArea();
            area.Elements.AddRange(new IChartElement[]{new ChartActiveOrdersElement() { FullTitle = &amp;quot;ChartActiveOrdersElement&amp;quot; }, new ChartCandleElement(){Title = &amp;quot;ChartCandleElement&amp;quot; }, });
            ChartPanel.AddArea(area);
        }

        private void Clear_OnClick(object sender, RoutedEventArgs e)
        {
            ChartPanel.ClearAreas();
        }
    }
}

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>