﻿<?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">API 4.2.1.5 ошибки при сохранении стакана</title>
  <id>~/topic/4222/api-4_2_1_5-oshibki-pri-sohranenii-stakana/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-19T13:22:31Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4222" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/29076/</id>
    <title type="text">Добавил еще такую проверку:```csharp if (marketDepth.Asks.Length != marketDepth.Asks.Select(a =&amp;gt; a.P...</title>
    <published>2014-01-15T15:45:46Z</published>
    <updated>2014-01-15T15:45:46Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.com/users/6296/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добавил еще такую проверку:```csharp
if (marketDepth.Asks.Length != marketDepth.Asks.Select(a =&amp;gt; a.Price).Distinct().Count())
continue;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;            if (marketDepth.Bids.Length != marketDepth.Bids.Select(a =&amp;gt; a.Price).Distinct().Count())
                continue;
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29075/</id>
    <title type="text">Ошибка из-за того, что в стакане есть котировки с одинаковой ценой. Т.е. например: Asks: 350 340 340...</title>
    <published>2014-01-15T15:36:48Z</published>
    <updated>2014-01-15T15:36:48Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.com/users/6296/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Ошибка из-за того, что в стакане есть котировки с одинаковой ценой. Т.е. например:
Asks:
350
340
340
320&lt;/p&gt;
&lt;p&gt;или
Bids:&lt;/p&gt;
&lt;p&gt;300
280
280
150&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28759/</id>
    <title type="text">vk37: Михаил Сухов: Старая добрая ошибка смартком. Цена лучших квот равна. Надо такое фильтровать ка...</title>
    <published>2013-12-25T07:13:17Z</published>
    <updated>2013-12-25T07:13:17Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(28757)" rel="nofollow" target="_blank"&gt;vk37&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(28748)" rel="nofollow" target="_blank"&gt;Михаил Сухов&lt;/a&gt;:&lt;/strong&gt;
Старая добрая ошибка смартком. Цена лучших квот равна. Надо такое фильтровать как в гидре перед сохранением.Посмотрел: стоит у меня такая проверка )&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Сделайте еще вот так:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var fake = theClone.ToDictionary(q =&amp;gt; q.Price);
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28757/</id>
    <title type="text">Михаил Сухов: Старая добрая ошибка смартком. Цена лучших квот равна. Надо такое фильтровать как в ги...</title>
    <published>2013-12-25T06:28:35Z</published>
    <updated>2013-12-25T06:28:35Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.com/users/6296/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(28748)" rel="nofollow" target="_blank"&gt;Михаил Сухов&lt;/a&gt;:&lt;/strong&gt;
Старая добрая ошибка смартком. Цена лучших квот равна. Надо такое фильтровать как в гидре перед сохранением.Посмотрел: стоит у меня такая проверка )&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;        private void OnMarketDepthsChanged(IEnumerable&amp;lt;MarketDepth&amp;gt; marketDepths)
        {
            foreach (var marketDepth in marketDepths)
            {
                var theClone = marketDepth.Clone();

                if (theClone.Bids.Length == 0 || theClone.Asks.Length == 0)
                    continue;

                if (theClone.BestAsk == null ||  theClone.BestBid == null)
                    continue;
                
                // Эта проверка
                if (theClone.BestAsk.Price &amp;lt;= theClone.BestBid.Price)
                    continue;

                _saveManager.MarketDepths.Enqueue(theClone);
            }
        }
```Под смартком 2.2 такой ошибки не замечал, мой код с тех пор не менялся.

                
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28748/</id>
    <title type="text">Старая добрая ошибка смартком. Цена лучших квот равна. Надо такое фильтровать как в гидре перед сохр...</title>
    <published>2013-12-24T11:25:56Z</published>
    <updated>2013-12-24T11:25:56Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</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.com/posts/m/28747/</id>
    <title type="text">Перед началом основной торговой сессии фортс такие были ошибки около 20 шт. 2013-12-24 09:46:52,688 ...</title>
    <published>2013-12-24T10:18:24Z</published>
    <updated>2013-12-24T10:19:20Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.com/users/6296/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Перед началом основной торговой сессии фортс такие были ошибки около 20 шт.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;2013-12-24 09:46:52,688 [ 7] ERROR - Ошибка при сохранении стаканов
System.ArgumentException: An item with the same key has already been added.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at StockSharp.Algo.TraderHelper.GetDelta(IEnumerable`1 from, IEnumerable`1 to)
   at StockSharp.Algo.TraderHelper.GetDelta(MarketDepth from, MarketDepth to)
   at #=q$U8A663fhd_0nxstRJ5STtHVdvBVtQukA7zl9AibzNGeEEvji2dJooZa8ayjIDhC.#=qSjYXVuN0ckTGw8mrYQriqA==(List`1 #=q2cQNsRhsImEgVXVksZBjSw==, IEnumerable`1 #=qlKCfxei94Vv3UzqvpNz3hA==, #=qPjD4BOv$5BKxe_ttNIce9KX$StN0NyiBwpObU6kch$BMgL6S9sfObFU3GqsEgX1e #=qTFfdcnxupMR9RCen$yyBAg==)
   at #=qvPdOKmEvEXpYUIeZNvfr_znIw80Z0XdYcnKCHvfSPW$53oUCutiMW2z6RXfDAe41ciQl8jAAT5WAqwWdQkoDGQ==.#=qyIZ0I1YeVbWE63bhnA1K1m2wMY4WufT7V_fi6zP$BEiUFK4ZG1$WOQya8xSiCOYZmeScHvX14dkmWXwkWW4x83yElb8cbD$Qj2VhO6A1Tg8=(IEnumerable`1 #=qeNRuCwPbA1MZUv6t_RCB1A==, #=qhGR8S6Wu_SWG1MG6nOa3ZCrPdX2mFvXg_NU1dSJhBRouCHpisXihlhUpXrrFBvL4 #=qNeuAjq1TWLi$Pw_QrW3tyQ==)
   at #=qMr7SOgVDO7e2LOOI0TIpOlcrRD__36oAVUZnLjrXy4f8WChvEhvBrmKrhHWHTTDM.#=qslrI4Dm2UMjXW3BBv90Pwg==(DateTime #=qOA7tKmye8FF6uiZjivgoew==, #=q_8rCYviG8F7vLRinZLvBtg==[] #=qCViIC5A30X4eCFdr$Hf6jw==, Boolean #=qoNs8QO9b8hjaaFLpfZViow==)
   at #=qMr7SOgVDO7e2LOOI0TIpOlcrRD__36oAVUZnLjrXy4f8WChvEhvBrmKrhHWHTTDM.Save(IEnumerable`1 #=q1V7P2EQ7pJv8vVj8c5ImrQ==)
   at AlgoTrading.Hydra.Model.SaveManager.SaveMarketDepths() in d:\Temp\AlgoTrading\Build Process Data\Export\SourceCode\Applications\AlgoTrading.Hydra\Model\SaveManager.cs:line 224
```Смартком х64 3.0.87
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>