﻿<?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=forum&amp;page=145</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-19T14:32:16Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=forum&amp;page=145" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/3264/</id>
    <title type="text">trader.StartExport(): ArgumentException не обработано пользовательским кодом</title>
    <published>2012-12-20T10:47:22Z</published>
    <updated>2012-12-20T10:47:22Z</updated>
    <author>
      <name>molasar</name>
      <uri>https://stocksharp.ru/users/16583/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Добрый день!&lt;/p&gt;
&lt;p&gt;VS 2012 Полная версия.&lt;/p&gt;
&lt;p&gt;Создаю привод по статье: &lt;a href="http://stocksharp.com/articles/19-sozdanie-prostogo-privoda-na-s"&gt;http://stocksharp.com/articles/19-sozdanie-prostogo-privoda-na-s&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;private QuikTrader _trader;
private void Button_Click_1(object sender, RoutedEventArgs e)
{
_trader = new QuikTrader(QuikTerminal.GetDefaultPath());
_trader.Connected += () =&amp;gt; _trader.StartExport();
_trader.Connect();
}&lt;/p&gt;
&lt;p&gt;При обработке нажатия на кнопку, выполнение кода останавливается на trader.StartExport() и выдается сообщение:
ArgumentException не обработано пользовательским кодом.
Окно с заголовком 'инструменты' не было найдено.&lt;/p&gt;
&lt;p&gt;Скачал исходник с сайта &lt;a href="http://stocksharp.com"&gt;http://stocksharp.com&lt;/a&gt;. Запустил, тоже самое...&lt;/p&gt;
&lt;p&gt;В чем проблема?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3263/</id>
    <title type="text">Plaza2. Валютный рынок.</title>
    <published>2012-12-19T16:43:06Z</published>
    <updated>2012-12-19T16:43:06Z</updated>
    <author>
      <name>AASorokovoy</name>
      <uri>https://stocksharp.ru/users/6304/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;При использовании Plaza2 попробовал подключить инструменты валютного рынка.
Пример SampleGUI запустился без проблем (по крайней мере не вылетали ошибки о том, что какой либо поток не удалось открыть)
Однако в таблице Securitys нужных мне инструментов не оказалось.
Поддержка Plaza2 клянется что все нужные мне потоки подключены.&lt;/p&gt;
&lt;p&gt;Включив логирование коннектора получил что то примерно такое:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2012/12/19 15:56:25.270|       |PlazaTrader|PlazaStream MCXCC_INFO_REPL:StreamStateChanged: State Error
2012/12/19 15:56:25.270|       |PlazaTrader|PlazaStream MCXCC_INFO_REPL:Состояние потока Error.
2012/12/19 15:56:25.270|       |PlazaTrader|PlazaStream MCXCC_INFO_REPL:StreamStateChanged: State Closed
2012/12/19 15:56:25.270|       |PlazaTrader|PlazaStream MCXCC_INFO_REPL:StreamStateChanged: State LocalSnapshot
2012/12/19 15:56:25.271|       |PlazaTrader|PlazaStream MCXCC_INFO_REPL:Поток MCXCC_INFO_REPL переоткрыт.
2012/12/19 15:56:25.271|       |PlazaTrader|PlazaStream MCXCC_MDCOMMON_REPL:StreamStateChanged: State Error
2012/12/19 15:56:25.271|       |PlazaTrader|PlazaStream MCXCC_MDCOMMON_REPL:Состояние потока Error.
2012/12/19 15:56:25.272|       |PlazaTrader|PlazaStream MCXCC_MDCOMMON_REPL:StreamStateChanged: State Closed
2012/12/19 15:56:25.272|       |PlazaTrader|PlazaStream MCXCC_MDCOMMON_REPL:StreamStateChanged: State LocalSnapshot
2012/12/19 15:56:25.272|       |PlazaTrader|PlazaStream MCXCC_MDCOMMON_REPL:Поток MCXCC_MDCOMMON_REPL переоткрыт.
и так 80МБ повторений...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я что то делаю не так?&lt;/p&gt;
&lt;p&gt;P.S.
По фьючерсным все загружаться прекрасно.
Подключаю валютный ранок методом протыкивания галок в SP:PlazaTableListComboBox напротив всего что содержит слова &amp;quot;Валютный рынок&amp;quot;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3262/</id>
    <title type="text">Быстродействие коннектора к Plaza2</title>
    <published>2012-12-19T16:28:58Z</published>
    <updated>2012-12-19T16:28:58Z</updated>
    <author>
      <name>AASorokovoy</name>
      <uri>https://stocksharp.ru/users/6304/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Задался вопросом каковы потери (по времени) при использовании S# адаптера к Plaza2 (т.е. Есть ли смысл пытаться коряжеться и писать на С++?)
Не нашел подобной информации на форуме и решил поделиться полученными данными.&lt;/p&gt;
&lt;p&gt;Задержку я измерял как время между тем как я отправил заявку и мне пришло уведомление, что заявка зарегистрирована.
Отправив таким образом 50 заявок я получил среднее значение в 60 мс.&lt;/p&gt;
&lt;p&gt;Далее я написал в поддержку и попросил их прояснить куда уходит все это время.
Тогда они снабдили меня следующей инструкцией:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Включите (поставьте=1)
Send sent; id 0x%I64X; to_addr '%s'=1&lt;/p&gt;
&lt;p&gt;Reply received; id 0x%I64X; reply_addr '%s'=1&lt;/p&gt;
&lt;p&gt;в client_router_trace.ini. Пришлите номера заявок с вашими замерами раундтрипа мы посмотрим время обработки этих заявок на ядре торговой системы. Воспользуйтесь утилитой P2MQSender (&lt;a href="ftp://ftp.rts.ru/pub/FORTS/Plaza2/mqsender.zip" rel="nofollow" target="_blank"&gt;ftp://ftp.rts.ru/pub/FORTS/Plaza2/mqsender.zip&lt;/a&gt;). Это клиентское приложение, подключающееся к роутеру по 4001 порту, производит замеры времени прохождения специально сформированных пакетов на сервер приема заявок.  В P2MQSender.ini пропишите вместо старых
[p2syslog]
logfile=.\logs\P2MQSender.log
logfileperday=0
logfiledepth=1
logtoconsole=0
logfilecache=0
logfilenametype=1
traceini=P2MQSender_trace.ini
[options:mq]
appName=P2MQSender
port=4001
timeout=15000
host=localhost
password=
timeoutToAllReconnectingTriing=30000
[options:ap]
sendtimeout=100
;to=FINTER_FORTS3.P2MQEcho1
to=SQLPROXY1_P2FINTER.P2MQEcho
sendAmount=1000&lt;/p&gt;
&lt;p&gt;После работы MQSender пришлите его логи.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Таким образом мы получаем две информации.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Время ответа шлюза на запросы отправляемые P2MQSender.
Это время можно понять открыв с генерированный им лог P2MQSender.log&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;2012-12-14 15:46:31.649;;;P2MQSendMsg
2012-12-14 15:46:31.649;;error;MQ Timeout
2012-12-14 15:46:31.749;;;P2MQSendMsg
2012-12-14 15:46:31.749;;error;MQ Timeout
2012-12-14 15:46:31.849;;;P2MQSendMsg
2012-12-14 15:46:31.849;;error;MQ Timeout
2012-12-14 15:46:31.949;;;P2MQSendMsg
2012-12-14 15:46:31.949;;error;MQ Timeout
2012-12-14 15:46:32.049;;;P2MQSendMsg
2012-12-14 15:46:32.049;;error;MQ Timeout
откуда видно что задержка составляет меньше 1мс.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Время ответа шлюза при отправке заявки.
Это время можно понять открыв файл CLIENT_router.log и найдя в нем строки типа: (которые там появятся если внести выше описанные изменения в файл client_router.ini)&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;2012-12-18 17:16:18.869;mqreply;;Send sent; id 0x31C8976FEC; to_addr 'BROK4_P2FINTER2.router';thread 0x12F8
...
2012-12-18 17:16:18.872;mqreply;;Reply received; id 0x31C8976FEC; reply_addr 'fg82cm_82000rf.router';thread 0x12F8
...
2012-12-18 17:16:19.381;mqreply;;Send sent; id 0x33C8976FEC; to_addr 'BROK4_P2FINTER2.router';thread 0x147C
2012-12-18 17:16:19.384;mqreply;;Reply received; id 0x33C8976FEC; reply_addr 'fg82cm_82000rf.router';thread 0x12F8
...
Откуда видно что на путешествие туда + обработку ядром ТС + путешествие обратно уходит ~ 3ms.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Приведу дополнительно ответ поддержки:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Из логов за 14 декабря видно, что задержка между отправкой пакета и получением ответа составляет в средем 3мс. Сейчас на Вашем канале round-trip min/avg/max = 1/2/8 ms&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;т.е. Если я все правильно понял то практически все задержки которые возникают возникают внутри адаптера к Plaza2. (По крайней мере так получаеться по словам поддержки которае подкрепляет свои слова логами)&lt;/p&gt;
&lt;p&gt;P.S. Причем тут еще есть один нюанс. Сама по себе средняя в 60мс не так удивительна, удивительно то что значение задержки для каждой конкретной заявки варьируются от 5мс до 120мс  т.е. дисперсия очень велика, что крайне не характерно для задержек вызываемых программой.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3261/</id>
    <title type="text">Открытый интерес по сдлекам</title>
    <published>2012-12-19T12:13:52Z</published>
    <updated>2012-12-19T12:13:52Z</updated>
    <author>
      <name>G00DWIN</name>
      <uri>https://stocksharp.ru/users/6281/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Добрый день!
Не подскажите, как добавить в таблицу PlazaTrader поле StockSharp.Plaza.Metadata.PlazaTradeFutureColumns.Position (Кол-во позиций по инструменту на рынке после сделки. )&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3260/</id>
    <title type="text">ошибка при вызове MyTrades.Last(...)</title>
    <published>2012-12-19T11:10:48Z</published>
    <updated>2012-12-19T11:10:48Z</updated>
    <author>
      <name>roof</name>
      <uri>https://stocksharp.ru/users/16649/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Делаю так, все работает.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var direction = stringDirection == &amp;quot;Buy&amp;quot; ? OrderDirections.Buy : OrderDirections.Sell;

//проверим есть ли смысл улучшить позицию
if (MyTrades.Count() &amp;gt; 0)
{
   var lastInvertDirection = direction.Invert();
   var lastInvertTradeTime = MyTrades.Last(t =&amp;gt; t.Order.Direction == lastInvertDirection).Order.Time;

   ...
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;А вот так выдаёт ошибку&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var direction = stringDirection == &amp;quot;Buy&amp;quot; ? OrderDirections.Buy : OrderDirections.Sell;

//проверим есть ли смысл улучшить позицию
if (MyTrades.Count() &amp;gt; 0)
{
   var lastInvertDirection = MyTrades.Last().Order.Direction.Invert(); // direction.Invert();
   var lastInvertTradeTime = MyTrades.Last(t =&amp;gt; t.Order.Direction == lastInvertDirection).Order.Time;

   ...
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ошибка такая:
Исключение типа &amp;quot;System.InvalidOperationException&amp;quot; возникло в System.Core.dll, но не было обработано в коде пользователя&lt;/p&gt;
&lt;p&gt;Дополнительные сведения: Последовательность не содержит соответствующий элемент&lt;/p&gt;
&lt;p&gt;В чем может быть проблема?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3259/</id>
    <title type="text">Они доверились Сухову и все погибли</title>
    <published>2012-12-19T07:43:37Z</published>
    <updated>2012-12-19T07:43:37Z</updated>
    <author>
      <name>Геннадий Ванин (Gennady Vanin)</name>
      <uri>https://stocksharp.ru/users/6413/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">&lt;p&gt;Все, кто доаерился Сухову и все, без исключения, погибли&lt;/p&gt;
&lt;p&gt;Помянем их покартинно&lt;/p&gt;
&lt;p&gt;Аминь&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;1е Общежитие Свободных Жен Востока&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i.imgur.com/NDdMt.jpg" alt="Свободные жены Востока" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;Петруха (Годовиков) с таможней (Луспекаев)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://ic.pics.livejournal.com/sandinist/14691098/283136/283136_original.jpg" alt="Лукспекаев Годовиков" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;Голова без взадника (народный мститель-террорист)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img12.nnm.ru/7/d/7/d/4/383d4e75ae187c3fd970207f801.jpg" alt="Голова с чайником (Спартак Мишулин)" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;Бинесмены-торговцы, давшие откат таможне&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i070.radikal.ru/1012/5e/afb5d62cb431.png" alt="Бинесмены-торговцы, давшие откат" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;Бинесмены, взявшие взятку (часы) от Сухова&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i2.guns.ru/forums/icons/forum_pictures/5/005382/5382487.jpg" alt="Взятко-братели" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;Часы, те самые&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://cs5292.userapi.com/v5292540/767/jlgx5QVbsNE.jpg" alt="Часы" /&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3258/</id>
    <title type="text">Разные результаты тестов в разных версиях S#</title>
    <published>2012-12-19T07:43:01Z</published>
    <updated>2012-12-19T07:43:01Z</updated>
    <author>
      <name>profts</name>
      <uri>https://stocksharp.ru/users/6174/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Еще полгода назад начинал писать одну из версий скальпера. тестер показывал стабильную прибыль.  сейчас обновился до последней версии S#, логика осталась абсолютно без изменений — тестер показывает стабильный минус.&lt;/p&gt;
&lt;p&gt;Цены исполнения всех сделок в среднем на 10 п хуже, чем были раньше.  Пробовал выставить в новой версии «UseMarketDepth = false»  - выскакивает ошибка, т.к. все заявки отправляются через Security.BestAsk.Price + 500 (по рынку, используя цену лучшего бида или оффера)…     старая версия не ругалась на это.&lt;/p&gt;
&lt;p&gt;пошел дальше…  убрал в коде все BestBid и BestAsk, т.е. любое обращение к стакану и заменил на Security.LastTrade.Price +- 500.    и о чудо, результаты тестов стали совпадать )))&lt;/p&gt;
&lt;p&gt;и вот тут сам по себе возник вопрос… какая разница, используя я стакан или нет, если в обоих случаях выставляется рыночная заявка?  и как это может влиять на цены исполнения заявок, если, как я понимаю, цена исполнения определяется исходя из последующих сделок?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3257/</id>
    <title type="text">Минусовое проскальзывание это хорошо или плохо?</title>
    <published>2012-12-19T06:09:33Z</published>
    <updated>2012-12-19T06:09:33Z</updated>
    <author>
      <name>roof</name>
      <uri>https://stocksharp.ru/users/16649/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Доходность: 19310
Проскальзывание: -5850
Сделок: 346
Время выполнения: 00:01:09.4579419&lt;/p&gt;
&lt;p&gt;В стратегии все заявки лимитированные&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var order = this.CreateOrder(direction, price, vol);
order.Comment = comment;
RegisterOrder(order);
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3256/</id>
    <title type="text">Лицензия</title>
    <published>2012-12-18T20:28:10Z</published>
    <updated>2012-12-18T20:28:10Z</updated>
    <author>
      <name>Tik_Time</name>
      <uri>https://stocksharp.ru/users/6440/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Добрый вечер.
Помоги разобраться с получением и использованием лицензии.
При попытки получить лицензию самостоятельно - ничего не выходило (Выскакивала ошибка &amp;quot;Неверный логин или пароль&amp;quot;)
Написал по почте на info@stocksharp.com.  Мне выслали лицензию на 1 год.
Я поместил полученный файл stocksharp_license.xml на диск С в папку StockSharp. Вроде бы все по инструкции, но она почему то не работает.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Подскажите, куда надо сохранять полученный файл?&lt;/li&gt;
&lt;li&gt;Почему написанные ранее приводы не видят новую лицензию?&lt;/li&gt;
&lt;/ol&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3255/</id>
    <title type="text">Поделитесь стаканами и ТВС!</title>
    <published>2012-12-18T13:30:57Z</published>
    <updated>2012-12-18T13:30:57Z</updated>
    <author>
      <name>roof</name>
      <uri>https://stocksharp.ru/users/16649/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Коллеги, поделитесь пожалуйста историей стаканов и таблицы всех сделок по фьючерсу на индекс РТС в формате гидры.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3254/</id>
    <title type="text">Пересоединение перестает (правильно) отрабатывать после разовой &amp;quot;ошибки&amp;quot; соединения</title>
    <published>2012-12-18T06:38:10Z</published>
    <updated>2012-12-18T06:38:10Z</updated>
    <author>
      <name>Геннадий Ванин (Gennady Vanin)</name>
      <uri>https://stocksharp.ru/users/6413/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Попытался использовать&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;Trader.ReConnectionSettings.WorkingTime = Exchange.Micex.WorkingTime;
Trader.ReConnectionSettings.ReConnectingAttemptCount = 1200;
Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(60);
Trader.ReConnectionSettings.ConnectionRestored += () =&amp;gt; this.GuiAsync(() =&amp;gt; MessageBox.Show(this, &amp;quot;Соединение восстановлено&amp;quot;));

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Всё сработало в 10:00 Москвы, kind of&lt;/p&gt;
&lt;p&gt;Получил:
&amp;quot;Вы уже работаете в системе&amp;quot;
&lt;img src="http://i.imgur.com/VXWZX.jpg" alt="Вы уже работаете" /&gt;
и, следом:
&amp;quot;Connection reset by peer&amp;quot;
&lt;img src="http://i.imgur.com/ixwii.jpg" alt="Net error 10054 Connection reset by peer" /&gt;&lt;/p&gt;
&lt;p&gt;Оказывется на другом компе был открыт КВИК на этом логине с автоматическим переприсоединением, который, кстати, тоже не залогинился.
Закрываю на другом компе КВИК&lt;/p&gt;
&lt;p&gt;Но вышеприведенный код StockSharp продолжает выдавать те же сообщения (&amp;quot;Вы уже работаете&amp;quot;), как заведённый. Логинюсь вркчную в КВИК, бот продолжает настаивать &amp;quot;Вы уже работаете&amp;quot;&lt;/p&gt;
&lt;p&gt;Пришлось перезапускать программу, чтобы она пришла в чувство реальности&lt;/p&gt;
&lt;p&gt;Что можно сделать, чтобы пересоединения отрабатывали, даже после разовой &amp;quot;ошибки&amp;quot; (без перезапуска программы вручную)?
Ка можно привести бота (эту бездушную скотину) в чувство?&lt;/p&gt;
&lt;p&gt;S# 4.1.5&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3253/</id>
    <title type="text">Закрытие позиций за 5 секунд до закрытия</title>
    <published>2012-12-17T20:55:39Z</published>
    <updated>2012-12-17T20:55:39Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Всем привет, подскажите как сделать событие которое будет срабатывать за 5 секунд до закрытия вечерней сессии? Ориентируясь на время биржи.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3252/</id>
    <title type="text">Коллекция Trades пустая</title>
    <published>2012-12-17T18:11:18Z</published>
    <updated>2012-12-17T18:11:18Z</updated>
    <author>
      <name>roof</name>
      <uri>https://stocksharp.ru/users/16649/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;При использовании EmulationTrader таблица всех сделок (_trader.Trades) пустая. С чем может быть связано?
в файлах trades.bin мегабайты сделок.
Со стаканом проблем нет.
Может в режиме эмуляции таблицу всех сделок тоже регистрировать как-нибудь нужно?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3251/</id>
    <title type="text">GetCandles() возвращает не все свечки.</title>
    <published>2012-12-17T11:35:47Z</published>
    <updated>2012-12-17T11:35:47Z</updated>
    <author>
      <name>Azat</name>
      <uri>https://stocksharp.ru/users/6131/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Добрый день!&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Подключил файлы гидры в качестве источника&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
var storageRegistry = new StorageRegistry();
((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = @&amp;quot;C:\Hydra\&amp;quot;;
var cbs = new TradeStorageCandleBuilderSource { StorageRegistry = storageRegistry };
_candleManager.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Sources.Add(cbs);

&lt;/code&gt;&lt;/pre&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Создал series и запустил candleManager&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
var series = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);
_candleManager.Start(series, DateTime.Now - new TimeSpan(10,0,0,0), DateTime.MaxValue);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Если смотреть на событие Processing, то видно, что все свечки приходят нормально.&lt;/p&gt;
&lt;p&gt;Но, если вызвать series.GetCandles&amp;lt;TimeFrameCandle&amp;gt;(), то возвращает свечки только за текущую неделю.
Пробовал и диапазон дат указывать, и количество свечек передавать, все равно, только за эту неделю возвращает, не больше.&lt;/p&gt;
&lt;p&gt;В чем может быть проблема?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3250/</id>
    <title type="text">Тестирование ContinuousSecurity</title>
    <published>2012-12-17T11:34:41Z</published>
    <updated>2012-12-17T11:34:41Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Версия 4.1.6. В связи с экспирацией фьючерса RIZ2 стал использовать ContinuousSecurity. Пользуюсь BasketTrader. После перехода с Security на ContinuousSecurity корректно тестирует только один Trader из всей коллекции InnerTraders. Остальные останавливают работу где-то в начале тестирования. В debug режиме получаю ошибку:&amp;gt; Новое событие Canceling,T=19:29:41.797,54986739/47 Покупка Цена=147410 Объем=20 Сост=Active Бал=20 имеет дату более раннюю, чем текущее время эмулятора 12.09.2012 19:29:42.Подскажите, кто сталкивался, в чем может быть проблема?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3249/</id>
    <title type="text">Сборка стакана при помощи API</title>
    <published>2012-12-17T10:12:51Z</published>
    <updated>2012-12-17T10:12:51Z</updated>
    <author>
      <name>abubakirov</name>
      <uri>https://stocksharp.ru/users/28714/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Извиняюсь, если написал не в ту тему.&lt;/p&gt;
&lt;p&gt;Я пытаюсь собрать стакан из ордерлога при помощи API, отсюда возник ряд вопросов.&lt;/p&gt;
&lt;p&gt;Во-первых, можно ли узнать время, когда была отменена заявка? Если мы этого не знаем, то я не могу включить в стакан заявки, которые были отменены после того момента, на который я собираю стакан.&lt;/p&gt;
&lt;p&gt;Во-вторых, пусть мы рассматриваем только исполненные заявки:&lt;/p&gt;
&lt;p&gt;foreach (OrderLogItem OLItem in reader)
{
if (!OLItem.IsMatched()) { continue; }
Order order = OLItem.Order;
if (order.Time &amp;gt;= t) { break; } //t - момент времени, на который собирается стакан
var tmp_trades = order.GetTrades(); //На этом моменте выскакивает ошибка ArgumentException: Заявка №№№ не имеет информацию о шлюзе. Parameter name: order&lt;/p&gt;
&lt;p&gt;Как справиться с этой ошибкой, и какого типа можно делать объект tmp_trades?&lt;/p&gt;
&lt;p&gt;Пытался так же сделать и по-другому:&lt;/p&gt;
&lt;p&gt;if (!OLItem.IsMatched()) { continue; }
Trade trade = OLItem.Trade;
if (trade.Time &amp;lt;= t) { continue; }
decimal price = order.Price;
//Далее идет запись данных в массив, он не так и важна.&lt;/p&gt;
&lt;p&gt;Но в этом случае возвращаются пустые массивы, то есть ни одна итерация не прошла условие цикла trade.Time &amp;gt; t&lt;/p&gt;
&lt;p&gt;Как мне решить мои проблемы? Возможно, сборка стаканов из ОЛ уже реализована в API, тогда подскажите, в какую часть мануала смотреть.&lt;/p&gt;
&lt;p&gt;Заранее благодарен&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3248/</id>
    <title type="text">Код ошибки DllConnected Сообщение Терминал не подключен к серверу</title>
    <published>2012-12-17T03:15:44Z</published>
    <updated>2012-12-17T03:15:44Z</updated>
    <author>
      <name>Геннадий Ванин (Gennady Vanin)</name>
      <uri>https://stocksharp.ru/users/6413/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;ПоПереподключался своим кодом и решил попробовать&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
this.Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(60);
this.Trader.ReConnectionSettings.WorkingTime = Exchange.Micex.WorkingTime;

//ошибка с этой и без этой линии
//this.Trader.ReConnectionSettings.WorkingTime = Exchange.Micex.WorkingTime;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;После добавления этих линий, при попытке подключения при отсутствии соединения с сервером по причине ночи, выскакивает окошко с:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;StockSharp.Quik.ApiException: Код ошибки DllConnected Сообщение Терминал не подключен к серверу&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Зачем оно?
Как от него избавиться?&lt;/p&gt;
&lt;p&gt;Это информационное сообшение или ошибка?
И, чем она чревата?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3247/</id>
    <title type="text">Соединение разорвано по причине неудачи проверки лицензии</title>
    <published>2012-12-17T02:49:30Z</published>
    <updated>2012-12-17T02:49:30Z</updated>
    <author>
      <name>Геннадий Ванин (Gennady Vanin)</name>
      <uri>https://stocksharp.ru/users/6413/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Довольно редко, но наблюдаю:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;System.InvalidOperationException: Соединение разорвано по причине неудачи проверки лицензии&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;В чём может быть причина?&lt;/p&gt;
&lt;p&gt;update:
Проблема после перехода с 4.1.5 на 4.1.7 (21505 от 13 Декабря 2012 из codeplex trunk) на том же самом компе
Пропала после возврата к версии StockSharp 4.1.5 и, при более позднем переходе на
на версию StockSharp 21650 от 21 декабря 2012&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3246/</id>
    <title type="text">&amp;quot;Соединение не было разорвано в отведенный отрезок времени&amp;quot;</title>
    <published>2012-12-17T02:44:40Z</published>
    <updated>2012-12-17T02:44:40Z</updated>
    <author>
      <name>Геннадий Ванин (Gennady Vanin)</name>
      <uri>https://stocksharp.ru/users/6413/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">&lt;p&gt;Только недавно начал тестировать программу в многодневном режиме. Т.е. ранее не работал с автоматическим переподключением&lt;/p&gt;
&lt;p&gt;И с утра после ночи, наблюдаю предупреждения в окошках:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;System.TimeoutException: Соединение не было разорвано в отведенный отрезок времени&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;В чём может быть причина?&lt;/p&gt;
&lt;p&gt;И как с этим бороться?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3245/</id>
    <title type="text">CandleSeries и WeightedIndexSecurity</title>
    <published>2012-12-16T20:19:45Z</published>
    <updated>2012-12-16T20:19:45Z</updated>
    <author>
      <name>Algonavt</name>
      <uri>https://stocksharp.ru/users/639/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Умеет ли CandleSeries работать с BasketSecurity и его производными (например, WeightedIndexSecurity)? Теста ради написал простой обработчик свечек (см. ниже). Если в этом коде в строке ```csharp
_series = new CandleSeries(typeof(TimeFrameCandle), Security, TimeFrame)&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-в"&gt;
Если в качестве Security указать обыкновенный инструмент (т.е. StockSharp.BusinessEntities.Security) - _candles заполняется отлично.

Вопрос: умеет ли CandleSeries работать с WeightedIndexSecurity? Для чего это надо - например, к арбитражной стратегии прикрутить скользящую среднюю. Удобнее всего это делать через свечки, да и унификации хочется с кодом, который работает с единичными инструментами.

Собственно, код:

```csharp
class WeightedSmaCandleStrategy : BasePortfolioStrategy
    {
        public TimeSpan TimeFrame { get; set; }
        public int Length;

        private CandleSeries _series;
        DateTime strategyStartTime;
        private SimpleMovingAverage Sma;

        protected override void OnStarted()
        {
            if (TimeFrame == null)
                throw new ApplicationException(&amp;quot;Не задан таймфрейм!&amp;quot;);
            if (Length &amp;lt;= 0)
                throw new ApplicationException(&amp;quot;Не задан период скользящей средней!&amp;quot;);

            strategyStartTime = DateTime.Now;

            base.OnStarted();

            Sma = new SimpleMovingAverage() { Length = Length };

            _series = new CandleSeries(typeof(TimeFrameCandle), Security, TimeFrame);  // Если Security - это WeightedIndexSecurity, то _series не заполняется
            _series.WorkingTime = WorkingTime;

            _series
                .WhenCandlesFinished()
                .Do(ProcessCandle)
                .Apply(this);

            TraderBuilder.CandleManager.Start(_series);
        }

        private void ProcessCandle(Candle candle)
        {
            // если наша стратегия в процессе остановки
            if (ProcessState == ProcessStates.Stopping)
            {
                // отменяем активные заявки
                CancelActiveOrders();

                return;
            }

            bool _canTrade = true;

            Sma.Process(candle);

            string _message;
            // Исторические свечки просто запоминаем
            if (candle.CloseTime &amp;lt; StartedTime)
            {
               _message = string.Format(&amp;quot;Историческая свечка: Time: {0} O:{1} H:{1} L:{2} C:{3}&amp;quot;, candle.OpenTime, candle.OpenPrice, candle.HighPrice, candle.LowPrice, candle.ClosePrice);
                _canTrade = false;
                //return;
            }
            else
                _message = string.Format(&amp;quot;Реальная свечка: Time: {0} O:{1} H:{1} L:{2} C:{3}&amp;quot;, candle.OpenTime, candle.OpenPrice, candle.HighPrice, candle.LowPrice, candle.ClosePrice);

            var _seriesCount = _series.GetCandleCount();  // В случае с WeightedIndexSecurity здесь всегда возвращается 0
            var _smaValue = Sma.GetCurrentValue();
            if (_seriesCount &amp;lt; Length)
            {
                //this.AddInfoLog(string.Format(&amp;quot;GetCandleCount &amp;lt; Length. GetCandleCount = {0} Length = {1}&amp;quot;, _seriesCount, Length));
                //return;
                _canTrade = false;
            }
            else
            {
                _message = string.Concat(_message, string.Format(&amp;quot; SMA={0}&amp;quot;, _smaValue));
            }

            this.AddInfoLog(_message);

            var _previousCandle = _series.GetCandle&amp;lt;TimeFrameCandle&amp;gt;(1);
            if (_previousCandle != null)
            {
                if (candle.ClosePrice &amp;gt; _smaValue &amp;amp;&amp;amp; _previousCandle.ClosePrice &amp;lt; _smaValue)
                {
                    this.AddInfoLog(&amp;quot;Пересечение снизу! CC={0} PC={1} SMA={2}&amp;quot;, candle.ClosePrice, _previousCandle.ClosePrice, _smaValue);
                    if (_canTrade)
                    {
                        var _buyOrder = new Order()
                        {
                            Type = OrderTypes.Market,
                            Direction = OrderDirections.Buy,
                            Volume = Position != 0 ? 2 : 1
                        };
                  
                        RegisterOrder(_buyOrder);
                    }
                }

                if (candle.ClosePrice &amp;lt; _smaValue &amp;amp;&amp;amp; _previousCandle.ClosePrice &amp;gt; _smaValue)
                {
                    this.AddInfoLog(&amp;quot;Пересечение сверху! CC={0} PC={1} SMA={2}&amp;quot;, candle.ClosePrice, _previousCandle.ClosePrice, _smaValue);
                    if (_canTrade)
                    {
                        var _sellOrder = new Order()
                        {
                            Type = OrderTypes.Market,
                            Direction = OrderDirections.Sell,
                            Volume = Position != 0 ? 2 : 1
                        };

                        RegisterOrder(_sellOrder);
                    }
                }
            }
}
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
</feed>