﻿<?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">RandomWalkTradeGenerator не хранятся сделки</title>
  <id>~/topic/2214/randomwalktradegenerator-ne-hranyatsya-sdelki/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-17T16:47:57Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2214" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/15535/</id>
    <title type="text">так у вас памяти не хватает, ведь написано. очищайте этот список, не держите в нём абсолютно все сде...</title>
    <published>2012-01-10T19:22:58Z</published>
    <updated>2012-01-10T19:22:58Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">так у вас памяти не хватает, ведь написано.&lt;br /&gt;очищайте этот список, не держите в нём абсолютно все сделки.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/15534/</id>
    <title type="text">Создание шлюза: _trader = new EmulationTrader( new { security }, new { portfolio }) { MarketTimeChan...</title>
    <published>2012-01-10T19:03:44Z</published>
    <updated>2012-01-10T19:04:20Z</updated>
    <author>
      <name>profts</name>
      <uri>https://stocksharp.com/users/6174/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Создание шлюза:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;_trader = new EmulationTrader(&lt;br /&gt;                new[] { security },&lt;br /&gt;                new[] { portfolio })&lt;br /&gt;            {&lt;br /&gt;                MarketTimeChangedInterval = timeFrame,&lt;br /&gt;                Storage = storage,&lt;br /&gt;                WorkingTime = Exchange.Rts.WorkingTime,&lt;br /&gt;                DaysInMemory = 1,&lt;br /&gt;            };&lt;br /&gt;            _trader.DepthGenerators[security] = new TrendMarketDepthGenerator(security)&lt;br /&gt;            {&lt;br /&gt;                Interval = TimeSpan.FromSeconds(1),&lt;br /&gt;            };&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt; из Strategy:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;protected override void OnStarting()&lt;br /&gt;          {&lt;br /&gt;           sdelki = new ThreadSafeObservableCollection&amp;lt;Trade&amp;gt;();&lt;br /&gt;            &lt;br /&gt;              this&lt;br /&gt;                     .When(Security.SecurityNewTrades())&lt;br /&gt;                     .Do(raschet);&lt;br /&gt;           base.OnStarting();&lt;br /&gt;          }&lt;br /&gt;private void raschet()&lt;br /&gt;          {&lt;br /&gt;             sdelki.Add(Security.LastTrade);&lt;br /&gt;            &lt;br /&gt;            MainWindow.Instance.GuiAsync(() =&amp;gt; sum_vol_riz010 = sdelki.Where(p =&amp;gt; p.Time &amp;gt; Security.LastTrade.Time.AddSeconds(-10) &amp;amp;&amp;amp;&lt;br /&gt;                      p.Security == Security).Sum(tr =&amp;gt; tr.Volume));&lt;br /&gt;          }&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Пытаюсь сделать, чтобы заработал данный элементарный расчет.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/15533/</id>
    <title type="text">Без стэк трэйса невозможно сказать. Но похоже что да, проблема с потоками у вас возникает в алгоритм...</title>
    <published>2012-01-10T18:40:35Z</published>
    <updated>2012-01-10T18:40:35Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Без стэк трэйса невозможно сказать.&lt;br /&gt;Но похоже что да, проблема с потоками у вас возникает в алгоритме.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/15531/</id>
    <title type="text">Для тестирования также нужны сделки. Пытался обойти данную проблему созданием собственной ThreadSafe...</title>
    <published>2012-01-10T16:20:19Z</published>
    <updated>2012-01-10T16:20:39Z</updated>
    <author>
      <name>profts</name>
      <uri>https://stocksharp.com/users/6174/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Для тестирования также нужны сделки.&lt;br /&gt;Пытался обойти данную проблему созданием собственной ThreadSafeObservableCollection&amp;lt;Trade&amp;gt; sdelki, столкнулся со следующим:&lt;br /&gt;&lt;br /&gt;по событию&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;this&lt;br /&gt;                     .When(Security.SecurityNewTrades())&lt;br /&gt;                     .Do(raschet);&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;сначала идет добавление последней сделки в мою коллекцию, а затем уже необходимый расчет на основе моей коллекции:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;private void raschet()&lt;br /&gt;          {&lt;br /&gt;             sdelki.Add(Security.LastTrade);&lt;br /&gt;...&lt;br /&gt;/// Расчет&lt;br /&gt;...&lt;br /&gt;          }&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если перед запуском делаю остановку на строке добавления сделки в коллекцию и далее прогоняю с пом F11,  то сделки сохраняются в коллекцию и расчет идет.  Без остановки в коллекцию добавляется только одна сделка, хотя тики продолжают генерироваться и событие срабатывает и через некоторое время вылетает  Win32Exception. Так понимаю что-то с потоками...</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/14524/</id>
    <title type="text"> В самой стратегии пробую считать объем сделок за период, но: Int32 count = base.Trader.Trades.Count...</title>
    <published>2011-12-11T10:06:30Z</published>
    <updated>2011-12-11T10:06:30Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;russ &lt;a href="https://stocksharp.com/posts/m/14518/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;В самой стратегии пробую считать объем сделок за период, но:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
Int32 count = base.Trader.Trades.Count();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; всегда = 0.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Да, в эмуляции сделки не попадают в Trader.Trades.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/14522/</id>
    <title type="text">Народ, так должны хранится сделки или нет? В примерах аналогичная ситуация.</title>
    <published>2011-12-11T08:03:12Z</published>
    <updated>2011-12-11T08:03:12Z</updated>
    <author>
      <name>russ</name>
      <uri>https://stocksharp.com/users/567/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Народ, так должны хранится сделки или нет? В примерах аналогичная ситуация.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/14518/</id>
    <title type="text">Версия 4.0.8 Генерирую данные и стакан. var security = new Security { Id = &amp;quot;RIU9@RTS&amp;quot;, Code = &amp;quot;RIU9&amp;quot;...</title>
    <published>2011-12-10T19:45:43Z</published>
    <updated>2011-12-10T20:37:42Z</updated>
    <author>
      <name>russ</name>
      <uri>https://stocksharp.com/users/567/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Версия 4.0.8&lt;br /&gt;Генерирую данные и стакан.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
var security = new Security
                    {
                        Id = &amp;quot;RIU9@RTS&amp;quot;,
                        Code = &amp;quot;RIU9&amp;quot;,
                        Name = &amp;quot;RTS-9.09&amp;quot;,
                        MinStepSize = 5,
                        MinStepPrice = 2,
                        Decimals = 0,
                        Exchange = Exchange.Test,
                    };

                    _trader = new EmulationTrader(
                            new[] { security },
                            new[] { portfolio })
                        {
                            MarketTimeChangedInterval = timeFrame
                        };

                        _trader.TradeGenerators[security] = new RandomWalkTradeGenerator(security, 155000);
                        _trader.DepthGenerators[security] = new TrendMarketDepthGenerator(security);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В самой стратегии пробую считать объем сделок за период, но:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
Int32 count = base.Trader.Trades.Count();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; всегда = 0.&lt;br /&gt;Хотя в &lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
Trade tr = base.Security.LastTrade;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; есть информация по сделке.&lt;br /&gt;Приход новых сделок в стратегии обрабатываю вот так:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
protected override void OnStarting()
        {
            this
                .When(base.Security.SecurityNewTrades())
                .Do(CalcVolume);

            base.OnStarting();
        }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В чем может быть проблема?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>