﻿<?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">Сообщество. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=246</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-17T02:36:34Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=246" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/1784/</id>
    <title type="text">можно ли как-то удалить правило из списка</title>
    <published>2011-08-01T15:55:48Z</published>
    <updated>2011-08-01T15:55:48Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">можно ли как-то удалить правило из списка ,не дожидаясь окончания работы стратегии?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1783/</id>
    <title type="text">[BUG] сохранено неправильное время сделок</title>
    <published>2011-07-31T18:11:37Z</published>
    <updated>2011-07-31T18:11:37Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Загрузил данные в Гидру с РТС за 5е июля.&lt;br /&gt;&lt;br /&gt;Изучаю сделки по LKU1.&lt;br /&gt;Мистика - данные выглядят так как будто торги начались только в 23:45 и шли всю ночь 6го июля ;)&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1782/</id>
    <title type="text">[CR] Слишком много папок в Base - лучше не экспортировать с РТС то что не было выбрано</title>
    <published>2011-07-31T17:17:46Z</published>
    <updated>2011-07-31T17:17:46Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Сейчас Гидра с РТС экспортирует ВСЁ без разбора, и так как каждый опцион считается как отдельный инструмент то после экспорта в папке Base образуется ОЧЕНЬ БОЛЬШОЕ количество папок. У меня там сейчас &amp;gt;10k папок и открывается она пару минут :(&lt;br /&gt;&lt;br /&gt;А т.к. через Гидру нелегко понять на какие дни есть данные у определенного инструмента, то типичный юс-кейс - зайти в Base и посмотреть на какие дни есть папки у инструмента. И вот этот юс-кейс сейчас очень тормозной.&lt;br /&gt;&lt;br /&gt;Поэтому предлагаю не экспортировать с РТС те инструменты которые не были выбраны.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1781/</id>
    <title type="text">Стаканы не соответствуют трейдам</title>
    <published>2011-07-31T16:56:44Z</published>
    <updated>2011-07-31T16:56:44Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">Запускаю стратегию на истории.&lt;br /&gt;В 10:00:00 смотрю какое состояние имеет стакан. Запоминаю. Продолжаю останавливаться каждую секунду и вижу что стакан не меняется.&lt;br /&gt;Когда время доходит до 10:00:11 вижу что Last Trade Price = 18510 что также соответствует информации из Гидры&lt;br /&gt;Однако стакан по прежнему имеет неизменное состояние с первых секунд.&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1780/</id>
    <title type="text">BitCoins</title>
    <published>2011-07-31T15:19:52Z</published>
    <updated>2011-07-31T15:19:52Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="forex" />
    <content type="html">А вот про &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAEaGmvoumqQV_3sIYeBdThFLEo-m3AlIKjU4drpReg3kyCQeg5pddhdp_9hmoJNRE" title="http://ru.wikipedia.org/wiki/Bitcoin"&gt;БитКоины&lt;/a&gt; кто что думает?&lt;br /&gt;Мне кажется что вне зависимости от того насколько это перспективная и надежная валюта она уже достаточно созрела чтобы в ней были приличные объемы, и на ней уже можно делать, например, арбитражные стратегии, но она еще недостаточно выросла чтобы в нее пришли крупные игроки от которых простым людям будут оставаться одни только крохи.&lt;br /&gt;&lt;br /&gt;Может быть кто-нибудь напишет коннектор к одной-двум биткоин биржам?&lt;br /&gt;вот пример описания API одной из бирж: &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABiXBCu4aWxlPmuak604uu4j5Dz4AqJmP1Jpgldi4ndakjN1ocEWtEEt5Ocx12VjzY" title="https://en.bitcoin.it/wiki/MtGox/API"&gt;https://en.bitcoin.it/wiki/MtGox/API&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1779/</id>
    <title type="text">[BUG] System.OutOfMemoryException</title>
    <published>2011-07-29T18:37:48Z</published>
    <updated>2011-07-29T18:37:48Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">При тестировании на истории через пару виртуальных дней стабильно валится с эксепшном:&lt;br /&gt;Exception of type &amp;#39;System.OutOfMemoryException&amp;#39; was thrown&lt;br /&gt;&lt;br /&gt;Я пробовал делать:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
	
		GC.Collect();
		GC.WaitForPendingFinalizers();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;каждый виртуальный час - не помогло.&lt;br /&gt;&lt;br /&gt;Валится обычно либо на AddInfoLog либо в нердах MarketDepthGenerator&amp;#39;а&lt;br /&gt;&lt;br /&gt;Похоже что кто-то накапливает объекты и не отдает их.&lt;br /&gt;&lt;br /&gt;Если подскажете как локализовать проблему попробую это сделать.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1778/</id>
    <title type="text">какие менеджеры стратегий не правильно работают?</title>
    <published>2011-07-29T12:26:43Z</published>
    <updated>2011-07-29T12:26:43Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Вопрос к разработчикам.&lt;br /&gt;я так понял, что в версии 3.2.5 не все менеджеры стратегй работаю правильно.&lt;br /&gt;в частности PositionManager стратегии .&lt;br /&gt;Скажите, пожалуйста, остальные менеджеры стратегий работают правильно? &lt;br /&gt;в частности менеджер LatencyManager?&lt;br /&gt;Или лучше использовать менеджеры из пространства имен&lt;br /&gt;StockSharp.Algo.Latency&lt;br /&gt;StockSharp.Algo.PnL&lt;br /&gt;StockSharp.Algo.Positions&lt;br /&gt;StockSharp.Algo.Slippage?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1777/</id>
    <title type="text">[Bug] не верно расчитывается PositionManager.Position</title>
    <published>2011-07-29T07:37:27Z</published>
    <updated>2011-07-29T07:37:27Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Не всегда верно расчитывается PositionManager.Position&lt;br /&gt;Заметил это когда продовал фьюч РТС. продал два контракта по одному, позиция была равна -1.&lt;br /&gt;Проявляется не всегда.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1776/</id>
    <title type="text">Многопоточность-однопоточность</title>
    <published>2011-07-28T13:16:25Z</published>
    <updated>2011-07-28T13:16:25Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Михаил &amp;amp; co, приветствую!&lt;br /&gt;&lt;br /&gt;Возник такой вопросик. Допустим мне, из архитектурных соображений (возьмем это за данное), хочется, чтобы:&lt;br /&gt;1. все события любой, отдельно взятой стратегии возникали и обрабатывались не более чем &lt;b&gt;одной&lt;/b&gt; нитью&lt;br /&gt;2. все &lt;b&gt;разделяемые и модифицируемые&lt;/b&gt; данные в рамках стратегии: заявки, инструменты оставались неизменными по ходу работы обработчиков стратегии&lt;br /&gt;(например, хочется быть уверенным, что по ходу работы обработчика NewOrder, объекты-заявки, пришедшие в нем, не изменятся или что не изменится BestBid/Ask). &lt;br /&gt;&lt;br /&gt;Самих стратегий м.б. много, несколько десятков.&lt;br /&gt;Мне известен путь &amp;quot;в лоб&amp;quot; для достижения цели №1 - lock в обработчиках на какой-то объект синхронизации, свой для каждой стратегии, но не очень понятно насколько это хорошо с т.зр. производительности при большом числе стратегий. &lt;br /&gt;Как добиться цели №2 от S# я не знаю.&lt;br /&gt;&lt;br /&gt;Что-нибудь посоветуете по этим топикам?&lt;br /&gt;&lt;br /&gt;Спасибо!&lt;br /&gt;&lt;br /&gt;PS. Вопрос не про QUIK, про любые адаптеры S#.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1775/</id>
    <title type="text">Quik 5.23.0.119</title>
    <published>2011-07-28T06:11:48Z</published>
    <updated>2011-07-28T06:11:48Z</updated>
    <author>
      <name>Dimarik</name>
      <uri>https://stocksharp.ru/users/28403/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Доброго дня!&lt;br /&gt;&lt;br /&gt;Не происходит подключение к Quik версии 5.23.0.119 К предыдущим подключение проходили нормально. Все настройки сделаны правильно.&lt;br /&gt;Verifer тоже не подключается.&lt;br /&gt;Используемая библиотека S# 3.2.5. &lt;br /&gt;&lt;br /&gt;Подскажите в чем может быть проблема?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Удачи всем! </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1773/</id>
    <title type="text">События NewCandles и CandlesChanged не происходят.</title>
    <published>2011-07-27T13:30:24Z</published>
    <updated>2011-07-27T13:30:24Z</updated>
    <author>
      <name>paunov</name>
      <uri>https://stocksharp.ru/users/27840/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Я добавил в SampleConsole события NewCandles и CandlesChanged. Сделки совершаются, но эти события не вызываются.&lt;br /&gt;Сразу кидаю код.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
namespace SampleConsole
{
	using System;
	using System.Linq;
	using System.Threading;

	using Ecng.Common;

	using StockSharp.BusinessEntities;
	using StockSharp.Quik;
	using StockSharp.Algo;
    using StockSharp.Algo.Candles;
    using StockSharp.Algo.Reporting;
    using StockSharp.Algo.Strategies;
	class Program
	{
        private readonly static TimeSpan _timeFrame = TimeSpan.FromMinutes(5);
		private static Security _lkoh;
		private static Portfolio _portfolio;
		private static MarketDepth _depth;
        private static CandleManager _candleManager;
		static void Main()
		{
			try
			{
				// для теста выбираем бумагу Лукойл
				const string secCode = &amp;quot;LKOH&amp;quot;;

				var quikPath = QuikTerminal.GetDefaultPath();

				if (quikPath.IsEmpty())
				{
					Console.WriteLine(&amp;quot;Не найден ни один запущенный Quik&amp;quot;);
					return;
				}

				Console.WriteLine(&amp;quot;Запущенный Quik найден по пути &amp;quot; + quikPath);

				Console.Write(&amp;quot;Введите номер счета, через который будет выставлена заявка: &amp;quot;);
                var account = &amp;quot;1636&amp;quot;;

				using (var waitHandle = new AutoResetEvent(false))
				{
					// создаем шлюз к Quik-у
					using (var trader = new QuikTrader(quikPath))
					{
						// необходимо раскомментировать, если идет работа с РТС Стандарт
						//trader.FormatTransaction += builder =&amp;gt; builder.RemoveInstruction(TransactionBuilder.ExecutionCondition);

						// подписываемся на событие успешного подключения
						// все действия необходимо производить только после подключения
						trader.Connected += () =&amp;gt;
						{

                            _candleManager = new CandleManager(trader);
							Console.WriteLine(&amp;quot;Подключение было произведено успешно.&amp;quot;);

							// извещаем об успешном соединени
							waitHandle.Set();
						};

						Console.WriteLine(&amp;quot;Производим подключение...&amp;quot;);

						trader.Connect();

						// дожидаемся события об успешном соединении
						waitHandle.WaitOne();

						trader.NewPortfolios += portfolios =&amp;gt;
						{
							if (_portfolio == null)
							{
								// находим Лукойл и присваиваем ее переменной lkoh
								_portfolio = portfolios.FirstOrDefault(p =&amp;gt; p.Name == account);

								if (_portfolio != null)
								{
									Console.WriteLine(&amp;quot;Портфель {0} появился.&amp;quot;, account);

									// если инструмент и стакан уже появились,
									// то извещаем об этом основной поток для выставления заявки
									if (_lkoh != null &amp;amp;&amp;amp; _depth != null)
										waitHandle.Set();
								}
							}
						};
                        
                        

						// подписываемся на событие появление инструментов
						trader.NewSecurities += securities =&amp;gt;
						{
							if (_lkoh == null)
							{
								// находим Лукойл и присваиваем ее переменной lkoh
								_lkoh = securities.FirstOrDefault(sec =&amp;gt; sec.Code == secCode);

								if (_lkoh != null)
								{
									Console.WriteLine(&amp;quot;Инструмент Лукойл появился.&amp;quot;);

									// запускаем экспорт стакана
									trader.RegisterQuotes(_lkoh);
                                    _candleManager.RegisterTimeFrameCandles(_lkoh, _timeFrame);
									if (_portfolio != null)
										waitHandle.Set();
								}
							}
						};

						// подписываемся на событие появления моих новых сделок
						trader.NewMyTrades += myTrades =&amp;gt;
						{
							foreach (var myTrade in myTrades)
							{
								var trade = myTrade.Trade;
								Console.WriteLine(&amp;quot;Сделка {0} по цене {1} по бумаге {2} по объему {3} в {4}.&amp;quot;, trade.Id, trade.Price, trade.Security.Code, trade.Volume, trade.Time);
							}
						};

						// подписываемся на событие обновления стакана
						trader.QuotesChanged += depths =&amp;gt;
						{
							if (_depth == null &amp;amp;&amp;amp; _lkoh != null)
							{
								_depth = depths.FirstOrDefault(d =&amp;gt; d.Security == _lkoh);

								if (_depth != null)
								{
									Console.WriteLine(&amp;quot;Стакан Лукойла появился.&amp;quot;);

									// если портфель уже появился, то извещаем об этом основной поток для выставления заявки
									if (_portfolio != null)
										waitHandle.Set();
								}
							}
						};

						Console.WriteLine(&amp;quot;Дожидаемся появления в программе инструмента Лукойл и портфеля {0}...&amp;quot;.Put(account));

                        
                        _candleManager.NewCandles += (token, candles) =&amp;gt;
                        {
                            Console.WriteLine(&amp;quot;Событие NewCandles произошло&amp;quot;);
                        };
                        _candleManager.CandlesChanged += (token, candles) =&amp;gt; 
                        {
                            Console.WriteLine(&amp;quot;Событие CandlesChanged произошло&amp;quot;);
                        };
                        
						// запускаем экспорт по DDE
						trader.StartExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable);

						// дожидаемся появления портфеля и инструмента
						waitHandle.WaitOne();

						// 0.1% от изменения цены
						const decimal delta = 0.001m;

						// запоминаем первоначальное значение середины спреда
						var firstMid = _lkoh.BestPair.SpreadPrice / 2;
						Console.WriteLine(&amp;quot;Первоначальное значение середины спреда {0:0.##}&amp;quot;, _lkoh.BestBid.Price + firstMid);

						while (true)
						{
							var mid = _lkoh.BestPair.SpreadPrice / 2;

							// если спред вышел за пределы нашего диапазона
							if	(
									((firstMid + firstMid * delta) &amp;lt;= mid) ||
									((firstMid - firstMid * delta) &amp;gt;= mid) ||(0==0)
								)
							{




								var order = new Order
								{
									Portfolio = _portfolio,
									Price = _lkoh.ShrinkPrice(_lkoh.BestBid.Price + mid),
									Security = _lkoh,
									Volume = 1,
									Direction = OrderDirections.Buy,
								};


								trader.RegisterOrder(order);
								Console.WriteLine(&amp;quot;Заявка {0} зарегистрирована.&amp;quot;, order.Id);

                                Thread.Sleep(1000);

                                try
                                {
                                    if (!order.IsMatched() &amp;amp;&amp;amp; (order.State == OrderStates.Active))
                                        trader.CancelOrder(order);
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine(&amp;quot;Заявка не может быть снята&amp;quot;);
                                }



							}
							else
								Console.WriteLine(&amp;quot;Текущее значение середины спреда {0:0.##}&amp;quot;, _lkoh.BestBid.Price + mid);

							// ждем 1 секунду
							Thread.Sleep(1000);

						}

						// останавливаем экспорт по DDE
						trader.StopExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable);
					}
				}
			}
			catch (Exception ex)
			{
				Console.WriteLine(ex);
			}
            var getch = Console.ReadLine();
		}
     
	}
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1772/</id>
    <title type="text">вопрос новичка</title>
    <published>2011-07-27T08:35:23Z</published>
    <updated>2011-07-27T08:35:23Z</updated>
    <author>
      <name>Mihailo</name>
      <uri>https://stocksharp.ru/users/16573/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="SmartCom" />
    <content type="html">Здравствуйте. Я временами начинаю писать робота по примерам, т.к. опыта программирования у меня нет. У меня возникла новая идея, но я не знаю как её реализовать.&lt;br /&gt;Суть следующая: я получаю сделки по инструменту и совершаю математические действия с последней ценой (назовем её &amp;quot;ИзмЦена&amp;quot;).&lt;br /&gt;1) Как мне строить график в реальном времени по ИзмЦена? Нужно именно передавать в график ИзмЦену, а не считать её на месте от Security.&lt;br /&gt;2) Как мне передавать эту цену в стратегию, а не считать её в стратегии от Security?.&lt;br /&gt;Заранее спасибо.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1771/</id>
    <title type="text">Простейшее построение графиков (новичок)</title>
    <published>2011-07-26T10:36:00Z</published>
    <updated>2011-07-26T10:36:00Z</updated>
    <author>
      <name>Sgt.Riggs</name>
      <uri>https://stocksharp.ru/users/27912/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Стоит задача реализовать построение графиков &amp;quot;крестики-нолики&amp;quot; для QUIK. Поскольку знаю C#, решил воспользоваться вашей библиотекой. Никак не могу разобраться, как именно нужно настраивать QUIK, чтобы получить необходимые графики (использую пока пример из дистрибутива библиотеки). С QUIK&amp;#39;ом знаком очень мало, моя задача - только алгоритмы (изначально вообще планировалось писать плагин на QPILE, но насколько я понял, реализовать на нём свой способ визуализации данных - плохая идея). Прошу помощи :) Нужно, по сути, изобразить тот же график, что показывает QUIK по команде &amp;quot;Графики цены и объёма&amp;quot;. Любой график, представленный в данный момент времени в QUIK&amp;#39;е, должен быть изображён в моей программе в виде крестиков-ноликов. Портфели и пр. не нужны... Подскажите, пожалуйста, как получить исключительно данные графиков при помощи вашей библиотеки? В качестве &amp;quot;образца&amp;quot; используется инструмент &amp;quot;RTS-9.11 [Фьючерсы FORTS]&amp;quot;.&lt;br /&gt;&lt;br /&gt;Заранее спасибо.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1770/</id>
    <title type="text">Багтрекер для S#</title>
    <published>2011-07-26T04:07:02Z</published>
    <updated>2011-07-26T04:07:02Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">А может ишью/баг-трекер завести для S#?&lt;br /&gt;А то не легко трекать статус треда - решена проблема или нет.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1769/</id>
    <title type="text">Вопрос от новичка.</title>
    <published>2011-07-25T14:00:51Z</published>
    <updated>2011-07-25T14:00:51Z</updated>
    <author>
      <name>Vit1986</name>
      <uri>https://stocksharp.ru/users/28144/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Доброе время суток.&lt;br /&gt;Не могу подключиться к QUIK (FinamJunior 5.17.0.139).&lt;br /&gt;&lt;br /&gt;Пишет (в любом примере из Samples): Не удалось подключиться к Quik. Возможно, в quik-е не включена обработка внешних транзакций….&lt;br /&gt;&lt;br /&gt;Использовать info.wnd не удалось, пишет что не достаточно памяти.&lt;br /&gt;Настроил все как сказано в мануале (т.е. обработка внешних транзакций включил).&lt;br /&gt;&lt;br /&gt;OS: WinXP sp2&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1768/</id>
    <title type="text">EmulationTrader: не приходит ответ на выставление заявки</title>
    <published>2011-07-25T07:41:32Z</published>
    <updated>2011-07-25T07:41:32Z</updated>
    <author>
      <name>romanick</name>
      <uri>https://stocksharp.ru/users/28047/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">Привет. Продолжаю мучать эмулятор.&lt;br /&gt;Столкнулся с тем что &lt;b&gt;иногда&lt;/b&gt; эмулятор никак не реагирует на выставление заявки.&lt;br /&gt;Обработчики стоят следующие:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
			this.When(newOrder.Registered())
				.Do(() =&amp;gt; {
				    		log(&amp;quot;заявка принята, id=&amp;quot;+newOrder.TransactionId.ToString() + &amp;quot; vol=&amp;quot;+newOrder.Volume);
				    });&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
			this.When(newOrder.Failed())
				.Do(() =&amp;gt; {
				    	log(&amp;quot;failed&amp;quot;);
				    });&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;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
			this.When(newOrder.NewTrades())
					.Do(() =&amp;gt; { log(&amp;quot;ордер исполнен&amp;quot;); });&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;На всякий случай ещё подписывался на Strategy.NewOrder и Strategy.OrderFailed - там тоже реакции не видно.&lt;br /&gt;Заявку отправляю с помощью Strategy.RegisterOrder.&lt;br /&gt;Повторюсь, что этот баг плавающий - т.е. он то есть, то его нет.&lt;br /&gt;&lt;br /&gt;Upd: this - стратегия, унаследованная от Strategy</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1767/</id>
    <title type="text">Двойное вызов OnProcess</title>
    <published>2011-07-24T16:58:14Z</published>
    <updated>2011-07-24T16:58:14Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">При тестировании через EmulationTrader стратегии на основе TimeFrameStrategy OnProcess вызывается дважды.&lt;br /&gt;Допустим, если timeframe - 10 секунд, то вызов будет в 11:00:00, еще раз в 11:00:00, потом в 11:00:10 и еще раз в 11:00:10,..&lt;br /&gt;Версия - 3.2.5.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1766/</id>
    <title type="text">Проблема с Canceled()</title>
    <published>2011-07-23T11:28:57Z</published>
    <updated>2011-07-23T11:28:57Z</updated>
    <author>
      <name>romanick</name>
      <uri>https://stocksharp.ru/users/28047/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Выставляю 2 заявки - buyOrder и sellOrder. Затем ставлю обработчик:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
this.When(buyOrder.Canceled())
				.Do(() =&amp;gt; {
				    	log(&amp;quot;buy canceled&amp;quot;);
				    	buyOrder = null;
				    });&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;и &lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
this.When(sellOrder.Canceled())
				.Do(() =&amp;gt; {
				    	log(&amp;quot;sell canceled&amp;quot;);
				    	sellOrder = null;
				    });&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;this - это стратегия.&lt;br /&gt;Затем по определённому событию снимаю всё при помощи CancelActiveOrders()&lt;br /&gt;&lt;br /&gt;В логах вижу:&lt;br /&gt;buy canceled&lt;br /&gt;sell canceled&lt;br /&gt;buy canceled&lt;br /&gt;sell canceled&lt;br /&gt;&lt;br /&gt;Т.е. каждый обработчик вызывается 2 раза. Убираю один ордер - начинает вызываться один раз. Выходит что вызов обработчика Canceled происходит не для текущего ордера, а для всех снятых в цикле. Это баг или фича? И если фича, как мне понять для какой заявки произошло событие Canceled?&lt;br /&gt;&lt;br /&gt;Использую эмулятор, s# 3.2.5</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1765/</id>
    <title type="text">Проблема при инициализации EmulationTrader</title>
    <published>2011-07-22T20:54:08Z</published>
    <updated>2011-07-22T20:54:08Z</updated>
    <author>
      <name>romanick</name>
      <uri>https://stocksharp.ru/users/28047/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">Приветствую!&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&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,
			};
			var portfolio = new Portfolio { Name = &amp;quot;test account&amp;quot; };
			
			var eTrader = new EmulationTrader(
				new[] { security },
				new[] { portfolio })
			{
				StartTime = new DateTime(2011, 1, 1),
				StopTime = new DateTime(2011, 2, 1)
			};
			Debug.WriteLine(eTrader.Portfolios.Count());
			Debug.WriteLine(eTrader.Securities.Count());&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Выводятся два нуля. Почему так?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1764/</id>
    <title type="text">Жесть с NewMyTrades!!!! (не вызвалось событие NewMyTrades)</title>
    <published>2011-07-22T18:10:29Z</published>
    <updated>2011-07-22T18:10:29Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Я веду подсчет открытой позиции самостоятельно - ловлю NewMyTrades, &lt;br /&gt;и если бумага моя (==this.Security) то увеличиваю/уменьшаю (в зависимости от направления ордера по которому пришел трейд) счетчик int OpenedPosition в стратегии.&lt;br /&gt;&lt;br /&gt;а сегодня столкнулся с серьезной проблемой&lt;br /&gt;&lt;br /&gt;была открытая лонг позиция в 2 бумаги. это подтверждает и мой счетчик и PositionManager.Position:&lt;br /&gt;22.07.2011 13:55:39.415 PositionManager.Position: 2; OpenedPosition:2&lt;br /&gt;&lt;br /&gt;роботом был послан ордер на биржу на продажу 3х лотов:&lt;br /&gt;22.07.2011 13:55:39.810 RegisterOrder: Ok! sec=LKU1 dir=SELL vol=3 price=18769,00&lt;br /&gt;&lt;br /&gt;пока ордер висел позиция не менялась&lt;br /&gt;22.07.2011 13:55:49.408 PnLManager.PnL: 2; OpenedPosition:2;&lt;br /&gt;&lt;br /&gt;но потом вдруг - БЕЗ ВЫЗОВА NewMyTrade свойство PositionManager.Position изменилось!&lt;br /&gt;22.07.2011 13:55:50.490 PnLManager.PnL: -1; OpenedPosition:2;&lt;br /&gt;и в логах Квика видно что как раз в это время ордер был полностью исполнен!&lt;br /&gt;[cursing]&lt;br /&gt;&lt;br /&gt;т.к. робот не знал о выполнении его ордера - трейды же не пришли, то продолжил торговать.&lt;br /&gt;и через несколько секунд ситуация еще раз повторилось, а потом еще раз и до тех пор пока все средства со счета в ГО не ушли. &lt;br /&gt;спасло только то что счет небольшой и цена далеко не ушла - вручную потом откупил совсем с небольшими потерями.[bored] &lt;br /&gt;&lt;br /&gt;как так получилось что NewMyTrade не был вызван???&lt;br /&gt;и как можно перестраховаться от таких косяков в будущем???&lt;br /&gt;как ЖЕЛЕЗНО узнать свою позицию???&lt;br /&gt;[confused]&lt;br /&gt;&lt;br /&gt;PS&amp;gt; PositionManager.Position который показал правильную инфу тут постоянно неправильно показывает в других ситуациях</content>
  </entry>
</feed>