﻿<?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=27</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-06T17:56:02Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=forum&amp;page=27" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/9909/</id>
    <title type="text">Первый запуск терминала, error 50</title>
    <published>2018-09-19T15:46:34Z</published>
    <updated>2018-09-25T19:51:47Z</updated>
    <author>
      <name>dnikolas</name>
      <uri>https://stocksharp.ru/users/102455/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте. Очень захотелось познакомиться с вашим софтом. Но при запуске терминала столкнулся с появлением окошка ошибки от TDS loader: &amp;quot;unable to create mt4 process: error 50&amp;quot;. Подскажите, пожалуйста, с чем может быть связана эта ошибка и как ее исправить? (запускаю от администратора, другие торговые приложения не включены).</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9923/</id>
    <title type="text">Работа Hydra без интернета</title>
    <published>2018-09-22T15:18:17Z</published>
    <updated>2018-09-25T12:51:54Z</updated>
    <author>
      <name>Георгий</name>
      <uri>https://stocksharp.ru/users/95046/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте.&lt;br /&gt;&lt;br /&gt;Есть ли способ работы с Hydra без интернета? Если нет подключения, то программа выдает ошибку подключения и закрывается.&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/107649/image2390.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/107649/image2390.png?size=800x800" alt="image2390.png" title="image2390.png" /&gt;&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9903/</id>
    <title type="text">System.BadImageFormatException</title>
    <published>2018-09-16T23:53:21Z</published>
    <updated>2018-09-21T21:30:49Z</updated>
    <author>
      <name>vadimORCL</name>
      <uri>https://stocksharp.ru/users/101428/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый День!&lt;br /&gt;Первые пробы пера приконнектиться к Quik.&lt;br /&gt;StockSharp_4.4.13_en&lt;br /&gt;OS Windows7&lt;br /&gt;VS 2017&lt;br /&gt;Попытка выполнить метод (и другие, но в этом меньше трассировка):&lt;br /&gt;var terminal = QuikTerminal.Get(path);&lt;br /&gt;Приводит к ошибке выполнения&lt;br /&gt;&lt;br /&gt;System.BadImageFormatException&lt;br /&gt;  HResult=0x80131058&lt;br /&gt;  Сообщение = Could not load file or assembly &amp;#39;PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;#39;. Reference assemblies should not be loaded for execution.  They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)&lt;br /&gt;  Источник = Ecng.Common&lt;br /&gt;  Трассировка стека:&lt;br /&gt;   at Ecng.Common.Converter.To(Object value, Type destinationType)&lt;br /&gt;   at Ecng.Common.Converter.To[T](Object value)&lt;br /&gt;   at StockSharp.Quik.QuikTerminal.#=zBLkeMT0=(String #=zq4H2STA=)&lt;br /&gt;   at StockSharp.Quik.QuikTerminal..ctor(Process #=zftUJM_M=)&lt;br /&gt;   at StockSharp.Quik.QuikTerminal.#=z6Di4JHbn7IrdIsukHXwL9_k=.#=z2fMEskk1b3D61n7NuYY8DHPFWfkq(Process #=zqXrESJY=)&lt;br /&gt;   at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()&lt;br /&gt;   at System.Linq.Enumerable.WhereEnumerableIterator`1.ToArray()&lt;br /&gt;   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)&lt;br /&gt;   at StockSharp.Quik.QuikTerminal.Get(String path)&lt;br /&gt;   at ConnectorQuick.Program.Main(String[] args) in c:\users\asus\Source\Repos\ConnectorQuick\ConnectorQuick\Program.cs:line 40&lt;br /&gt;&lt;br /&gt;До этого мучился с &lt;br /&gt;System.IO.FileNotFoundException&lt;br /&gt;  HResult=0x80070002&lt;br /&gt;  Сообщение = Could not load file or assembly &amp;#39;Ecng.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b10e79ed0227b515&amp;#39;.&lt;br /&gt;&lt;br /&gt;Менял ссылки Сборки. &lt;br /&gt;&lt;br /&gt;в итоге вылезло System.BadImageFormatException с PresentationCore.&lt;br /&gt;&lt;br /&gt;Но все попытки найти подходящий&lt;br /&gt; PresentationCore.dll - 4 версии пока ничего не дали.&lt;br /&gt;Правда, версии фала не 4.0.0.0 а типа 4.0.30319.1 и выше. Не знаю нужно чтобы у файла было именно 4.0.0.0?&lt;br /&gt;Тем более вроде и не надо искать, насколько я понял по Вебинару: там ничего, вроде, не говорилось: и так должно бы работать.&lt;br /&gt;&lt;br /&gt;В С# и NET FRAMWORK - я не очень пока. Поэтому не совсем представляю чего он хочет: сборку нашел, но типа не загрузил почему-то?&lt;br /&gt;Плиз, поможите, куда копать.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9911/</id>
    <title type="text">Формат даты при сохранении сделок на диск</title>
    <published>2018-09-20T07:52:11Z</published>
    <updated>2018-09-20T10:05:29Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;Подскажите, пожалуйста, в каком формате сохраняется дата сделок (trades) на диске (через StorageAdapter и соответствующие классы)?&lt;br /&gt;(пример данных, прилагаю картинкой)&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/8168/</id>
    <title type="text">лицензия</title>
    <published>2017-03-21T19:55:29Z</published>
    <updated>2018-09-19T21:37:53Z</updated>
    <author>
      <name>vladimir7575</name>
      <uri>https://stocksharp.ru/users/94980/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="подключение" />
    <content type="html">Добрый вечер, подскажите, пожалуйста, как обновить лицензию.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9765/</id>
    <title type="text">Вопросы по MVVM</title>
    <published>2018-08-05T21:41:56Z</published>
    <updated>2018-09-17T11:50:48Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="MVVM" />
    <content type="html">Добрый день.&lt;br /&gt;Гугл не помогает.&lt;br /&gt;&lt;br /&gt;Во View имею sscontrol:LogControl &lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_3ddcdf82e86d499585fb2ced25bde21d');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_3ddcdf82e86d499585fb2ced25bde21d' style='display:none'&gt;&amp;lt;sscontrol:LogControl x:Name=&amp;quot;LogControl&amp;quot; Grid.Column=&amp;quot;0&amp;quot; Grid.Row=&amp;quot;8&amp;quot; Grid.ColumnSpan=&amp;quot;8&amp;quot; /&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В Model находится LogManager&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_5cba74534cc9417a8804df6cf6441a3d');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_5cba74534cc9417a8804df6cf6441a3d' style='display:none'&gt;private readonly LogManager _logManager = new LogManager();&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вопрос:&lt;br /&gt;Как правильно добавить GuiLogListener слушателя к _logManager, не нарушая MVVM?&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_1373efb9bb3043e3b77693b371d26fad');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_1373efb9bb3043e3b77693b371d26fad' style='display:none'&gt;_logManager.Listeners.Add(new GuiLogListener(&lt;b&gt;&lt;span style="color:red"&gt;LogControl&lt;/span&gt;&lt;/b&gt;));&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9865/</id>
    <title type="text">Примеры использования индикаторов </title>
    <published>2018-09-01T04:34:18Z</published>
    <updated>2018-09-07T05:49:07Z</updated>
    <author>
      <name>andy_baka</name>
      <uri>https://stocksharp.ru/users/237/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Господа, подскажте плз где можно найти, если они в принципе есть, примеры использования индикаторов? Интересует ZigZag. К сожалению, ничего не нашел. Буду очень признателен.  </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9852/</id>
    <title type="text">BatchEmulation, Start, параметр iteratioinCount</title>
    <published>2018-08-30T09:09:57Z</published>
    <updated>2018-09-04T14:11:07Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Что значит параметр iterationCount в методе BatchEmulation.Start?&lt;br /&gt;Задаю как количество всех стратегий и тестирование виснет(часть стратегий отработала, остальная часть не запускается - ордера не создаются). состояние batchEmulation.State = Started, batchEmulation.EmulationConnector.ConnectionState = Connected&lt;br /&gt;Причем! Если ставлю BatchEmulation.BatchSize=7, то отрабатывают 14 стратегий из 100, если BatchSize = 100, то отрабатывают 100(что значит, стратегии сами по себе нормально работают)&lt;br /&gt;&lt;br /&gt;Может некорректно этот параметр задаю?&lt;br /&gt;(Хотя меняю параметр на 100*кол-во стратегий - ситуация не меняется в лучшую сторону с виду)</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9853/</id>
    <title type="text">BatchEmulation, ProgressChanged(int curr, int total)</title>
    <published>2018-08-30T09:24:40Z</published>
    <updated>2018-09-03T15:13:21Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Скажите, пожалуйста, что за параметры передает событие?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9856/</id>
    <title type="text">Несоответствие данных Гидры</title>
    <published>2018-08-30T12:20:01Z</published>
    <updated>2018-08-30T12:55:43Z</updated>
    <author>
      <name>OldestSalt</name>
      <uri>https://stocksharp.ru/users/99741/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Доброе утро/день/вечер!&lt;br /&gt;Я не понимаю, что случилось с Гидрой, но данные с источника финам абсолютно не соответствуют настоящим данным с финама.&lt;br /&gt;Например, вот история акции HYDR, скачанная напрямую с финама:&lt;br /&gt;HYDR,1,20110301,103000,1.4850,1.4850,1.4560,1.4781,12252000&lt;br /&gt;HYDR,1,20110301,103100,1.4730,1.4788,1.4704,1.4781,2253000&lt;br /&gt;А вот история, которую выдала Гидра:&lt;br /&gt;HYDR,1,20110301,100000,14760,14760,14750,14750,3&lt;br /&gt;HYDR,1,20110301,100100,14751,14751,14751,14751,2&lt;br /&gt;Скажу сразу, шаблоны идентичны, разница в числах.&lt;br /&gt;Причём история начинается с 2011 года, как будто это фьючерс, хотя должна быть акция. И такая же проблема со многими другими акциями (история AFLT вообще начинается с 2017 года), но по акции SBER Гидра скачивает правильные данные, это магия какая-то, истории фьючерсов тоже правильные.&lt;br /&gt;Внимание, вопрос: взбесилась Гидра или Финам?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9820/</id>
    <title type="text">HistoryEmulationConnector, RegisterTrades, SubscribeCandles</title>
    <published>2018-08-21T13:06:17Z</published>
    <updated>2018-08-22T13:44:00Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Если подписываюсь на сделки - все нормально(через RegisterTrades).(API 4.4.13)&lt;br /&gt;Если дополнительно подписываюсь на свечи(RegisterTrades), то событие NewTrade приходит два раза(точнее обработчик срабатывает два раза)&lt;br /&gt;Причем, если подписаться ТОЛЬКО на свечи, тогда RegisteredTrades будет пустым, но обработчик на NewTrade будет срабатывать(вероятно, какой-то внутренний механизм подписи)&lt;br /&gt;&lt;br /&gt;Нормально ли это?(может и у меня ошибка, но вроде обработчик один раз назначаю)</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9823/</id>
    <title type="text">HistoryEmulationConnector, MyTrade, Как исполняются заявки</title>
    <published>2018-08-22T10:01:08Z</published>
    <updated>2018-08-22T13:43:14Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Разбирался как эмулятор исполняет заявки и получил интересную ситуацию.&lt;br /&gt;В csv файле имеются следующие сделки:&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_2e67804af9834fe3ad202c1d972da9b4');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_2e67804af9834fe3ad202c1d972da9b4' style='display:none'&gt;14147947	+00:00		13476.5	200	Buy&lt;br /&gt;14148513	+00:00		13476	198	Sell&lt;br /&gt;14148580	+00:00		13476	2000	Sell&lt;br /&gt;14148791	+00:00		13476.5	100	Buy&lt;br /&gt;14149148	+00:00		13476.5	51	Buy&lt;br /&gt;14149713	+00:00		13476	391	Sell&lt;br /&gt;14150048	+00:00		13425	5386	Buy&lt;br /&gt;14150140	+00:00		13424.5	500	Sell&lt;br /&gt;14150574	+00:00		13425	2000	Buy&lt;br /&gt;14150765	+00:00		13425	15000	Buy&lt;br /&gt;14151864	+00:00		13431	8000	Buy&lt;br /&gt;14152042	+00:00		13431	200	Buy&lt;br /&gt;14152158	+00:00		13431	807	Buy&lt;br /&gt;14152213	+00:00		13431	4800	Buy&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;В обработчике на NewTrade в момент прихода сделки под номером 14149713 с ценой 13476 регистрирую лимитную заявку(=ордер) на покупку по цене 13461 (была такая ситуация при тестировании и я воссоздал в упрощенном виде, чтобы понять, что происходит)&lt;br /&gt;При этом генерируется НОВАЯ сделка с ценой 13425.2 (которой нет в файле, понятно, что это делается намеренно, по какому-то алгоритму и это наша сделка - сделка стратегии)&lt;br /&gt;Как, возможно, уже понятно, заявка исполнилась по цене 13425,2 (как видно из скриншота в дебаг-окне).&lt;br /&gt;Подскажите, пожалуйста, какая вообще логика у исполнения заявок вообще, и откуда взялась цена исполнения 13425.2 в частности? (полагаю, что бралось среднее из чего-то, но вот чего, какой алгоритм)&lt;br /&gt;&lt;br /&gt;исходный код:&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_8529d5d93f59454b85005337e5400c36');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_8529d5d93f59454b85005337e5400c36' style='display:none'&gt;using System;&lt;br /&gt;&lt;br /&gt;using Ecng.Common;&lt;br /&gt;&lt;br /&gt;using StockSharp.Algo.Candles;&lt;br /&gt;using StockSharp.Algo.Storages;&lt;br /&gt;using StockSharp.Algo.Strategies;&lt;br /&gt;using StockSharp.Algo.Testing;&lt;br /&gt;using StockSharp.BusinessEntities;&lt;br /&gt;using StockSharp.Logging;&lt;br /&gt;using StockSharp.Messages;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApp1&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        private static HistoryEmulationConnector _connector;&lt;br /&gt;        private static CandleSeries _candleSeries;&lt;br /&gt;        private static int _trades_count=0;&lt;br /&gt;        private static Strategy _strategy;&lt;br /&gt;        private static Order _order;&lt;br /&gt;        private static MyTrade _myTrade;&lt;br /&gt;        private const string _logFile = &amp;quot;log.txt&amp;quot;;&lt;br /&gt;        private static LogManager logManager = new LogManager();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            var storageRegistry = new StorageRegistry { DefaultDrive = new LocalMarketDataDrive(@&amp;quot;D:\StockSharp\Storage\&amp;quot;.ToFullPath()) };&lt;br /&gt;            var security = new Security { Id = &amp;quot;XBTUSD@BMEX&amp;quot;, Code = &amp;quot;XBTUSD&amp;quot;, Board = ExchangeBoard.Bitmex };&lt;br /&gt;            var portfolio = new Portfolio { Name = &amp;quot;test account&amp;quot;, BeginValue = 1000000 };&lt;br /&gt;            logManager.Listeners.Add(new FileLogListener(_logFile));&lt;br /&gt;&lt;br /&gt;            _connector = new HistoryEmulationConnector(new[] { security }, new[] { portfolio })&lt;br /&gt;            {&lt;br /&gt;                HistoryMessageAdapter =&lt;br /&gt;                {&lt;br /&gt;                    StorageRegistry = storageRegistry,&lt;br /&gt;                    StorageFormat = StorageFormats.Csv,&lt;br /&gt;                    StartDate = new DateTimeOffset(2018, 1, 1, 1, 41, 49, TimeSpan.FromTicks(0)),&lt;br /&gt;                    StopDate = new DateTimeOffset(2018, 1, 2, 0, 0, 0, TimeSpan.FromTicks(0))&lt;br /&gt;                },&lt;br /&gt;                LogLevel = LogLevels.Info&lt;br /&gt;            };&lt;br /&gt;            logManager.Sources.Add(_connector);&lt;br /&gt;&lt;br /&gt;            _candleSeries = new CandleSeries(typeof(TimeFrameCandle), security, TimeSpan.FromMinutes(1))&lt;br /&gt;            {&lt;br /&gt;                BuildCandlesMode = MarketDataBuildModes.Build,&lt;br /&gt;                BuildCandlesFrom = MarketDataTypes.Trades,&lt;br /&gt;            };&lt;br /&gt;&lt;br /&gt;            _connector.NewSecurity += Connector_NewSecurity;&lt;br /&gt;            _connector.NewTrade += Connector_NewTrade;&lt;br /&gt;            _connector.NewMyTrade += (t)=&amp;gt; _myTrade=t;&lt;br /&gt;&lt;br /&gt;            _strategy = new Strategy()&lt;br /&gt;            {&lt;br /&gt;                Connector = _connector,&lt;br /&gt;                Security = security,&lt;br /&gt;                Portfolio = portfolio&lt;br /&gt;            };&lt;br /&gt;&lt;br /&gt;            _connector.Connect();&lt;br /&gt;&lt;br /&gt;            while (Console.ReadKey().KeyChar.ToString() != &amp;quot;z&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine($&amp;quot;Кол-во сделок = {_trades_count}&amp;quot;);&lt;br /&gt;            };&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private static void Connector_NewSecurity(Security security)&lt;br /&gt;        {&lt;br /&gt;            _connector.RegisterTrades(security);&lt;br /&gt;            //_connector.SubscribeCandles(_candleSeries);&lt;br /&gt;            _connector.Start();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private static void Connector_NewTrade(Trade trade)&lt;br /&gt;        {&lt;br /&gt;            _trades_count++;&lt;br /&gt;            if (_trades_count == 3)&lt;br /&gt;            {&lt;br /&gt;                _order = _strategy.CreateOrder(Sides.Buy, 13461, 1);&lt;br /&gt;                _connector.RegisterOrder(_order);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9824/</id>
    <title type="text">Событие окончания тестирования стратегии на истории</title>
    <published>2018-08-22T11:51:32Z</published>
    <updated>2018-08-22T13:40:44Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Подскажите, пожалуйста, как отследить момент окончания тестирования стратегии на истории? (Может коннектор отсоединяется, просто не уверен, что этот вариант лучше HistoryEmulationConnector.Disconnected ?)</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9817/</id>
    <title type="text">Отмена рыночной заявки</title>
    <published>2018-08-21T05:57:41Z</published>
    <updated>2018-08-21T15:21:20Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Регистрирую рыночные заявки (на HistoryEmulationConnector) и однажды получаю&lt;br /&gt;&amp;quot;2018/08/21 12:42:43.066|       |SecurityMarketEmulator|Заявка 7540 отменяется, так как является рыночной с неисполненным объемом 1.&amp;quot;&lt;br /&gt;Не подскажите, по каким причинам может не исполнится рыночная заявка на &amp;quot;симуляторе&amp;quot;?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9805/</id>
    <title type="text">Создается пустой инструмент при расчете индекса в гидре</title>
    <published>2018-08-17T11:04:47Z</published>
    <updated>2018-08-20T08:57:23Z</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;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;VTBR_12.17@FORTS&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;При нажатии кнопки &amp;quot;Ок&amp;quot; создается новый инструмент, но пустой. По исходному инструменту есть тики, стаканы, ОЛ, свечи(1 минута). Нажатие кнопки &amp;quot;проверить&amp;quot; в диалоге говорит, что компиляция выполнена успешно. Чтобы инструмент посчитался нужно что-то еще сделать?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9807/</id>
    <title type="text">HistoryEmulationConnector, NewTrade </title>
    <published>2018-08-17T13:42:43Z</published>
    <updated>2018-08-18T19:37:12Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Скажите. пожалуйста, почему не срабатывает событие NewTrade(не попадает в обработчик), что делаю не так? (4.4.13 API)&lt;br /&gt;(Newsecurity срабатывает как нужно)&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_b4c59305e0b944058445a81e474addeb');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_b4c59305e0b944058445a81e474addeb' style='display:none'&gt;using System;&lt;br /&gt;&lt;br /&gt;using Ecng.Common;&lt;br /&gt;&lt;br /&gt;using StockSharp.Algo.Storages;&lt;br /&gt;using StockSharp.Algo.Testing;&lt;br /&gt;using StockSharp.BusinessEntities;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApp1&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        private static HistoryEmulationConnector connector;&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            var storageRegistry = new StorageRegistry { DefaultDrive = new LocalMarketDataDrive(@&amp;quot;D:\StockSharp\Storage\&amp;quot;.ToFullPath()) };&lt;br /&gt;            var security = new Security { Id = &amp;quot;XBTUSD@BMEX&amp;quot;, Code = &amp;quot;XBTUSD&amp;quot;, Board = ExchangeBoard.Bitmex };&lt;br /&gt;            var portfolio = new Portfolio { Name = &amp;quot;test account&amp;quot;, BeginValue = 1000000 };&lt;br /&gt;&lt;br /&gt;            connector = new HistoryEmulationConnector( new[] { security }, new[] { portfolio })&lt;br /&gt;            {&lt;br /&gt;                HistoryMessageAdapter =&lt;br /&gt;                {&lt;br /&gt;                    StorageRegistry = storageRegistry,&lt;br /&gt;                    StartDate = new DateTimeOffset(2017, 1, 1, 0, 0, 0, TimeSpan.FromMinutes(0)),&lt;br /&gt;                    StopDate = new DateTimeOffset(2018, 2, 1, 0, 0, 0, TimeSpan.FromMinutes(0))&lt;br /&gt;                },&lt;br /&gt;            };&lt;br /&gt;            connector.NewSecurity += Connector_NewSecurity;&lt;br /&gt;            connector.NewTrade += Connector_NewTrade;&lt;br /&gt;            connector.Connect();&lt;br /&gt;            Console.ReadKey();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private static void Connector_NewSecurity(Security security)&lt;br /&gt;        {&lt;br /&gt;            if (security.Code == &amp;quot;XBTUSD&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                connector.RegisterTrades(security);&lt;br /&gt;                connector.Start();&lt;br /&gt;            };&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private static void Connector_NewTrade(Trade trade)&lt;br /&gt;        {&lt;br /&gt;            trade = trade;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9804/</id>
    <title type="text">Запрос авторизации</title>
    <published>2018-08-17T08:43:03Z</published>
    <updated>2018-08-17T08:43:03Z</updated>
    <author>
      <name>jesc</name>
      <uri>https://stocksharp.ru/users/102152/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="#авторизация" />
    <content type="html">Добрый день.&lt;br /&gt;Установил S#.Data и S#.Designer на работе и дома. На работе при старте запрашивает логин/пароль к сайту StockSharp, дома нет.&lt;br /&gt;Версии одинаковые. Это влияет на возможность получения и работы с данными? Если да, то как заставить S# авторизоваться из дома?&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9797/</id>
    <title type="text">Изменение цены заявки</title>
    <published>2018-08-14T16:44:41Z</published>
    <updated>2018-08-15T12:12:18Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Скажите, пожалуйста, каков рекомендуемый подход для изменении цены активной заявки (удаление старой и создание новой заявки с новой ценой или может другой есть)?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9075/</id>
    <title type="text">Загрузка статистических данных стратегии</title>
    <published>2018-02-03T14:40:13Z</published>
    <updated>2018-08-07T15:00:18Z</updated>
    <author>
      <name>Константин</name>
      <uri>https://stocksharp.ru/users/98279/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день, уважаемая поддержка! Нужно реализовать загрузку данных стратегии при её старте. То есть историю изменения позиции, данные по эквити. В документации есть вот это - &lt;a href="http://doc.stocksharp.ru/html/61ad1ece-8094-44a9-a558-ec664a1ab16a.htm " title="http://doc.stocksharp.ru/html/61ad1ece-8094-44a9-a558-ec664a1ab16a.htm "&gt;http://doc.stocksharp.ru...9-a558-ec664a1ab16a.htm &lt;/a&gt;Судя по всему статья устарела так как перегрузки метода ProcessNewOrders(IEnumerable&amp;lt;Order&amp;gt; newOrders, bool isStopOrders) уже не существует. Но и не в этом дело. Я понимаю что метод ProcessNewOrders теперь сам распознает что за ордера в него приходят. Дело в том что данное руководство не работает.&lt;br /&gt;Реализовать пытаюсь так:&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_24405b9d43414f3e92a5eeed3ae96f07');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_24405b9d43414f3e92a5eeed3ae96f07' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;br /&gt;        private IEnumerable&amp;lt;Order&amp;gt; Filter(IEnumerable&amp;lt;Order&amp;gt; orders)&lt;br /&gt;        {&lt;br /&gt;            if (File.Exists(&amp;quot;Opders.txt&amp;quot;))&lt;br /&gt;            {&lt;br /&gt;                // считываем номера транзакций из файла&lt;br /&gt;                var transactions = File.ReadAllLines(&amp;quot;Opders.txt&amp;quot;).Select(l =&amp;gt; l.To&amp;lt;long&amp;gt;()).ToArray();&lt;br /&gt;                // находим наши заявки по считанным номерам&lt;br /&gt;                return orders.Where(o =&amp;gt; transactions.Contains(o.TransactionId));&lt;br /&gt;            }&lt;br /&gt;            return null;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public override void RegisterOrder(Order order)&lt;br /&gt;        {&lt;br /&gt;            // отравляем заявку дальше на регистрацию&lt;br /&gt;            base.RegisterOrder(order);&lt;br /&gt;            // добавляем новый номер транзакции&lt;br /&gt;            File.AppendAllLines(&amp;quot;Opders.txt&amp;quot;, new&amp;#91;&amp;#93; { order.TransactionId.ToString() });&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnStarted()&lt;br /&gt;        {&lt;br /&gt;            //ролучаем отфильтрованые ордера&lt;br /&gt;            var opders = Filter(Connector.Orders);&lt;br /&gt;            if(opders != null) // если они есть передаем их в ProcessNewOrders&lt;br /&gt;                ProcessNewOrders(opders);&lt;br /&gt;            CandleManager.Processing += ProcessCandle;&lt;br /&gt;            base.OnStarted();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В документации написано что после того, как заявки будут загружены в стратегию через ProcessNewOrders, загрузятся и все совершенные по ним сделки. Это будет сделано автоматически.&lt;br /&gt;Соответственно у меня есть несколько вопросов:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Как сделать что бы ProcessNewOrders загружал в стратегию сделки и заявки?&lt;br /&gt;&lt;li&gt;Будет ли при этом расчитываться эквити и срабатывать событие (Strategy.PnLChanged) изменения PnL?&lt;br /&gt;&lt;li&gt;Будет ли при этом расчитываться позиция и срабатывать событие Strategy.PositionChanged изменения позиции?&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Если все изменилось то подскажите в какую сторону копать. Не хочется придумывать костыли.[smile]</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/9771/</id>
    <title type="text">Признак окончания получения инструментов и сделок коннектором</title>
    <published>2018-08-06T16:35:01Z</published>
    <updated>2018-08-07T14:58:16Z</updated>
    <author>
      <name>tsuranov</name>
      <uri>https://stocksharp.ru/users/101656/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте!&lt;br /&gt;&lt;br /&gt;Когда коннектор производит подключение, он получает инструменты. Как определить, что все инструменты получены(и можно &amp;quot;спокойно&amp;quot; работать со списком Connector.Securities)?&lt;br /&gt;(Дело в том, что сам коннектор получает список инструментов за один раз, а затем генерирует события NewSecurity для каждого инструмента. Должен быть какой-то признак окончания. По идее было бы не плохо реализовать это в событии NewSecurities - когда выдаются все полученные в результате запроса инструменты, но в настоящий момент это событие работает так же как и для одного инструмента - в списке объектов события всегда один инструмент, в частности для коннектора битмекса)&lt;br /&gt;&lt;br /&gt;Второй вопрос по сделкам, допустим, подписался на сделки за прошедший период(январь 2017го) как узнать, что загрузка сделок завершена?</content>
  </entry>
</feed>