﻿<?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=70</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-04T23:56:40Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=70" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/8029/</id>
    <title type="text">Баг в WhenAllTrades()</title>
    <published>2017-01-21T11:08:23Z</published>
    <updated>2017-01-21T11:27:51Z</updated>
    <author>
      <name>Slepoy</name>
      <uri>https://stocksharp.ru/users/820/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="WhenAllTrades" />
    <content type="html">Найден баг в работе &amp;quot;WhenAllTrades() - создать правило на событие появления всех сделок по заявке.&amp;quot; Правило, помимо своего базового назначения: реакции на появление всех сделок по заявке, когда оно присылает коллекцию со сделками, реагирует ещё и на события появления и изменения ордера, присылая при этом пустую коллекцию. Скрин: &lt;a href="http://stocksharp.ru/file/104104
" title="http://stocksharp.ru/file/104104
"&gt;http://stocksharp.ru/file/104104
&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Код стратежки для вопроизведения проблемы&lt;/u&gt;&lt;/b&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;

class SmartStrategy4: Strategy 
{
        decimal neededVolume = 10;                                                             
        decimal currentVolume;                   
        bool tradeFullFlag = true;
        bool unRegOrderFlag = true;

        protected override void OnStarted()   
        {
            var sRule = Security.WhenMarketDepthChanged(Connector).Do((srArg, stakanArg) =&amp;gt;
                           {  
                              if(currentVolume &amp;gt;= neededVolume)                                                       
                                 Stop();

                              if(tradeFullFlag || unRegOrderFlag)
                              { 
                                   var openBuyOrder = this.BuyAtLimit(stakanArg.BestBid.Price, 2);                        
                                                                                              
                                   var myTrRule = openBuyOrder.WhenNewTrade(Connector).Do((rArg, myTradeArg) =&amp;gt;        
                                                             {   
                                                                    currentVolume += myTradeArg.Trade.Volume;
                                                             }).Apply(this);       
                           
                                   var myAlltRule = openBuyOrder.WhenAllTrades(Connector).Do((rArg, myTradeCollArg) =&amp;gt; 
                                                             {
                                                                    if (myTradeCollArg.Any()) 
                                                                        tradeFullFlag = true;                                                                        
                                                              }).Apply(this);

                                   var regRule = openBuyOrder.WhenRegistered(Connector).Do((rArg, orderArg) =&amp;gt;         
                                                          {                                                                                                                        
                                                                  if(openBuyOrder.State != OrderStates.Done &amp;amp;&amp;amp; !openBuyOrder.IsMatchedPartially())
                                                                      CancelOrder(openBuyOrder);                                                                                 
                                                          }).Apply(this);

                                   var unRegRule = openBuyOrder.WhenCanceled(Connector).Do((rArg, orderArg) =&amp;gt; { unRegOrderFlag = true; }).Apply(this);
        
                                   RegisterOrder(openBuyOrder);                                                    

                                   tradeFullFlag = false; 
                                   unRegOrderFlag = false; 
                              }                                                                                             
                         }).Apply(this);                                                   
            base.OnStarted();                                                                  
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Выше представлена модифицированная стратежка из обучающих уроков. Она выставляет лимитку на покупку по лучшему биду, объёмом 2 коня. И тут же снимает её, если её сразу не скушали. И так до тех пор, пока не наберёт 10 коней. Стратежка конечно убогая, но тут важно другое, что если поставить точку остановки на анонимном методе у правила, которое создаёт метод WhenAllTrades(), то мы увидим как оно будет постоянно срабатывать, оно будет отрабатывать каждое изменение ордера: постановку/отмену, при этом будет присылать пустую коллекцию. Такого быть не должно, правило должно срабатывать лишь единожды - на событие полного исполнения. Не должно быть холостых срабатываний. Сейчас оно отрабатывает в перемешку: холостой-холостой-холостой-боевой-холостой-холостой--холостой- боевой и т.д.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Как поправить проблему&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Залезть в исходники, в файл MarketRuleHelper.cs. Найти там класс AllTradesOrderRule и малость подпилить строчку: &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;
 private bool AllTradesReceived =&amp;gt; Order.State == OrderStates.Done &amp;amp;&amp;amp; (Order.Volume - Order.Balance == _receivedVolume); &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Как нужно правильно - я не знаю, но я бы ввёл проверку на нулевую позицию. В левой части строчки -  рыть бесполезно, т.к. статус Done не даёт однозначного ответа: заявка исполнена или снята, поэтому правило реагирует и на отменённую заявку тоже. Поэтому рыть надо правее. Допустим, заявка снята, левая часть нам даст true, но и правая часть тоже даст true, ибо разность объёма и баланса даст ноль, а _receivedVolume у нас тоже ноль, т.к. мы ещё не успели ничего набрать. Поэтому, надо проверить, чтобы _receivedVolume не был ноль. Я бы попробовал именно так:&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;
 private bool AllTradesReceived =&amp;gt; Order.State == OrderStates.Done &amp;amp;&amp;amp; _receivedVolume != 0  &amp;amp;&amp;amp; (Order.Volume - Order.Balance == _receivedVolume); &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;P.S. Можете не отвечать на данное сообщение. Только, прошу: не надо меня отправлять открывать счёт, чтобы команда техподдержки чего-то тут увидела. Я достаточно полазил по гитхабу, чтобы понять кто правит баги и делает основную работу. И данный человек читает сей форум. Считайте что я это всё написал как-бы на гитхабе. Я пока не умею им пользоваться - времени пока нет разбираться, но в будущем разберусь. В общем, данный баг надо чинить. Успехов!</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7823/</id>
    <title type="text">Quik Junior 7.6.1.1 + StockSharp </title>
    <published>2017-01-13T00:17:51Z</published>
    <updated>2017-01-19T21:14:44Z</updated>
    <author>
      <name>aoleynikov</name>
      <uri>https://stocksharp.ru/users/72744/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="#quiklua #quik" />
    <content type="html">Я пытаюсь настроить взаимодействие между Quik и Stocksharp (через lua). Насколько я понял из уроков по s# — первым шагом мне необходимо загрузить Lua скрипт (который я беру из папки References в s#). На данном этапе у меня происходит какая-то проблема — падает эксепшн &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAJ_EYUnvPnirvNH8VMFtBklg3PsX08kCz61Fzp3mugSQFZnAHP9CuPeBMTs9KigIeoqR6tGnVfZf-7w5qIsAmE" title="https://monosnap.com/file/hgy0qFBSVdkYSaYn8zyQpGRq3ag6vS"&gt;https://monosnap.com/file/hgy0qFBSVdkYSaYn8zyQpGRq3ag6vS&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Я пользуюсь последней версией Quik Junior 7.6.1.1. Во всех уроках, что я видел, версия Quik более старая. Хотел бы уточнить, как возможно решить эту проблему? </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8025/</id>
    <title type="text">Connector.RegisterTrades подвешивает терминал Quik</title>
    <published>2017-01-19T21:02:26Z</published>
    <updated>2017-01-19T21:02:26Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.ru/users/6384/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="QuikLua" />
    <content type="html">Не знаю, увидят разработчики или нет, но написать должен.&lt;br /&gt;При подписке на сделки метод Connector.RegisterTrades блокирует поток, в котором работает терминал Quik, что приводит к его зависанию до нескольких секунд. Чем ближе к вечерней сессии (соответственно чем больше сделок накопилось), тем на большее время подвисает терминал, пока не передаст все накопившиеся сделки. Соответственно перестают поступать данные по другим инструментам и с терминалом невозможно взаимодействовать. &lt;br /&gt;Может быть возможно разбить сделки на несколько пакетов и передавать частями?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8016/</id>
    <title type="text">Не правильное время дневного клиринга Forts (разработчики обратите внимание!)</title>
    <published>2017-01-16T21:48:04Z</published>
    <updated>2017-01-19T10:02:02Z</updated>
    <author>
      <name>sulima-sm</name>
      <uri>https://stocksharp.ru/users/96920/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">При использовании ExchangeBoard.Forts.IsTradeTime(CurrentTime) получаю время дневного клиринга с 14.00 по 14.03, что не верно! Кто чем пользуется? </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8020/</id>
    <title type="text">Вопрос ко всем не равнодушным по дочерним стратегиям TakeProfitStrategy и StopLossStrategy</title>
    <published>2017-01-18T18:08:57Z</published>
    <updated>2017-01-18T21:18:02Z</updated>
    <author>
      <name>sulima-sm</name>
      <uri>https://stocksharp.ru/users/96920/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html"> Стокшарп позиционирует свой продукт как полностью бесплатный (за исключением нескольких коннекторов). При попытке использования котирования система запросила лицензию, получил бесплатную - итог &amp;quot;Ваша лицензия не поддерживает котирование&amp;quot;. При попытке использования дочерних стратегий  TakeProfitStrategy и StopLossStrategy (делал все по мануалу) получил ошибку типа не зарегистрирован отфильтрованный стакан инструмента, RegisterFilteredMarketDepth пробовал безуспешно.&lt;br /&gt;Для этих дочерних стратегий тоже нужна лицензия? Если нет ---киньте пожалуйста код, или придется делать через обычную стоп-заявку(((&lt;br /&gt;Заранее всем спасибо.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7014/</id>
    <title type="text">Проблемы с Hydra</title>
    <published>2016-12-25T18:00:16Z</published>
    <updated>2017-01-18T18:49:37Z</updated>
    <author>
      <name>Shandr</name>
      <uri>https://stocksharp.ru/users/6259/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Привет всем. У меня возникла следующая трудность при работе с гидрой.&lt;br /&gt;&lt;br /&gt;Я установил гидру последней версии, но при скачивании у меня возникли проблемы. Во-первых, я указал один только инструмент (SBRF), а гидра начала качать данные по всем инструментам. Потом программа завершила свою работу с такой ошибкой (фото: 1). Потом я переустановил программу, и теперь при запуске гидры у меня возникает ошибка (фото: 2). &lt;br /&gt;&lt;br /&gt;Я хотел бы скачать исторические данные за определенный период по любым акциям, и выгрузить эти данные в формате файла эксель. Подскажите, пожалуйста, как правильно скачивать данные?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7810/</id>
    <title type="text">Ошибка парсинга при попытки импорта данных стакана в Гидре</title>
    <published>2017-01-12T16:07:34Z</published>
    <updated>2017-01-14T13:38:27Z</updated>
    <author>
      <name>Георгий</name>
      <uri>https://stocksharp.ru/users/95046/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Здравствуйте.&lt;br /&gt;&lt;br /&gt;При импорте данных по стакану возникает ошибка:&lt;br /&gt;﻿Название	Время	Тип	Сообщение&lt;br /&gt;S#.Data (Hydra)	12.01.2017 16:06:08	Info	Импорт &amp;#39;File@FORTS.txt&amp;#39; типа &amp;#39;QuoteChangeMessage&amp;#39;.&lt;br /&gt;S#.Data (Hydra)	12.01.2017 16:06:08	Error	&amp;quot;System.InvalidOperationException: Ошибка парсинга. Строка 0, колонка 2, значение в файле &amp;#39;10:00:04&amp;#39;, поле Время. ---&amp;gt; System.InvalidCastException: Cannot convert 10:00:04 with format hh:mm:ss to TimeSpan. ---&amp;gt; System.FormatException: Входная строка имела неверный формат.&lt;br /&gt;   в System.Globalization.TimeSpanParse.TryParseByFormat(String input, String format, TimeSpanStyles styles, TimeSpanResult&amp;amp; result)&lt;br /&gt;   в System.Globalization.TimeSpanParse.TryParseExactTimeSpan(String input, String format, IFormatProvider formatProvider, TimeSpanStyles styles, TimeSpanResult&amp;amp; result)&lt;br /&gt;   в System.Globalization.TimeSpanParse.ParseExact(String input, String format, IFormatProvider formatProvider, TimeSpanStyles styles)&lt;br /&gt;   в Ecng.Common.TimeHelper.ToTimeSpan(String value, String format)&lt;br /&gt;   --- Конец трассировки внутреннего стека исключений ---&lt;br /&gt;   в Ecng.Common.TimeHelper.ToTimeSpan(String value, String format)&lt;br /&gt;   в StockSharp.Hydra.Panes.ImportPane.FieldMapping.ApplyValue(Object instance, Object value)&lt;br /&gt;   в StockSharp.Hydra.Panes.ImportPane.FieldMapping.ApplyFileValue(Object instance, String value)&lt;br /&gt;   в CallSite.Target(Closure , CallSite , FieldMapping , Object , String )&lt;br /&gt;   в System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid3[T0,T1,T2](CallSite site, T0 arg0, T1 arg1, T2 arg2)&lt;br /&gt;   в CallSite.Target(Closure , CallSite , FieldMapping , Object , String )&lt;br /&gt;   в StockSharp.Hydra.Panes.ImportPane.&amp;lt;&amp;gt;c__DisplayClass27_0.&amp;lt;OnDoWork&amp;gt;b__1()&lt;br /&gt;   --- Конец трассировки внутреннего стека исключений ---&lt;br /&gt;   в StockSharp.Hydra.Panes.ImportPane.&amp;lt;&amp;gt;c__DisplayClass27_0.&amp;lt;OnDoWork&amp;gt;b__1()&amp;quot;&lt;br /&gt;&lt;br /&gt;Формат для колонки времени задан: hh:mm:ss&lt;br /&gt;&lt;br /&gt;Содержимое файла:&lt;br /&gt;I1,21.12.2015,10:01:31,51112,Sell&lt;br /&gt;I1,21.12.2015,10:01:31,52366,Buy&lt;br /&gt;&lt;br /&gt;Настройки импорта: скрин в приложении</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7801/</id>
    <title type="text">Не приходят события по заявкам</title>
    <published>2017-01-09T23:23:16Z</published>
    <updated>2017-01-10T22:01:25Z</updated>
    <author>
      <name>Balex</name>
      <uri>https://stocksharp.ru/users/97855/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <category term="заявки" />
    <category term="Lua" />
    <content type="html">Из QuikLua (БКС) не приходят события по заявкам, в том числе не работает SampleQuik из набора примеров. Что делать, куда смотреть?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5039/</id>
    <title type="text">S# 4.3.8  проблемы с Quik Lua (Samples\Quik\Sample)</title>
    <published>2015-07-31T13:24:38Z</published>
    <updated>2017-01-10T20:59:36Z</updated>
    <author>
      <name>Den</name>
      <uri>https://stocksharp.ru/users/6003/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Уважаемые разработчики и коллеги!&lt;br /&gt;&lt;br /&gt;Quik 6.16.1.15&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Решил попробовать Quik с Lua. &lt;br /&gt;Скачал релиз S# 4.3.8. &lt;br /&gt;&lt;br /&gt;Взял info_lua.wnd из Samples\Quik\&lt;br /&gt;Запустил в quik&amp;#39;e StockSharp.Quik.lua из References\&lt;br /&gt;&lt;br /&gt;И запустил пример из Samples\Quik\Sample\&lt;br /&gt;&lt;br /&gt;В логе вроде все прилично:&lt;br /&gt;&lt;br /&gt;2015/07/31 16:13:45.839|       |LuaServer |OnInit&lt;br /&gt;2015/07/31 16:13:45.840|       |FixServer |Server 0.0.0.0:5001 started.&lt;br /&gt;2015/07/31 16:13:45.841|       |FixServer |FixServer (outgoing) stopped.&lt;br /&gt;2015/07/31 16:13:45.841|       |FixServer |FixServer started.&lt;br /&gt;2015/07/31 16:13:45.841|       |LuaServer |OnInit done&lt;br /&gt;2015/07/31 16:13:45.845|       |LuaServer |Main&lt;br /&gt;2015/07/31 16:14:35.285|       |FixServer |Connected &amp;#39;127.0.0.1:1236&amp;#39; to &amp;#39;0.0.0.0:5001&amp;#39;.&lt;br /&gt;2015/07/31 16:14:35.285|       |FixServer |Received first byte from &amp;#39;127.0.0.1:1236&amp;#39;.&lt;br /&gt;2015/07/31 16:14:35.285|       |FixServer |From : Logon&lt;br /&gt;2015/07/31 16:14:35.285|       |FixServer |Клиент quik (127.0.0.1:1236) авторизован.&lt;br /&gt;2015/07/31 16:14:35.285|       |FixServer |Отправка Logon клиенту.&lt;br /&gt;2015/07/31 16:14:35.285|       |FixServer |Сессия запущена.&lt;br /&gt;2015/07/31 16:14:35.290|       |FixServer |Connected &amp;#39;127.0.0.1:1237&amp;#39; to &amp;#39;0.0.0.0:5001&amp;#39;.&lt;br /&gt;2015/07/31 16:14:35.290|       |FixServer |Received first byte from &amp;#39;127.0.0.1:1237&amp;#39;.&lt;br /&gt;2015/07/31 16:14:35.290|       |FixServer |From : Logon&lt;br /&gt;2015/07/31 16:14:35.291|       |FixServer |Клиент quik (127.0.0.1:1237) авторизован.&lt;br /&gt;2015/07/31 16:14:35.291|       |FixServer |Отправка Logon клиенту.&lt;br /&gt;2015/07/31 16:14:35.291|       |FixServer |Сессия запущена.&lt;br /&gt;&lt;br /&gt;Но в примере, нет ни инструментов, ни сделок, ни заявок (все это присутствует в квике).&lt;br /&gt;Проверял Verifier&amp;#39;ом - не ругается.&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/7029/</id>
    <title type="text">StockSharp.Xaml.ConnectorWindow ошибка компиляции</title>
    <published>2017-01-03T16:10:38Z</published>
    <updated>2017-01-09T10:40:34Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.ru/users/6384/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">При компиляции StockSharp.Xaml.ConnectorWindow выдает эксепшн: не найден StaticResource ToolbarImageStyle.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6995/</id>
    <title type="text">И снова о защитных стратегиях</title>
    <published>2016-12-08T07:31:42Z</published>
    <updated>2017-01-09T04:32:28Z</updated>
    <author>
      <name>roman001</name>
      <uri>https://stocksharp.ru/users/94444/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StopLossStrategy" />
    <content type="html">Добрый день, уважаемые&lt;br /&gt;Перерыл форум в надежде найти ответ на вопрос почему при пробитии уровня, указанного в StopLossStrategy, не создается соответствующая заявка в терминале. Везде пишут, что необходимо подписаться на стаканы, согласен...&lt;br /&gt;В основном модуле пишу qTrader.RegisterMarketDepth(security), &lt;br /&gt;затем стартую главную стратегию, &lt;br /&gt;затем делаю SL&lt;br /&gt;&lt;br /&gt;var stopLoss = new StopLossStrategy(direction, fixOpenedPositionPrice, Volume, new Unit(correctionLoss, UnitTypes.Absolute));&lt;br /&gt;ChildStrategies.Add(stopLoss)&lt;br /&gt;&lt;br /&gt;В дебаге вижу, что дочерняя стратегия создалась, корректно отражает защитную цену, направление и т.д.&lt;br /&gt;но без толку, заявка то не создается[angry]. &lt;br /&gt;В личной переписке люди пишут, что забили и не используют этот функционал, но ведь разобрался же наверное кто-то?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7023/</id>
    <title type="text">Проблема с определение состояния инструмента</title>
    <published>2016-12-29T23:04:40Z</published>
    <updated>2017-01-03T10:46:49Z</updated>
    <author>
      <name>gem81</name>
      <uri>https://stocksharp.ru/users/62541/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="bug" />
    <content type="html">&lt;a href='https://stocksharp.ru/file/104046/stoped_error.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/104046/stoped_error.png?size=800x800" alt="stoped_error.png" title="stoped_error.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;QUIK 7.6.1.1, Ошибка проявляется на английском интерфейсе.&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7019/</id>
    <title type="text">InteractiveBrokers</title>
    <published>2016-12-27T16:09:22Z</published>
    <updated>2016-12-29T17:05:07Z</updated>
    <author>
      <name>andy_baka</name>
      <uri>https://stocksharp.ru/users/237/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">В слабой надежде на ответ - у кого-нибудь получилось запустить Гидру со шлюзами interactivebrokers для получения исторических данных? </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/6989/</id>
    <title type="text">Где и как скачать маркет-данные по американскому рынку. Решение.</title>
    <published>2016-12-02T11:58:44Z</published>
    <updated>2016-12-29T10:36:50Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.ru/users/7/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <category term="Hydra" />
    <category term="Алготрейдинг" />
    <category term="Торговые роботы" />
    <category term="данные" />
    <category term="datamining" />
    <category term="Trading robots" />
    <content type="html">В нашей сегодняшней статье мы расскажем о том где можно бесплатно или за относительно небольшие деньги скачать исторические данные по американскому рынку, а также об универсальном способе скачивать, сохранять, анализировать и использовать в собственных алгоритмах любые типы рыночных данных. &lt;br /&gt;Прежде всего давайте коснемся основных источников маркет-даты по американским ценным бумагам с кратким их описанием. В целом можно выделить три типа источников:&lt;br /&gt;1. Источники исторических данных, например биржи, которые поставляют историю торгов на собственной площадке (конечно оставляем за гранью прямые подключения которые относятся к типу 2).&lt;br /&gt;2. Источники рыночных данных, например брокерские терминалы, через который конечно можно загрузить в том числе и определенную историю, но основной интерес представляет то, что происходит прямо сейчас.&lt;br /&gt;3. Универсальные источники, которые объединяют в себе тип 1 и тип 2, и как правило представлены специализированными сервисами.&lt;br /&gt;&lt;br /&gt;К первому типу источников можно смело отнести такие сайты как &lt;a target="_blank" rel="nofollow" href="https://www.google.com/finance" title="https://www.google.com/finance"&gt;Google&lt;/a&gt; и &lt;a target="_blank" rel="nofollow" href="https://finance.yahoo.com/" title="https://finance.yahoo.com/"&gt;Yahoo Finance&lt;/a&gt;:&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/103933/14.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/103933/14.png?size=800x800" alt="http://" title="http://" /&gt;&lt;/a&gt;&lt;br /&gt;Несомненным достоинством этих сервисов является их полная бесплатность, однако, с другой стороны, интрадей маркет-данные скачать будет невозможно, также как невозможно получить, что либо кроме свечей. Под что-либо мы конечно подразумеваем такие данные как Level1, Order Log, Market Depth и т.д.&lt;br /&gt;Это практически исключает возможность использования полученных данных для тестирования стратегий, предполагающих торговлю внутри дня. С другой стороны, если ваша стратегия предполагает среднесрочную торговлю, например, основана на подходе “Черепах”, либо вы практикуете портфельное инвестирование без слишком частого перетряхивания портфеля, то использование данных с этих источников будет очень обоснованно и целесообразно.&lt;br /&gt;&lt;br /&gt;К источникам рыночных данных как уже написано выше, относятся, прежде всего, брокерские терминалы или другие подключения к брокеру, которые есть у каждого практикующего трейдера. Например: Fusion/Blackwood, Rithmic, Gain Capital, OEC Trader, Sterling и т.д. &lt;br /&gt;&lt;a href='https://stocksharp.ru/file/103936/15.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/103936/15.png?size=800x800" alt="http://" title="http://" /&gt;&lt;/a&gt;&lt;br /&gt;Плюсы от использования данного источника видны практически сразу. Во-первых, это бесплатно (конечно без учета тех комиссий, которые вы платите брокеру). Во-вторых, это множество данных которые можно получить: некоторые типы свечей, тики, Level1, DOM и т.д. К минусам можно причислить отсутствие глубокой истории и необходимость хитрого сбора нужных данных, когда без специализированного ПО не обойтись. &lt;br /&gt;При таком подходе, ваши возможности для тестирования значительно расширяются. Появляется возможность создавать не только внутридневные стратегии, но и высокочастотные алгоритмы, основанные на найденных исторических закономерностях.&lt;br /&gt;&lt;br /&gt;Универсальные источники - это в большинстве своем специализированные сервисы, которые поставляют как реал-тайм маркет-дату, так и любую запрошенную историю, например &lt;a target="_blank" rel="nofollow" href="http://www.iqfeed.net/stocksharp/" title="http://www.iqfeed.net/stocksharp/"&gt;IQFeed&lt;/a&gt;. &lt;br /&gt;&lt;a href='https://stocksharp.ru/file/103927/16.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/103927/16.png?size=800x800" alt="http://" title="http://" /&gt;&lt;/a&gt;&lt;br /&gt;Главным плюсом подобного источника является его универсальность и наполненность данными, т.е. в любой момент по запросу пользователя можно получить любые нужные данные, тиковые, свечи, стаканы и т.п. Минусом такого подхода является платность данного сервиса, цена на который начинается от 50$ в месяц в базовой версии. Если возникает желание получить несколько больше, то потребуется подключить дополнительные функции, которые как вы уже поняли тоже будут стоить денег. Но, как и предыдущий вариант, вам потребуется специальная программа для сбора и хранения данных. Ведь по окончанию действия подписки вы потеряете все данные. Плюс глубина истории, хоть и больше, чем у предыдущего способа, но все равно она ограничена. Особенно для тиковых данных.&lt;br /&gt;&lt;br /&gt;Теперь мы можем перейти к самому интересному, а как же нам оптимально получать историю и при этом не тратить много денег. На наш взгляд, здраво выглядит следующий подход:&lt;br /&gt;- скачать дневные свечи с бесплатного источника, и протестировать свою стратегию предварительно на этих данных;&lt;br /&gt;- скачать интрадей данные через своего брокера, и протестировать уже более детально стратегию&lt;br /&gt;- покупка подписки на платный сервис и выкачивание всего интересующего массива данных,&lt;br /&gt;Для того, чтобы реализовать подобное, потребуется специализированное ПО, которое будет за вас вначале загружать нужные данные с нужного сервиса, а затем в едином формате продолжит сбор их от вашего брокера. Таким образом, единство данных не будет утрачено и их можно будет легко использовать в дальнейшем анализе. &lt;br /&gt;Для таких задач мы создали программу &lt;a href="http://stocksharp.com/products/hydra/" title="http://stocksharp.com/products/hydra/"&gt;S#.Data (Hydra)&lt;/a&gt; (ознакомиться с инструкцией и примерами по работе с программой можно &lt;a href="http://stocksharp.ru/s/2cdQFGGD" title="http://stocksharp.ru/s/2cdQFGGD"&gt;&lt;span style="color:blue"&gt;здесь&lt;/span&gt;&lt;/a&gt;). Это бесплатная программа, доступная для скачивания. Hydra предоставляет множество различных функций, но основной ее задачей является скачивание и накопление данных.&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/103979/HydraWhite.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/103979/HydraWhite.png?size=800x800" alt="http://" title="http://" /&gt;&lt;/a&gt;&lt;br /&gt;Hydra поддерживает загрузку не только свечей любого таймфрейма, но и тиков, ордер лога, level 1, стаканов по множеству инструментов. При этом программа умеет не только скачивать, но и накапливать данные, идущие от брокера, например из &lt;a target="_blank" rel="nofollow" href="https://futuresonline.com/trading/oec-trader" title="https://futuresonline.com/trading/oec-trader"&gt;OEC Trader&lt;/a&gt;, Sterling и т.д.&lt;br /&gt;&lt;br /&gt;Hydra хранит данные в форматах CSV или BIN (сверх компактный формат хранения данных - 7 байт на 1 снимок стакана или 2 байта на тик). Данные располагаются локально, как файлы, и к ним есть доступ из любых программных языков , а также позволяет в конечном итоге пользователю хранить и использовать огромный массив рыночных данных на домашнем компьютере, сервере или в облаке (поддерживается AWS).&lt;br /&gt;&lt;br /&gt;Подводя итоги настоящей статьи, надеемся, что методы изложенные в ней позволят вам, получить маркет-дата за адекватные средства и немного приблизиться к профессиональным участникам. &lt;br /&gt;Они давно так делают!&lt;br /&gt;Желаем удачи на рынке!&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7020/</id>
    <title type="text">Помогите пожалуйста</title>
    <published>2016-12-27T17:00:10Z</published>
    <updated>2016-12-28T20:54:18Z</updated>
    <author>
      <name>klim95vlad</name>
      <uri>https://stocksharp.ru/users/97469/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте! Подскажите, где скачать S#.api версии 4.1.13.2 (которую используют на обучающем видео (https://www.youtube.com/watch?v=F51bGEpTOvo).&lt;br /&gt;Большое спасибо!</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7017/</id>
    <title type="text">Раскраска свечей по своим условиям</title>
    <published>2016-12-27T14:18:01Z</published>
    <updated>2016-12-28T05:45:20Z</updated>
    <author>
      <name>gem81</name>
      <uri>https://stocksharp.ru/users/62541/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Доброго времени.&lt;br /&gt;&lt;br /&gt;Можно ли задавать цвет свечам в зависимости от собственных условий? если да, то в сторону какого модуля/интерфейса копать?&lt;br /&gt;Заранее спасибо!&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7018/</id>
    <title type="text">Тип свечи RangeUS, с дополнительным параметром для разворота</title>
    <published>2016-12-27T16:08:39Z</published>
    <updated>2016-12-27T16:08:39Z</updated>
    <author>
      <name>gem81</name>
      <uri>https://stocksharp.ru/users/62541/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;a href='https://stocksharp.ru/file/104043/RangeUS.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/104043/RangeUS.png?size=800x800" alt="RangeUS.png" title="RangeUS.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Пока изучаю систему, буду писать полезные статьи, вроде этой.&lt;br /&gt;Если мешают, то напишите в коммент, Перестану))))&lt;br /&gt;Что требуется: S#.API + понимание платформы.&lt;br /&gt;&lt;br /&gt;И так. В основе классический рендж бар, но с дополнительным параметром ReverseSize (разворотный размер).&lt;br /&gt;Размеры указываются в шагах цены. На картинке сбербанк с параметрами 10/30 шагов(PriceStep)&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;

....
                _series = new CandleSeries(typeof(RangeUSCandle), sec, new RangeUSArgs { RangeSize = (decimal)sec.PriceStep * 10, ReverseSize= (decimal)sec.PriceStep * 30 });
....
                _candleManager = new CandleManager(client);
                _candleManager.Sources.Add(new RangeUSCandleBuilder { Sources = { new TradeCandleBuilderSource(client) } });
....
                _candleManager.Start(_series);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Сам код свечи и билдера&lt;br /&gt;Создайте новый класс в проекте, назовите его RangeUSCandle.cs например&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;

using Ecng.Collections;
using Ecng.Common;
using Ecng.ComponentModel;

using System;
using System.Collections.Generic;
using System.Linq;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Candles.Compression;
using StockSharp.Localization;

namespace НазваниеВашегоПроекта
{
    public class RangeUSArgs
    {
        public decimal RangeSize;
        public decimal ReverseSize;
    }
    public enum RangeUSTrend
    {
         None = 0,
         UpTrend = 1,
         DownTrend = 2
    }

    /// &amp;lt;summary&amp;gt;
    /// Описание свечи
    /// &amp;lt;/summary&amp;gt;
    public class RangeUSCandle : Candle
    {
        public override object Arg
        {
            get
            {
                return this.PriceRange;
            }
            set
            {
                this.PriceRange = (RangeUSArgs)value;
            }
        }

        /// &amp;lt;summary&amp;gt;
        /// Параметры свечи
        /// &amp;lt;/summary&amp;gt;
        public RangeUSArgs PriceRange { get; set; }
        /// &amp;lt;summary&amp;gt;
        /// Текущий тренд. Значения: 1 восходящий, 2 нисходящий, 0 при инициации.
        /// &amp;lt;/summary&amp;gt;
        public RangeUSTrend Trend;  
        public override Candle Clone()
        {
            return CopyTo(new RangeUSCandle());
        }
    }

    /// &amp;lt;summary&amp;gt;
    /// Построитель RangeUS свечей
    /// &amp;lt;/summary&amp;gt;
    public class RangeUSCandleBuilder : CandleBuilder&amp;lt;RangeUSCandle&amp;gt;
    {
        public RangeUSCandleBuilder()
        {
        }

        public RangeUSCandleBuilder(ICandleBuilderContainer container)
            : base(container)
        {
        }

        public override IEnumerable&amp;lt;Range&amp;lt;DateTimeOffset&amp;gt;&amp;gt; GetSupportedRanges(CandleSeries series)
        {
            var ranges = base.GetSupportedRanges(series).ToArray();

            if (!ranges.IsEmpty())
            {
                if (!(series.Arg is RangeUSArgs))
                    throw new ArgumentException(LocalizedStrings.WrongCandleArg.Put(series.Arg), nameof(series));

                if (((RangeUSArgs)series.Arg).RangeSize &amp;lt;= 0)
                    throw new ArgumentOutOfRangeException(nameof(series), series.Arg, LocalizedStrings.PriceRangeMustBeGreaterThanZero);
            }

            return ranges;
        }

        protected override RangeUSCandle CreateCandle(CandleSeries series, ICandleBuilderSourceValue value)
        {
            // требуется перенести в новую свечу, понимание текущего направления.
            RangeUSTrend trend_value;
            if (CandleManager.GetCandleCount(series) &amp;gt; 0)
            {
                trend_value = CandleManager.GetCurrentCandle&amp;lt;RangeUSCandle&amp;gt;(series).Trend;
            } else {
                trend_value = RangeUSTrend.None;
            }
            return FirstInitCandle(series, new RangeUSCandle
            {
                PriceRange = (RangeUSArgs)series.Arg,
                OpenTime = value.Time,
                CloseTime = value.Time,
                HighTime = value.Time,
                LowTime = value.Time,
                Trend = trend_value,
            }, value);
        }

        protected override bool IsCandleFinishedBeforeChange(CandleSeries series, RangeUSCandle candle, ICandleBuilderSourceValue value)
        {
            var cm = CandleManager;
            var prev_candle = CandleHelper.GetCandle&amp;lt;RangeUSCandle&amp;gt;(cm,series,cm.GetCandleCount(series)-1);
            if(cm.GetCandleCount(series) &amp;lt;= 1)
            {
                // первая свеча. пытаемся понять направление
                candle.Trend = (candle.OpenPrice &amp;gt; value.Price) ? RangeUSTrend.DownTrend : RangeUSTrend.UpTrend;
                return candle.LowPrice + candle.PriceRange.RangeSize &amp;lt;= candle.HighPrice; //
            }
            if (candle.Trend == RangeUSTrend.UpTrend &amp;amp;&amp;amp; value.Price &amp;gt; candle.OpenPrice)
            {
                return candle.OpenPrice + candle.PriceRange.RangeSize &amp;lt;= candle.HighPrice; //
            }
            if (candle.Trend == RangeUSTrend.DownTrend &amp;amp;&amp;amp; value.Price &amp;lt; candle.OpenPrice)
            {
                return candle.OpenPrice - candle.PriceRange.RangeSize &amp;gt;= candle.LowPrice; //
            }
            var needReverse = candle.GetBody() &amp;gt; candle.PriceRange.ReverseSize; // 
            if (needReverse)
            {
                candle.Trend = (candle.Trend != RangeUSTrend.None &amp;amp; candle.Trend == RangeUSTrend.UpTrend) ? candle.Trend = RangeUSTrend.DownTrend : candle.Trend = RangeUSTrend.UpTrend;
            }
            return needReverse;
        }
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7015/</id>
    <title type="text">StockSharp.Xaml.Charting шаблоны, SecurityGrid ошибка в колонках</title>
    <published>2016-12-26T13:48:19Z</published>
    <updated>2016-12-26T13:55:58Z</updated>
    <author>
      <name>gem81</name>
      <uri>https://stocksharp.ru/users/62541/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;a href='https://stocksharp.ru/file/104041/SecurityGrid.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/104041/SecurityGrid.jpg?size=800x800" alt="SecurityGrid.jpg" title="SecurityGrid.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В XAML шаблоне перепутаны поля. Остальные поля не смотрел, возможно есть ещё ошибки.&lt;br /&gt;&lt;br /&gt;С Уважением, Павел.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7005/</id>
    <title type="text">Индикатор MovingAverageConvergenceDivergenceSignal</title>
    <published>2016-12-19T09:36:24Z</published>
    <updated>2016-12-24T15:41:57Z</updated>
    <author>
      <name>roman001</name>
      <uri>https://stocksharp.ru/users/94444/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Доброго дня&lt;br /&gt;Подскажите пожалуйста, как получить значение индикатора MACDS.&lt;br /&gt;Получаю элемент Item2 из коллекции значений индикатора (конечно после того, как индикатор сформирован)&lt;br /&gt;MACDS.Container.GetValue(0).Item2&lt;br /&gt;Дальше на отладке вижу, что мне нужно свойство InnerValues, но такое свойство есть только у класса &amp;quot;ComplexIndicatorValue&amp;quot;, понятно, что индикатор комплексный.&lt;br /&gt;&lt;br /&gt;А MACDS.Container.GetValue(0).Item2 принадлежит классу &amp;quot;IIndicatorValue&amp;quot;, преобразовать один тип к другому не получается, пишет, что &amp;quot;ComplexIndicatorValue&amp;quot; получен в результате расчетов.&lt;br /&gt;В общем что-то запутался. </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/7012/</id>
    <title type="text">Апдейт бота с API 4.3.15 на API 4.3.19.5. Проблемы. Решения.</title>
    <published>2016-12-24T14:00:50Z</published>
    <updated>2016-12-24T15:41:34Z</updated>
    <author>
      <name>Slepoy</name>
      <uri>https://stocksharp.ru/users/820/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="API 4.3.19.5" />
    <content type="html">&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='http://i9.pixs.ru/storage/1/9/5/Post1jpg_4076900_24539195.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i9.pixs.ru/storage/1/9/5/Post1jpg_4076900_24539195.jpg" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stocksharp.ru/file/104033
" title="http://stocksharp.ru/file/104033
"&gt;http://stocksharp.ru/file/104033
&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Вот такая &amp;quot;красота&amp;quot; явилась моему взору после того, как я обновил библиотеки с API 4.3.15 до API 4.3.19.5. &lt;br /&gt;&lt;u&gt;Гипотетические мысли некоторых персонажей:&lt;/u&gt;&lt;br /&gt;Стабильность признак мастерства, - подумал Слепой;&lt;br /&gt;Пусть оплачивают техподдержку, - подумал Сухов;&lt;br /&gt;Ахахаха, - подумал Ван(хозяин &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACAj7jLP1KleTSi7oqyGIxHvFL-txo2Ex4Kfp70MfhEYg" title="http://o-s-a.net/)"&gt;http://o-s-a.net/)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Я не особо удивился этим 11 ошибкам. Я ждал их ))). С каждым апдейтом API вы чего-то там перепиливаете не особо задумывась об обратной совместимости. Страдаем от этого мы, пользователи ваших библиотек. Оправдывает вас лишь одно, что библиотеки халявны. Целый день я убил на исправление данных ошибок. И когда я запустил проект с новым API 4.3.19.5 - я был очень счастлив, но не долго ))). Меня ждал новый удар: заявки перестали отправлятсья в Квик. И эту проблему я решил. Но матерился я сильно и долго ))). Кстати, конкурирующий проект Os.Engine нехило так развивается. Но хозяин там А.Ван - редкостный дундук с завышенным ЧСВ, занёс меня в чёрный список на смартлабе ))). Комменты мои подтёр, причём безобидные, и занёс меня в ЧС - вот же придурок! И начал он свой проект, с обсёра конкурентов &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACAj7jLP1KleTSi7oqyGIxHobayQz0oPclrYnhDh8v7NaAgxeK_00gE3RHpe6m1GCk" title="http://o-s-a.net/posts/reliz-5.html "&gt;http://o-s-a.net/posts/reliz-5.html &lt;/a&gt; догадайтесь, о какой платформе в том посте идёт речь ))).&lt;br /&gt;&lt;br /&gt;&lt;u&gt; В итоге, согласно моим наблюдениям, вам необходимо исправить следующие косяки:&lt;/u&gt;&lt;br /&gt;1. Обновите документацию к  API 4.3.19.5. Там, в папке с релизом, скачанной с гитхаба, - лежит дока от  API 4.3.16.1.  То что на сайте старая документация - к этому я уже привык, но в папке с новыми релизами она всегда была свежей. Теперь это не так. Вы некоторые методы/события и т.п. перепилили весьма нехило, а документация этого не отражает. Приходится пользоваться подсказками в самой ВизуалСтудии. &lt;br /&gt;&lt;br /&gt;2.  Поправьте баг с портфелями в коннекторе Квика. В API 4.3.15 по демо-квику приходило 2 портфеля(фьючи, акции). По акциям был портфель 10527. Заявки нормально отправлялись. В API 4.3.19.5, а может и в более ранних релизах, стало приходить 4 портфеля. Появились 2 новых, причём пустых. И по-старому портфелю 10527 - перестали отправляться заявки по акциям. Появился эксепшен &amp;quot;Указанный счёт депо не найден&amp;quot;. Они начали отправляться по новому портфелю: NL0011100043. По сути, всё сделано верно, ведь 10527 - это всего лишь код клиента, а не портфель. В Квике он фигируриет как код клиента, но у вас он попадает в портфели(коллекция Портфолио). Причём у него заполнены свойства: бабло и т.п. А у реального депо  NL0011100043, вообще ничего нет, пустота. В стандартном пример SampleQuik - тоже самое, 4 портфеля, а должно быть три. Не должно там быть портфеля - 10527, это код. Надо его вырезать, а у реальных портфелях заполнить свойства.&lt;br /&gt;&lt;a href='http://i11.pixs.ru/storage/2/1/3/Post2jpg_2956351_24539213.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i11.pixs.ru/storage/2/1/3/Post2jpg_2956351_24539213.jpg" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stocksharp.ru/file/104034" title="http://stocksharp.ru/file/104034"&gt;http://stocksharp.ru/file/104034&lt;/a&gt;</content>
  </entry>
</feed>