﻿<?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=208</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-28T09:22:31Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=208" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/2587/</id>
    <title type="text">MarketEmulator Failing</title>
    <published>2012-04-11T18:48:47Z</published>
    <updated>2012-04-11T18:48:47Z</updated>
    <author>
      <name>hobo</name>
      <uri>https://stocksharp.ru/users/27889/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Если при тестировании через EmulationTrader, поле Failing чему-нибудь присвоить, событие OrdersRegisterFailed вызывается бесконечное число раз. Даже если заявку отменить или перерегистрировать другой заявкой событие продолжает вызываться.
Наблюдается в 4.0.20-4.0.23, по-крайней мере.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2586/</id>
    <title type="text">Программист C# в SmartQuant и Хедж Фонд</title>
    <published>2012-04-11T09:58:57Z</published>
    <updated>2012-04-11T09:58:57Z</updated>
    <author>
      <name>SmartQuant</name>
      <uri>https://stocksharp.ru/users/28345/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Работа" />
    <content type="html">&lt;p&gt;Разработка и поддержка линейки собственных продуктов компании (&lt;a href="http://www.smartquant.com" rel="nofollow" target="_blank"&gt;http://www.smartquant.com&lt;/a&gt;), разработка алгоритмических торговых стратегий.&lt;/p&gt;
&lt;p&gt;Наша компания также участвует в деятельности партнерского хедж фонда. В связи с этим предоставляется уникальная возможность применить свои навыки и умения в разработке инфраструктуры фонда и практической торговле алгоритмическими стратегиями, что в перспективе означает участие в получении бонуса по итогам работы фонда.&lt;/p&gt;
&lt;p&gt;Требования&lt;/p&gt;
&lt;p&gt;Уверенное программирование в среде .NET/C#
Английский язык на уровне хорошего чтения/письма&lt;/p&gt;
&lt;p&gt;Пожелания&lt;/p&gt;
&lt;p&gt;Математическое или естественно-научное образование
Понимание устройства финансовых рынков и интерес к алгоритмической торговле&lt;/p&gt;
&lt;p&gt;Зарплата от 20 (студент без опыта работы) до 100 тыр. + бонус по итогам работы фонда.&lt;/p&gt;
&lt;p&gt;Санкт-Петербург
м. Черная Речка, Лесная&lt;/p&gt;
&lt;p&gt;jobs@smartquant.com&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2585/</id>
    <title type="text">Тест на истории - как лучше получить дату на &amp;quot;бирже&amp;quot;?</title>
    <published>2012-04-11T09:38:24Z</published>
    <updated>2012-04-11T09:38:24Z</updated>
    <author>
      <name>Spiritschaser</name>
      <uri>https://stocksharp.ru/users/1927/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Добрый вечер!&lt;/p&gt;
&lt;p&gt;При тестировании на истории хочу попробовать использовать фактор времени.
Откуда из стратегии лучше брать &amp;quot;текущее время&amp;quot;? Из СandleManager'а????&lt;/p&gt;
&lt;p&gt;Ещё один момент заметил: когда я из стратегии пытаюсь посмотреть, чёрная свеча или белая, этот метод часто выдаёт значение null, хотя свечи вполне такие нормальные. Обращаюсь из стратегии так:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;_candleManager.GetLastTimeFrameCandle(this.Security,_timeFrame).IsCandleWhiteOrBlack()
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2584/</id>
    <title type="text">Качать тики с финама прогой</title>
    <published>2012-04-09T18:42:00Z</published>
    <updated>2012-04-09T18:42:00Z</updated>
    <author>
      <name>Maxim K.</name>
      <uri>https://stocksharp.ru/users/60/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">&lt;p&gt;Всем доброго времени суток !
В общем  написал простенькую прогу на c#, которая качает историю с финама.Радовался, танцевал и плакал до тех пор, пока не попробовал скачать ей тики. В скаченном файле содержалась следующая печальная весть :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Автоматическая (Download-менеджеры и программы собственного изготовления) загрузка &amp;quot;тиковых&amp;quot; данных не доступна.
В программировании не особо силен, и как они &amp;quot;понимают&amp;quot; что качает прога, а не человек, не имею ни малейшего представления.Хотелось бы эту преграду как-нибудь обойти. Если кто-то сталкивался с подобной проблемой, буду очень признателен если поделитесь опытом.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Спасибо и с уважением.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2583/</id>
    <title type="text">Тиковые данные из Hydra</title>
    <published>2012-04-09T17:04:34Z</published>
    <updated>2012-04-09T17:04:34Z</updated>
    <author>
      <name>art.tsgnet</name>
      <uri>https://stocksharp.ru/users/6002/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Добрый вечер,возник вопрос
у меня есть данные сделок и стаканов, загруженные гидрой и хранящиеся в папке (допустим папка dates а в ней папки с ID инструментов)
чтобы получить данные по какому-либо инструменту нужно использовать TradingStorage.GetTradeStorage(Security)
а как мне получить список инструментов, по которым имеются данные в папке, чтобы предоставить пользователю выбор инструмента из имеющихся, на котором он будет тестировать стратегию?&lt;/p&gt;
&lt;p&gt;я думал будет коллекция инструментов хранится в TradingStorage.Securities но при загрузке из данных RIU9@RTS (которые идут в стандартном архиве с s#) эта коллекция пуста
может я чего не правильно делаю?&lt;/p&gt;
&lt;p&gt;хранилище создаю так&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;storage = new TradingStorage(new InMemoryStorage())
                {
                    BasePath = &amp;quot;путь к данным&amp;quot;
                };

securityComboBox.ItemsSource = storage.Securities; //пусто (
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2582/</id>
    <title type="text">Отмена ранее созданого правила</title>
    <published>2012-04-09T03:58:19Z</published>
    <updated>2012-04-09T03:58:19Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.ru/users/6072/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Подскажите, правильно ли я выполняю отмену StartegyRule. В документации как это сделать не нашел.&lt;/p&gt;
&lt;p&gt;Создаю правило так:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        ActivateSellOrderRule = this.When(Security.LastTradePriceLess(new Unit(order.Price + Security.MinStepSize, UnitTypes.Limit)))
          .Do(() =&amp;gt; ActivateOrder(order)).Once();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Удаляю правило так&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
          this.Rules.Remove(ActivateSellOrderRule);
          ActivateSellOrderRule.Dispose();
          ActivateSellOrderRule = null;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ActivateSellOrderRule глобальный объект класса стратегии.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2581/</id>
    <title type="text">Получение данный из серии IEnumerable.</title>
    <published>2012-04-08T05:52:14Z</published>
    <updated>2012-04-08T05:52:14Z</updated>
    <author>
      <name>Loiso</name>
      <uri>https://stocksharp.ru/users/5934/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;При загрузке данных из хранилища методом Load() получаем объект IEnumerable&amp;lt;Trade&amp;gt;. Если я правильно понимаю это список объектов Trade. Получить данные можно с помощью GetENumerator и далее Currrent. Но в результате получаем объект Object, а не Trade. И, к примеру, получить отдельно свойство Price или Volume не получается. Подскажите как можно получить эти данные или я что-то не так делаю?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2580/</id>
    <title type="text">Hunting high and low. Продолжение.</title>
    <published>2012-04-07T16:18:21Z</published>
    <updated>2012-04-07T16:18:21Z</updated>
    <author>
      <name>vlad1024</name>
      <uri>https://stocksharp.ru/users/768/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Статьи" />
    <content type="html">&lt;p&gt;По x - время в минутах с начала сессии (10:00) образования хая, по y - дельта от опена до хая (day high - day open). Данные за 2010-11 годы.
&lt;img src="/file/101850/img_high.png/" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Аналогично но для лоя, по x - время в минутах с начала сессии (10:00) образования лоя, по y - дельта от опена до лоя (day open - day low).
&lt;img src="/file/101851/img_low.png/" alt="" /&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2579/</id>
    <title type="text">не обновляются инструменты Smart</title>
    <published>2012-04-06T07:44:41Z</published>
    <updated>2012-04-06T07:44:41Z</updated>
    <author>
      <name>SoWar</name>
      <uri>https://stocksharp.ru/users/28478/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Доброго дня.
Гидра 4.0.23
первый запуск. Настроен смартконнект. Смартком последний февральский.
Кнопка Обновить приводит к следующей ошибке:
&lt;img src="http://s019.radikal.ru/i611/1204/bf/9fc51c850496.jpg" alt="ошибка" /&gt;&lt;/p&gt;
&lt;p&gt;в чем может быть причина?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2578/</id>
    <title type="text">Банальная задача, но непонятно как решать.</title>
    <published>2012-04-06T00:45:14Z</published>
    <updated>2012-04-06T00:45:14Z</updated>
    <author>
      <name>igork</name>
      <uri>https://stocksharp.ru/users/6303/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="SmartCom" />
    <content type="html">&lt;p&gt;Задача - написать отдельный сервис, который бы срабатывал в моменты 18:45:20 и 23:45:20, снимал бы статус всех счетов (балансы, открытые позиции) и отключался. В связи с асинхронной моделью задача кажется некрасиво реализуемой.&lt;/p&gt;
&lt;p&gt;Что делаем:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Подписываемся на .NewPortfolios += portfolios =&amp;gt; .... Trader.RegisterPortfolio() здесь.
Подписываемся на .NewPositions += positions =&amp;gt; ... (хотя наверное этого можно и не делать).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Запускаем StartExport&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Тупо в цикле делаем Thread.Sleep(1000) 20-30 раз, за это время приходят события по портфелям и по позициям. Подозреваю, что в моменты клиринга и ночью этого времени достаточно, но если времени не хватит - как понять, что вся инфомация пришла? Использовать вариант waitHandle нереально, так как кол-во портфелей может поменяться (в теории) и позиции точно каждый день разные, и сколько их - заранее неизвестно.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;После паузы делаем
Trader.portfolios.ForEach(снять данные портфеля)
Trader.positions.ForEach(снять позиции по портфелям).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Далее проще - регистрируем акции/фюьчи из портфеля, смотрим их котировки/ГО и все считаем.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Отключаемся.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Господа авторы, подскажите пожалуйста правильный путь. Есть ли какие-то варианты того, как убедиться в том, что
(1) пришла / актуализировалась информация по всем портфелям
(2) прошла информация по всем позициям?&lt;/p&gt;
&lt;p&gt;Заранее благодарю.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2577/</id>
    <title type="text">Как получить значение ATR?</title>
    <published>2012-04-05T15:35:46Z</published>
    <updated>2012-04-05T15:35:46Z</updated>
    <author>
      <name>profts</name>
      <uri>https://stocksharp.ru/users/6174/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;pre&gt;&lt;code class="language-plain"&gt;
_strategy = new Strategy(new AverageTrueRange { Length = 14})

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;далее&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;
 ATR.Process((CandleIndicatorValue)candle);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;и пытаюсь получить результат:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;
atr = ATR.LastValue.GetValue&amp;lt;decimal&amp;gt;();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;сравниваю со значениями в  WealthLab - даже близко не совпадают.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2576/</id>
    <title type="text">Стратегия остановилась, правила продолжают работать.</title>
    <published>2012-04-05T12:31:14Z</published>
    <updated>2012-04-05T12:31:14Z</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;p&gt;Стратегия остановилась, правила продолжают работать.&lt;/p&gt;
&lt;p&gt;16:13:40.962 |            | ARBR            | GetCurPrice 157200,00 0
16:13:40.966 |            | ARBR            | GetCurPrice 157200,00 0
16:13:40.970 |            | ARBR            | WaitMarketChanged 157200
16:13:40.971 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (49272108)' удалено.
16:13:41.963 |            | ARBR            | Стратегия останавливается.
16:13:41.963 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (45571967)' удалено.
16:13:41.963 |            | ARBR            | Стратегия остановлена.
16:13:41.967 |            | ARBR            | Fire 0
16:13:41.977 |            | ARBR            | OnStopped
16:13:41.987 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (45571967)' активировано.
16:13:41.987 |            | ARBR            | SendSellOrder
16:13:41.989 |            | ARBR            | GetCurPrice 157200,00 0
16:13:41.990 |            | ARBR            | GetCurPrice 157200,00 0
16:13:41.991 |            | ARBR            | WaitMarketChanged 157200
16:13:41.992 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (45571967)' удалено.
16:13:42.958 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (21376372)' активировано.
16:13:42.958 |            | ARBR            | SendSellOrder
16:13:42.960 |            | ARBR            | GetCurPrice 157200,00 0
16:13:42.961 |            | ARBR            | GetCurPrice 157200,00 0
16:13:42.962 |            | ARBR            | WaitMarketChanged 157200
16:13:42.964 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (21376372)' удалено.
16:13:43.977 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (26797507)' активировано.
16:13:43.977 |            | ARBR            | SendSellOrder
16:13:43.979 |            | ARBR            | GetCurPrice 157200,00 0
16:13:43.981 |            | ARBR            | GetCurPrice 157200,00 0
16:13:43.983 |            | ARBR            | WaitMarketChanged 157200
16:13:43.986 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (26797507)' удалено.
16:13:44.991 |            | ARBR            | Правило 'Изменение стакана инструмента RIM2@RTS (2920177)' активировано.
16:13:44.991 |            | ARBR            | SendSellOrder
16:13:44.993 |            | ARBR            | GetCurPrice 157200,00 0
16:13:44.995 |            | ARBR            | GetCurPrice 157200,00 0
16:13:44.997 |            | ARBR            | WaitMarketChanged 157200&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2575/</id>
    <title type="text">Стоп-лимит заявка не активируется на эмуляторе RealTimeEmulationTrader</title>
    <published>2012-04-05T12:15:57Z</published>
    <updated>2012-04-05T12:15:57Z</updated>
    <author>
      <name>PavelAd</name>
      <uri>https://stocksharp.ru/users/6072/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Создаю стратегию, использую эмулятор RealTimeEmulationTrader&amp;lt;QuikTrader&amp;gt;.&lt;/p&gt;
&lt;p&gt;Создаю и регистрирую стоп-лимит заявку таким способом:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
      var order = new Order() {
        Portfolio = Portfolio,
        Security = Security, // RIM2
        Direction = OrderDirections.Buy,
        Price = 157010,
        Type = OrderTypes.Conditional,
        Volume = 1,
        StopCondition = new QuikStopCondition() {
          Type = QuikStopConditionTypes.StopLimit,
          StopPrice = 157000
        }
      };

      this.When(order.Registered()).Do(orderSLRegistered);
      this.When(order.Activated()).Do(orderSLActivated);
      this.When(order.Matched()).Do(orderSLMatched);
      this.When(order.RegisterFailed()).Do(orderSLRegisteredFailed);
      RegisterOrder(order);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Регистрации стоп-заявки выполняется, выводится сообщение в лог из orderSLRegistered.
Цена достигает 157000 и выше, но заявка не активируется (не становится лимитной)
Пробовал обычные лимитные заявки - они успешно исполняются.
Помогите пожалуйста разобраться в проблеме.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2574/</id>
    <title type="text">LKOH-6.12, RealTimeEmulationTrader минутами (!) выполняет заявки...</title>
    <published>2012-04-05T12:07:28Z</published>
    <updated>2012-04-05T12:07:28Z</updated>
    <author>
      <name>Spiritschaser</name>
      <uri>https://stocksharp.ru/users/1927/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Добрый вечер!&lt;/p&gt;
&lt;p&gt;Тестирую стратегию робота на настоящем квике. S# 4.0.23, квик 6.0.1.&lt;/p&gt;
&lt;p&gt;У меня таймфрейм минута, но эмуляция выполнения заявок длится минутами... Это нормально?
И что делать?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2573/</id>
    <title type="text">Сработали правила на исполнение и отмену заяки</title>
    <published>2012-04-05T09:43:40Z</published>
    <updated>2012-04-05T09:43:40Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Стартегия поставила заявку, на эту заявку повелили правило на исполнение и отмену.
Заявка была исполнена и почему-то сработали оба правила.&lt;/p&gt;
&lt;p&gt;Лог.
11:50:17.155 |            | CRBR            | Стратегия запущена.
11:50:17.156 |            | CRBR            | FirstActiveNewRegime 0
11:50:17.159 |            | CRBR            | CreateOrder OnStarting
11:50:17.214 |            | CRBR            | RegisterOrder 42375260
11:50:26.476 |            | CRBR            | Новая Sell сделка 22436851 по цене 158400 на 4 заявки 42375260.
11:50:26.477 |            | CRBR            | Правило 'Новые сделки заявки 0 (63366267)' активировано.
11:50:26.478 |            | CRBR            | IsMatched 42375260
11:50:26.490 |            | CRBR            | DeactiveRule
11:50:26.493 |            | CRBR            | Правило 'Новые сделки заявки 0 (63366267)' удалено.
11:50:27.488 |            | CRBR            | Новая позиция -4.
11:50:29.710 |            | CRBR            | Правило 'Отмена заявки 0 (57884658)' активировано.
11:50:29.752 |            | CRBR            | IsOrderCancelInClearing 05.04.2012 11:50:28 False
11:50:29.755 |            | CRBR            | order.GetMatchedVolume= 4
11:50:29.756 |            | CRBR            | CreateOrder OnOrderCanceled
11:50:30.215 |            | CRBR            | RegisterOrder 42375316
11:50:30.218 |            | CRBR            | Правило 'Отмена заявки 0 (57884658)' удалено.&lt;/p&gt;
&lt;p&gt;Регистрация заявки&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
private void CreateOrder(decimal price, decimal volume, string callingMethod)
        {
            WriteDiagnostics(&amp;quot;CreateOrder &amp;quot; + callingMethod);

            _order = new Order
            {
                Portfolio = this.Portfolio,
                Volume = volume,
                Price = Security.ShrinkPrice(price), 
                Security = this.Security,
                Direction = this.Direction,
                Trader = this.Trader,
            };

            this.When(_order.Canceled())
                .Do(OnOrderCanceled)
                .Once()
                .Sync(syncRules);

            this.When(_order.RegisterFailed())
                .Do(OnRegisterFailed)
                .Once();

            CreateRuleNewTradesOrder(_order);

            RegisterOrder(_order);
        }

 private StrategyRule&amp;lt;IEnumerable&amp;lt;MyTrade&amp;gt;&amp;gt; CreateRuleNewTradesOrder(Order order)
        {
            return (StrategyRule&amp;lt;IEnumerable&amp;lt;MyTrade&amp;gt;&amp;gt;)this.When(StrategyRuleHelper.NewTrades(order))
                .Do(() =&amp;gt; IsMatched(order, _ruleWaiting))
                .Once()
                .Sync(syncRules);
        }

&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2572/</id>
    <title type="text">что с PositionManager?</title>
    <published>2012-04-04T14:17:41Z</published>
    <updated>2012-04-04T14:17:41Z</updated>
    <author>
      <name>Johny Cash</name>
      <uri>https://stocksharp.ru/users/199/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Всем привет!&lt;/p&gt;
&lt;p&gt;Попробовал создать стратегию и вроде все получилось, но не могу получить размер позиции
Стратегия обрабатывается по приходу новых сделок&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-Csharp"&gt; 
protected override void OnStarting()
        {
            this
                .When(Security.SecurityNewTrades())
                .Do(MakePosition);
	
            base.OnStarting();
        }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В процедуре MakePosition такой код&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-CSharp"&gt;
        ...
        var _myPosition = Trader.GetPosition(Portfolio, Security);
        	if (_myPosition != null)
        	{
	        Console.WriteLine(&amp;quot;Position current value: {0}&amp;quot;, _myPosition.CurrentValue);
		Console.WriteLine(&amp;quot;Position begin value: {0}&amp;quot;, _myPosition.BeginValue);
		Console.WriteLine(&amp;quot;Position blocked value: {0}&amp;quot;, _myPosition.BlockedValue);        		
        	}


	if (lastTrade.Volume &amp;gt; 3)
            {
                var condition = true;
                var conditionDirection = (first &amp;gt; last);
                if (condition &amp;amp;&amp;amp; !_gotPosition)
                {
                    var direction = conditionDirection ? OrderDirections.Buy : OrderDirections.Sell;
                    var order = this.CreateOrder(direction, Security.GetMarketPrice(direction), Volume);
		   RegisterOrder(order);
		   _gotPosition = true;
                }
            }

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;PositionManager.Position всегда показывает 0.
Покопавшись на форуме нашел что можно получить позицию из трейдера, но Trader.GetPosition() у меня всегда возвращает null,
даже когда проходит не одна сделка, а несколько.
Пришлось заводить переменную _gotPosition чтобы понять что позиция есть.
Чуть не забыл, проверял на фьюче сбера.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2571/</id>
    <title type="text">Как правильно выйти из позиции и остановить стратегию?..</title>
    <published>2012-04-04T13:27:09Z</published>
    <updated>2012-04-04T13:27:09Z</updated>
    <author>
      <name>Spiritschaser</name>
      <uri>https://stocksharp.ru/users/1927/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Добрый день!&lt;/p&gt;
&lt;p&gt;Что-то не совсем понимаю.&lt;/p&gt;
&lt;p&gt;Я сделал интрадэй робота на основе SampleSMA. Хочу сделать так, чтобы, если что-то происходит, и P&amp;amp;L становится меньше заданного параметра, позиция ликвидируется, робот останавливается.&lt;/p&gt;
&lt;p&gt;Но у меня заявки выставляются с помощью котирования, и если я просто сделаю:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
                    if (PnLManager.PnL &amp;gt; 1600 || PnLManager.PnL &amp;lt; -100)
                    {
                        decimal Volume = System.Math.Abs(PositionManager.Position);
                        OrderDirections orderDirection = OrderDirections.Buy;
                        if (PositionManager.Position &amp;lt; 0) { orderDirection = OrderDirections.Buy; }
                        if (PositionManager.Position &amp;gt; 0) { orderDirection = OrderDirections.Sell; }

                        var order = this.CreateOrder(orderDirection, StockSharp.Algo.TraderHelper.GetMarketPrice(Security, orderDirection), Volume);

                        if (PositionManager.Position != 0)
                        {
                            var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit());
                            ChildStrategies.Add(strategy);
                        }

                        PositionManager.Position = 0;
                        Stop();

&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;то у меня выставится заявка и остановится стратегия, и если рынок уйдёт, заявка не исполнится.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Как мне правильно дожидаться окончания котирования?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2570/</id>
    <title type="text">Стратегия останавливается, но не остановилась.</title>
    <published>2012-04-04T10:32:45Z</published>
    <updated>2012-04-04T10:32:45Z</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;p&gt;У стратегии был вызван метод Stop, в лог  было написано Стратегия останавливается ,но полной установки не произошло.
В стратегии правило реагирует на изменение стакана. Стакан был выбран RIM.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
this.When(Security.MarketDepthChanged())
                    .Do(SendBuyOrder)
                    .Once()
                    .Sync(syncRules);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стратегия постоянно подписывается на это правило.
Может быть так, что стратегия не остновилась из-за того, что правила постоянно срабатывали?
Но ведь есть промежуток, когда правило сработало, а на новое стратегия не подписана.
версия - 4.0.23&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2569/</id>
    <title type="text">Несоответствие(запаздывание) ask bid(volume)</title>
    <published>2012-04-04T09:31:51Z</published>
    <updated>2012-04-04T09:31:51Z</updated>
    <author>
      <name>Макс</name>
      <uri>https://stocksharp.ru/users/6040/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Заметил, что реальные ask bid (их объемы)из стаканов не всегда совпадают с Security.BestBid(BestAsk) свойствами.
Например,&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
//изменение стакана
 Trader.QuotesChanged += _quote =&amp;gt; this.GuiAsync(() =&amp;gt;
   {
     if (_ins1 != null &amp;amp;&amp;amp; _ins2 != null &amp;amp;&amp;amp; _ins1.BestBid != null &amp;amp;&amp;amp; _ins2.BestBid != null )
       if (_ins2.LastTrade!=null &amp;amp;&amp;amp; _ins1.LastTrade!=null)
        {
        label1.Content = secCode1 + &amp;quot;  &amp;quot; + _ins1.BestBid.Price + &amp;quot; (&amp;quot; + _ins1.BestBid.Volume + &amp;quot;) &amp;quot; + _ins1.BestAsk.Price + &amp;quot; (&amp;quot; + _ins1.BestAsk.Volume + &amp;quot;) &amp;quot; + &amp;quot; Спред: &amp;quot; + _ins1.BestPair.SpreadPrice;

        label3.Content = secCode2 + &amp;quot;  &amp;quot; + _ins2.BestBid.Price + &amp;quot; (&amp;quot; + _ins2.BestBid.Volume + &amp;quot;) &amp;quot; + _ins2.BestAsk.Price + &amp;quot; (&amp;quot; + _ins2.BestAsk.Volume + &amp;quot;) &amp;quot; + &amp;quot; Спред: &amp;quot; + _ins2.BestPair.SpreadPrice;
//...................

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;а вот что получается:
&lt;img src="http://vipstatus.ru/3.jpg" alt="" /&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2568/</id>
    <title type="text">Один экземпляр стратегии стартовал дважды.</title>
    <published>2012-04-04T07:41:33Z</published>
    <updated>2012-04-04T07:41:33Z</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;p&gt;S# - 4.0.23
СТратегия 1 является родительской, стартагия 2 - дочерней.
Произошло такое, что вижу в первый раз. дочерная стратегия была запушена два раза.
лог.
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:13 OnStarting0
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:13 SendBuyOrder
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:13 GetCurPrice 17560,00 0
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:13 CancelOrder 40229067
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:13 OnStopped
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:14 RegisterOrder 40229067
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:14 OnStarting1
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:14 OnStarting0
b6246d03-2331-41a2-97e2-ffdf69ee76ce ARBR  Buy  LKM2 04.04.2012 11:11:14 SendBuyOrder&lt;/p&gt;
&lt;p&gt;Как видно, запись OnStarting0 повторяется, это говорит о повторном старте данного экземпляра стратегии.
Код&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
protected override void OnStarting()
        {
            WriteDiagnostics(&amp;quot;OnStarting0&amp;quot;);
            base.OnStarting();

            WriteDiagnostics(&amp;quot;OnStarting1&amp;quot;);
        }

&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
</feed>