﻿<?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=251</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-16T10:40:32Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=forum&amp;page=251" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/1056/</id>
    <title type="text">Цена последней сделки. Версия библиотеки 2.1</title>
    <published>2010-07-20T11:39:00Z</published>
    <updated>2010-07-20T11:39:00Z</updated>
    <author>
      <name>S.S.V.</name>
      <uri>https://stocksharp.ru/users/28607/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Добрый день!&lt;br /&gt;&lt;br /&gt;При работе экспорта DDE таблицы инструменты, цена последней сделки&lt;br /&gt;находиться в поле Volume, а поле HIGHPRICE всегда 0.&lt;br /&gt;&lt;br /&gt;В чем может быть проблема?&lt;br /&gt;&lt;br /&gt;Заранее спасибо. &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1057/</id>
    <title type="text">Стоп заявки, Срок &amp;apos;До отмены&amp;apos;, тип DateTime</title>
    <published>2010-07-18T09:40:00Z</published>
    <updated>2010-07-18T09:40:00Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Михаил, Добрый день!&lt;br /&gt;&lt;br /&gt;S#2.1&lt;br /&gt;Quik5.16.0.145&lt;br /&gt;&lt;br /&gt;Возникает ошибка, если в стоп-заявках есть записи со значением &amp;quot;До&lt;br /&gt;отмены&amp;quot; в колонке Срок&lt;br /&gt;&lt;br /&gt;System.ArgumentException: Невозможно для колонки Срок привести&lt;br /&gt;значение &amp;#39;До отмены&amp;#39; к типу DateTime.&lt;br /&gt;Parameter name: value ---&amp;gt; System.FormatException: The string was not&lt;br /&gt;recognized as a valid DateTime. There is a unknown word starting at&lt;br /&gt;index 0.&lt;br /&gt;   at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi,&lt;br /&gt;DateTimeStyles styles)&lt;br /&gt;   at System.Convert.ToDateTime(String value, IFormatProvider&lt;br /&gt;provider)&lt;br /&gt;   at System.String.System.IConvertible.ToDateTime(IFormatProvider&lt;br /&gt;provider)&lt;br /&gt;   at System.Convert.ChangeType(Object value, Type conversionType,&lt;br /&gt;IFormatProvider provider)&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 Ecng.Trading.Quik.QuikTrader. [T](Object  , DdeTableColumn  )&lt;br /&gt;   --- End of inner exception stack trace ---&lt;br /&gt;   at Ecng.Trading.Quik.QuikTrader. [T](Object  , DdeTableColumn  )&lt;br /&gt;   at Ecng.Trading.Quik.QuikTrader. [T](Func`2  , DdeTableColumn  )&lt;br /&gt;   at Ecng.Trading.Quik.QuikTrader.  . . (Int64  )&lt;br /&gt;   at&lt;br /&gt;Ecng.Trading.BusinessEntities.BaseTrader.&amp;lt;&amp;gt;c__DisplayClass43.&amp;lt;GetOrder&amp;gt;b__f(Int64&lt;br /&gt;key)&lt;br /&gt;   at Ecng.Collections.CollectionHelper.SafeAdd[K,V](IDictionary`2&lt;br /&gt;dictionary, K key, Func`2 handler)&lt;br /&gt;   at Ecng.Trading.BusinessEntities.BaseTrader.GetOrder(Int64 id,&lt;br /&gt;Func`2 createOrder)&lt;br /&gt;   at Ecng.Trading.Quik.QuikTrader.  . (IList`1  , Func`2  )&lt;br /&gt;   at Ecng.Trading.Quik.DdeTable. (IList`1  , Action`2  , Action`1  )&lt;br /&gt; &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1059/</id>
    <title type="text">Вывод стакана</title>
    <published>2010-07-16T15:52:00Z</published>
    <updated>2010-07-16T15:52:00Z</updated>
    <author>
      <name>Serg</name>
      <uri>https://stocksharp.ru/users/484/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Всем привет. Подскажите плиз как правильно выводить стакан и&lt;br /&gt;регистрироваться на событие его изменение(котировок стакана)?&lt;br /&gt;Делаю все примерно так:&lt;br /&gt;1. При подключении к квику стартую вывод таблицы текущих параметров&lt;br /&gt;      quik.Connected += () =&amp;gt;&lt;br /&gt;                {&lt;br /&gt;                    quik.StartDde(quik.SecuritiesTable);&lt;br /&gt;                    ToLog(&amp;quot;conneced...&amp;quot;);&lt;br /&gt;                    _isConnected = true;&lt;br /&gt;                };&lt;br /&gt;2. При появлении новой секурити&lt;br /&gt;      quik.NewSecurities += securities =&amp;gt;&lt;br /&gt;                {&lt;br /&gt;                    if (sber == null)&lt;br /&gt;                        sber = securities.FirstOrDefault(sec =&amp;gt;&lt;br /&gt;sec.Code == secCode);&lt;br /&gt;                    if (sber != null)&lt;br /&gt;                    {&lt;br /&gt;                        ToLog(&amp;quot;Инструмент появился.&amp;quot;);&lt;br /&gt;                        stak = new MarketDepth(sber);&lt;br /&gt;                        stak.QuotesChanged += new&lt;br /&gt;Action&amp;lt;OrderDirections, System.Collections.Generic.IDictionary&amp;lt;int,&lt;br /&gt;Quote&amp;gt;&amp;gt;(stak_QuotesChanged);&lt;br /&gt;                        quik.StartDde(sber); // здесь квик начинает&lt;br /&gt;вывод стакана по дде&lt;br /&gt;                    }&lt;br /&gt;                };&lt;br /&gt;3. И пытаюсь текст боксе увидеть результат обновления стакана&lt;br /&gt; &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1058/</id>
    <title type="text">Несколько стратегий</title>
    <published>2010-07-16T15:18:00Z</published>
    <updated>2010-07-16T15:18:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Возникли следующие 2 проблемы при использовании Stock#:&lt;br /&gt;1) CandleManager с несколькими таймфреймами:&lt;br /&gt;Порядок действия такой:&lt;br /&gt;a) создаю&lt;br /&gt;CandleManager _candleManager = new CandleManager(_trader);&lt;br /&gt;&lt;br /&gt;b) регистрирую таймфреймы при создании стратегий&lt;br /&gt;if (!_candleManager.IsRegisteredTimeFrameCandles(riFut, _timeFrame5))&lt;br /&gt;{&lt;br /&gt;    _candleManager.RegisterTimeFrameCandles(riFut, _timeFrame5);&lt;br /&gt;&lt;br /&gt;if (!_candleManager.IsRegisteredTimeFrameCandles(riFut, _timeFrame1))&lt;br /&gt;{&lt;br /&gt;    _candleManager.RegisterTimeFrameCandles(riFut, _timeFrame1);&lt;br /&gt;&lt;br /&gt;c) Передаю candleManager созданным стратегиям и использую их дальше&lt;br /&gt;там.&lt;br /&gt;&lt;br /&gt;Мне по стратегиям необходимо понять, обрабатывал ли я уже данную&lt;br /&gt;минутку \ 5-минутку или нет (чтоб не запускать на ней несколько раз).&lt;br /&gt;Поэтому я в обработчике событий NewCandles внутри стратегии (для&lt;br /&gt;переданного candleManager, для которого зарегистрировано как 1-&lt;br /&gt;минутки, так и 5-минутки) создаю SortedSet из пришедшего времени:&lt;br /&gt;    _candleManager.NewCandles += CandleManagerNewCandles;&lt;br /&gt;&lt;br /&gt;       void CandleManagerNewCandles(CandleToken arg1,&lt;br /&gt;Wintellect.PowerCollections.MultiDictionary&amp;lt;Candle, Trade&amp;gt; arg2)&lt;br /&gt;        {&lt;br /&gt;            if (arg1.Security == Security)&lt;br /&gt;            {&lt;br /&gt;                if (typeof(TimeFrameCandle) == arg1.CandleType)&lt;br /&gt;                {&lt;br /&gt;                    if (arg1.Arg.Equals(TimeFrame))&lt;br /&gt;                    {&lt;br /&gt;                        foreach (Candle candle in arg2.Keys)&lt;br /&gt;                        {&lt;br /&gt;                            _addedTimes.Add(candle.Time);&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;В итоге почему-то в каждую из стратегий приходят лишь 1-минутки(хотя&lt;br /&gt;TimeFrame - 5 минут), поэтому время не добавляется в Set и я получаю&lt;br /&gt;сигнал что свечка для данной 5-минутки не пришла. С чем это связано?&lt;br /&gt;&lt;br /&gt;2) Для Security я добавляю дополнительные поля для экспорта:&lt;br /&gt;DdeSecurityColumns.MarginBuy&lt;br /&gt;DdeSecurityColumns.MarginSell&lt;br /&gt;DdeSecurityColumns.MaxPrice&lt;br /&gt;DdeSecurityColumns.MinPrice&lt;br /&gt;DdeSecurityColumns.MinStepPrice&lt;br /&gt;&lt;br /&gt;Почему-то в переданные в стратегии Security эти поля не обновляются и&lt;br /&gt;равны первоначальным при первом экспорте. Как это можно исправить или&lt;br /&gt;что-то не так делаю? &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1053/</id>
    <title type="text">MarketQuotingStrategy не передает управление?</title>
    <published>2010-07-15T20:49:00Z</published>
    <updated>2010-07-15T20:49:00Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Пытаюсь выставлять заявки через котирование. Создаю заявку, передаю ее&lt;br /&gt;на котирование. Все отлично работает, если заявка успешно&lt;br /&gt;регистрируется, если же при регистрации возникли ошибки, например&lt;br /&gt;попробовал продать в шорт на тестовом квике, то возникают проблеммы.&lt;br /&gt;Все как положено вызывается событие Trader.OrdersFailed,&lt;br /&gt;обрабатывается, после этого MarketQuotingStrategy как бы стопорится,&lt;br /&gt;не завершает свою работу, метод onProcess родительской стратегии&lt;br /&gt;больше не вызывается, и MarketQuotingStrategy тоже ничего не делает.&lt;br /&gt;Т.е. алгоритм подвисает, как можно принудительно завершить работу&lt;br /&gt;MarketQuotingStrategy и передать управление родительской тратегии в&lt;br /&gt;таких случаях? Попробовать делать это из события OrdersFailed? &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1060/</id>
    <title type="text">деление на 0 при котировании</title>
    <published>2010-07-15T17:07:00Z</published>
    <updated>2010-07-15T17:07:00Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <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;               var order = base.CreateOrder(Direct, IsMarket ?&lt;br /&gt;base.Security.GetMarketPrice(Direct,&lt;br /&gt;MarketPriceTypes.Opposite):base.Security.GetMarketPrice(Direct,&lt;br /&gt;MarketPriceTypes.Following), base.Volume);&lt;br /&gt;&lt;br /&gt;               // регистрируем заявку (обычным способом -&lt;br /&gt;лимитированной заявкой)&lt;br /&gt;&lt;br /&gt;                base.RegisterOrder(order);&lt;br /&gt;&lt;br /&gt;тут всё ок - заявка выставляется&lt;br /&gt;&lt;br /&gt;если же выставляю через котирование т.е. так:&lt;br /&gt;&lt;br /&gt;               var order = base.CreateOrder(Direct, IsMarket ?&lt;br /&gt;base.Security.GetMarketPrice(Direct,&lt;br /&gt;MarketPriceTypes.Opposite):base.Security.GetMarketPrice(Direct,&lt;br /&gt;MarketPriceTypes.Following),&lt;br /&gt;&lt;br /&gt;               // регистрируем заявку (через котирование)&lt;br /&gt;&lt;br /&gt;               var strategy = new MarketQuotingStrategy(base.Trader,&lt;br /&gt;order, IsMarket ?  MarketPriceTypes.Opposite :&lt;br /&gt;MarketPriceTypes.Following, new Unit());&lt;br /&gt;&lt;br /&gt;               strategy.Start();&lt;br /&gt;&lt;br /&gt;               base.ChildStrategies.Add(strategy);&lt;br /&gt;&lt;br /&gt;получаю ошибку:&lt;br /&gt;&lt;br /&gt;System.DivideByZeroException: Попытка деления на нуль.&lt;br /&gt;&lt;br /&gt;  в System.Decimal.FCallDivide(Decimal&amp;amp; result, Decimal d1, Decimal&lt;br /&gt;d2)&lt;br /&gt;&lt;br /&gt;  в System.Decimal.Remainder(Decimal d1, Decimal d2)&lt;br /&gt;&lt;br /&gt;  в System.Decimal.op_Modulus(Decimal d1, Decimal d2)&lt;br /&gt;&lt;br /&gt;  в Ecng.Trading.Algo.TraderHelper.ShrinkPrice(Security security,&lt;br /&gt;Double price)&lt;br /&gt;&lt;br /&gt;  в Ecng.Trading.Algo.QuotingStrategy.OnProcess()&lt;br /&gt;&lt;br /&gt;  в Ecng.Trading.Algo.Strategy.♫()&lt;br /&gt;&lt;br /&gt;MQS_SRU0 останавливается.&lt;br /&gt;&lt;br /&gt;Котирование закончилось.&lt;br /&gt;&lt;br /&gt;MQS_SRU0 остановлена.&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/808/</id>
    <title type="text">Проблема со StopDde</title>
    <published>2010-07-15T10:07:00Z</published>
    <updated>2010-07-15T10:07:00Z</updated>
    <author>
      <name>Sentaniel</name>
      <uri>https://stocksharp.ru/users/27992/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Добрый день.&lt;br /&gt;&lt;br /&gt;Столкнулся со следующей проблемой:&lt;br /&gt;При попытке остановки DDE экспорта из квика по таблице SecuritiesTable&lt;br /&gt;(Настроена для совместной работы по ММВБ и РТС)&lt;br /&gt;в квике открывается окно вывод через DDE сервер, &amp;quot;нажимаеться&amp;quot; кнопка&lt;br /&gt;&amp;quot;остановить вывод&amp;quot;, после чего квик зависает. В программе никаких&lt;br /&gt;эксепшенов не выбрасывается. Управление отладчику после вызова метода&lt;br /&gt;StopDde не возвращается.&lt;br /&gt;&lt;br /&gt;Привожу код инициализации инстанса QuikTrader:&lt;br /&gt;&lt;br /&gt;      private static QuikTrader _trader;&lt;br /&gt;        private static ManualResetEvent _waitHandle;&lt;br /&gt;&lt;br /&gt;       public static QuikTrader GetConnectedTraderInstance&lt;br /&gt;        {&lt;br /&gt;            get&lt;br /&gt;            {&lt;br /&gt;                _trader = new QuikTrader(@&amp;quot;C:\QUIK_BCS&amp;quot;);&lt;br /&gt;                using (_waitHandle = new ManualResetEvent(false))&lt;br /&gt;                {&lt;br /&gt;                    _trader.Connected += trader_Connected;&lt;br /&gt;&lt;br /&gt;                   _trader.PrepareForMicexAndRtsTrading();&lt;br /&gt;&lt;br /&gt;                   _trader.NewSecurities += _trader_NewSecurities;&lt;br /&gt;&lt;br /&gt;                   _trader.Connect();&lt;br /&gt;&lt;br /&gt;                   _waitHandle.WaitOne();&lt;br /&gt;                }&lt;br /&gt;                return _trader;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       static void _trader_NewSecurities(IEnumerable&amp;lt;Security&amp;gt; obj)&lt;br /&gt;        {&lt;br /&gt;            _trader.NewSecurities -= _trader_NewSecurities;&lt;br /&gt;            _waitHandle.Set();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       static void trader_Connected()&lt;br /&gt;        {&lt;br /&gt;            _trader.Connected -= trader_Connected;&lt;br /&gt;            _trader.StartDde(_trader.SecuritiesTable);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Код остановки экспорта DDE данных:&lt;br /&gt;&lt;br /&gt;       [TestCleanup]&lt;br /&gt;        public void Cleanup()&lt;br /&gt;        {&lt;br /&gt;            _trader.StopDde(_trader.SecuritiesTable);&lt;br /&gt;            _trader.Disconnect();&lt;br /&gt;            _trader.Dispose();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Помогите разобраться с проблемой. &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/813/</id>
    <title type="text">Стопы на FORTS</title>
    <published>2010-07-13T09:25:00Z</published>
    <updated>2010-07-13T09:25:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Каким образом вы выставляете стопы на фортс, чтобы они гарантировано&lt;br /&gt;исполнились?&lt;br /&gt;&lt;br /&gt;По идее, их исполнение надо ставить по маркету - т.е. по ценам планки.&lt;br /&gt;Но ситуация в следующем - загружаю роботов утром, добавляю в экспорт&lt;br /&gt;всё что надо (ГО, цены планки, ...) для каждого зарегистрированного&lt;br /&gt;quikTrader:&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MarginBuy);&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MarginSell);&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinStepPrice);&lt;br /&gt;&lt;br /&gt;Отлично, теперь при регистрации стоп заявки использую в стратегии&lt;br /&gt;Security.MaxPrice для стопа для шорта и Security.MinPrice для стопа&lt;br /&gt;для лонга.&lt;br /&gt;&lt;br /&gt;Всё отлично работает до клиринга или до остановки торгов - когда цена&lt;br /&gt;планки смещается. Т.е. старая выставленная заявка с ценой старой&lt;br /&gt;планки, в случае срабатывания условия стопа, может уже не&lt;br /&gt;удовлетворять новым лимитам, и просто будет отвергнута ТС.&lt;br /&gt;Вот, к примеру, вчера у меня был выставлен стоп до дневного клиринга -&lt;br /&gt;продать, если &amp;lt;= 138000, по цене 130510. После клиринга был уже новый&lt;br /&gt;нижний лимит цены и стоп, после срабатывания, не был выставлен в ТС.&lt;br /&gt;&lt;br /&gt;Выход, который я вижу - регистрировать событие SecuritiesChanged и, в&lt;br /&gt;случае изменения лимитов, для каждой запущенной стратегии запускать&lt;br /&gt;метод, который будет выполнять проверку всех выставленных стоп заявок.&lt;br /&gt;Если это необходимо - снимать старые стоп-заявки и выставлять новые,&lt;br /&gt;уже с новыми ценами лимитов. &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/812/</id>
    <title type="text">свечная стратегий</title>
    <published>2010-07-13T08:06:00Z</published>
    <updated>2010-07-13T08:06:00Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Михаил, буду признателен если дадите первоначальную наводку по&lt;br /&gt;созданию таймфреймовой стратегии, которая будет манипулировать свечой&lt;br /&gt;текущего таймфрейма..&lt;br /&gt;&lt;br /&gt;Правильно ли я понимаю, что все может быть реализовано так:&lt;br /&gt;Наследуюсь от TimeFrameStrategy. Создаю подобъект CandleManager.&lt;br /&gt;&lt;br /&gt;Далее хочу всю логику делать событийно ориентированной (не в&lt;br /&gt;OnProcess).&lt;br /&gt;&lt;br /&gt;Для этого ставлю Interval в 0, OnProcess не перегружаю.&lt;br /&gt;&lt;br /&gt;Реализую обработчики NewCandles и других событий, которые мне нужны.&lt;br /&gt;&lt;br /&gt;Кстати по поводу NewCandles - это событие начала или завершения&lt;br /&gt;формирования новых свечек?&lt;br /&gt;&lt;br /&gt;В целом мой план одобряете?&lt;br /&gt; &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/814/</id>
    <title type="text">Ошибка trader.ReRegisterOrder при переходже на 2.1 с 2.01</title>
    <published>2010-07-12T18:41:00Z</published>
    <updated>2010-07-12T18:41:00Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Приветствую, Михаил!&lt;br /&gt;&lt;br /&gt;при переходе на 2.1 с 2.01 получил ошибку в строке&lt;br /&gt;(в 2.01 всё работает)&lt;br /&gt;&lt;br /&gt;//продаём по рынку&lt;br /&gt;trader.ReRegisterOrder(registeredSellOrder,&lt;br /&gt;                                                    () =&amp;gt; (market&lt;br /&gt;+delta),&lt;br /&gt;                                                    true);&lt;br /&gt;&lt;br /&gt;Ошибка    1       Невозможно преобразовать &amp;quot;лямбда-выражение&amp;quot; к типу &amp;quot;double&amp;quot;,&lt;br /&gt;поскольку он не является делегатом         ....&lt;br /&gt;&lt;br /&gt;Подскажите что не так, пжл.&lt;br /&gt;&lt;br /&gt;Спасибо и с уважением!&lt;br /&gt; &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/818/</id>
    <title type="text">Помогите, пожалуйста, StartDde ругается</title>
    <published>2010-07-11T18:08:00Z</published>
    <updated>2010-07-11T18:08:00Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Решил перейти с версии 1.8 на 2.1 но при старте DDE выдается&lt;br /&gt;исключение: &amp;quot;Нет информации о главном окне Quik.Возможно, было&lt;br /&gt;неуспешное подключение.&amp;quot; При этом примеры из 2.1 работают. Verifer&lt;br /&gt;только ошибку о колонке Статус в таблице инструментов, что она должна&lt;br /&gt;имет индекс 4. Но при этом примеры то работают, а точно такой же код у&lt;br /&gt;меня в проекте не работает. Может где-то что-то упустил, не знаю куда&lt;br /&gt;и смотреть. Ссылки все из проекта удалил, библиотеки тоже все заменил,&lt;br /&gt;все ошибки поправил. Вот код кнопки подключения.&lt;br /&gt;&lt;br /&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            if (!_isConnected)&lt;br /&gt;            {&lt;br /&gt;                if (globalsett1.quickpath.IsEmpty())&lt;br /&gt;                    MessageBox.Show(&amp;quot;Путь к Quik не указан&amp;quot;);&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    if (this.Trader == null)&lt;br /&gt;                    {&lt;br /&gt;                        // создаем шлюз&lt;br /&gt;&lt;br /&gt;                       try&lt;br /&gt;                        {&lt;br /&gt;                            this.Trader = new&lt;br /&gt;QuikTrader(globalsett1.quickpath) { IsFullDdeExport = true };&lt;br /&gt;                            var columns =&lt;br /&gt;this.Trader.SecuritiesTable.Columns;&lt;br /&gt;&lt;br /&gt;columns[columns.IndexOf(DdeSecurityColumns.LastTradeTime)] =&lt;br /&gt;DdeSecurityColumns.LastChangeTime;&lt;br /&gt;&lt;br /&gt;columns.Add(DdeSecurityColumns.MinStepPrice);&lt;br /&gt;&lt;br /&gt;                       this.Trader.NewSecurities += securities =&amp;gt;&lt;br /&gt;treeView1.BeginInvoke((Action)(()=&amp;gt;&lt;br /&gt;                            {&lt;br /&gt;                                tree_sec_add(securities);&lt;br /&gt;                                tree_view_refresh();&lt;br /&gt;                            }));&lt;br /&gt;&lt;br /&gt;                       this.Trader.SecuritiesChanged += securities =&amp;gt;&lt;br /&gt;dataGridView1.BeginInvoke((Action)(() =&amp;gt;&lt;br /&gt;                        {&lt;br /&gt;                            grid_refresh();&lt;br /&gt;                        }));&lt;br /&gt;                        // создаем менеджер переподключения (будет&lt;br /&gt;автоматически соединяться&lt;br /&gt;                        // каждые 10 секунд, если шлюз потеряется&lt;br /&gt;связь с сервером)&lt;br /&gt;                        _reConnectionManager = new&lt;br /&gt;ReConnectionManager(this.Trader,  new Range&amp;lt;TimeSpan&amp;gt;[0],&lt;br /&gt;TimeSpan.FromSeconds(10));&lt;br /&gt;                        _reConnectionManager.ConnectionRestored += ()&lt;br /&gt;=&amp;gt;&lt;br /&gt;                       {&lt;br /&gt;                           MessageBox.Show(&amp;quot;Соединение&lt;br /&gt;восстановлено&amp;quot;);&lt;br /&gt;                            //Thread.Sleep(20 * 1000);&lt;br /&gt;                           this.Trader.Reconnect();&lt;br /&gt;                            StartDde();&lt;br /&gt;                            //this.Trader.IsAsyncMode = true;&lt;br /&gt;&lt;br /&gt;                       };&lt;br /&gt;                        this.Trader.ConnectionError += error =&amp;gt;&lt;br /&gt;MessageBox.Show(&amp;quot;Соединение с Quik потеряно, предпринимается попытка&lt;br /&gt;перподключения&amp;quot;);&lt;br /&gt;                        this.Trader.Connect();&lt;br /&gt;                        StartDde();&lt;br /&gt;                        //this.Trader.IsAsyncMode = true;&lt;br /&gt;                        // возводим флаг, что соединение установлено&lt;br /&gt;(происходит автоматически при создании шлюза)&lt;br /&gt;                        _isConnected = true;&lt;br /&gt;                        this.button1.Text = &amp;quot;Отключиться&amp;quot;;&lt;br /&gt;                        }&lt;br /&gt;                        catch (Exception a)&lt;br /&gt;                        {&lt;br /&gt;                            MessageBox.Show(a.Message.ToString());&lt;br /&gt;                            this.Trader.Dispose();&lt;br /&gt;                            this.Trader = null;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;&lt;br /&gt;                       try&lt;br /&gt;                        {&lt;br /&gt;&lt;br /&gt;                           this.Trader.Connect();&lt;br /&gt;                            //this.Trader.IsAsyncMode = true;&lt;br /&gt;                            StartDde();&lt;br /&gt;                            _isConnected = true;&lt;br /&gt;                            this.button1.Text = &amp;quot;Отключиться&amp;quot;;&lt;br /&gt;                        }&lt;br /&gt;                        catch (Exception b)&lt;br /&gt;                        {&lt;br /&gt;                            MessageBox.Show(b.Message.ToString());&lt;br /&gt;                            this.Trader.Dispose();&lt;br /&gt;                            this.Trader = null;&lt;br /&gt;                        }&lt;br /&gt;&lt;br /&gt;               }&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                try&lt;br /&gt;                {&lt;br /&gt;                    this.Trader.Disconnect();&lt;br /&gt;                    StopDde();&lt;br /&gt;                    _isConnected = false;&lt;br /&gt;                    this.button1.Text = &amp;quot;Соединиться&amp;quot;;&lt;br /&gt;                }&lt;br /&gt;                catch (Exception c)&lt;br /&gt;                {&lt;br /&gt;                    MessageBox.Show(c.Message.ToString());&lt;br /&gt;                    this.Trader.Dispose();&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;private void StartDde()&lt;br /&gt;        {&lt;br /&gt;            _isDdeStarted = true;&lt;br /&gt;            this.Trader.StartDde();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       private void StopDde()&lt;br /&gt;        {&lt;br /&gt;            this.Trader.StopDde();&lt;br /&gt;            _isDdeStarted = false;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;При старте StartDde() выдается исключение.&lt;br /&gt;Помогите пожалуйста советом! &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1052/</id>
    <title type="text">Котирование и событие исполнения заявки</title>
    <published>2010-07-10T02:01:00Z</published>
    <updated>2010-07-10T02:01:00Z</updated>
    <author>
      <name>Dmitriy Klimov</name>
      <uri>https://stocksharp.ru/users/27862/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Михаил, есть вопрос про котирование и событие исполнения заявки:&lt;br /&gt;Я в стратегии использую MarketQuotingStrategy как дочернюю торговую&lt;br /&gt;стратегию для покупок/продаж по рыночной цене на фортсе. В стратегии&lt;br /&gt;необходимо отслеживать момент исполнения заявки, чтобы после этого&lt;br /&gt;момента основная стратегия продолжила работу. Должен ли я для этого&lt;br /&gt;подписываться на MarketQuotingStrategy.NewMyTrades, или метод&lt;br /&gt;OnNewMyTrades моей стратегии будет вызван автоматически? Спасибо. &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/816/</id>
    <title type="text">trader.GuaranteeCancelOrder()</title>
    <published>2010-07-09T17:59:00Z</published>
    <updated>2010-07-09T17:59:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.ru/users/26822/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <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;и как в ассинхронном режиме будет &amp;quot; или произойдет ошибка.&amp;quot; - событие&lt;br /&gt;OrderFault? &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/819/</id>
    <title type="text">Экспорт портфеля DDE для SampleConsole</title>
    <published>2010-07-09T14:04:00Z</published>
    <updated>2010-07-09T14:04:00Z</updated>
    <author>
      <name>E G</name>
      <uri>https://stocksharp.ru/users/28156/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Я пытался найти может кто сделал экспорт портфеля но не смог.&lt;br /&gt;QUIKTRADER вроде эту операцию не поддерживает для SampleConsole. У&lt;br /&gt;меня самого не получилось. Подскажите если кто сделал. Спасибо. &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/811/</id>
    <title type="text">Проблема с ExtensionInfo Binding</title>
    <published>2010-07-08T21:00:00Z</published>
    <updated>2010-07-08T21:00:00Z</updated>
    <author>
      <name>Александр Сопов</name>
      <uri>https://stocksharp.ru/users/28297/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Михал, вечер добрый.&lt;br /&gt;&lt;br /&gt;В примере с экспортом инструментов волатильность и теор цена не&lt;br /&gt;обновляются в реальном времени. Думаю дело в том, что они биндятся к&lt;br /&gt;объекту Security, а не к полю. Если их забиндить через&lt;br /&gt;Path=ExtensionInfo и написать конвертер, то данные все равно не&lt;br /&gt;обновляются в реальном времени, хотя на ранних версиях S# это&lt;br /&gt;работало.... В чем может быть причина? ExtensionInfo больше не&lt;br /&gt;свойство зависимости? или не реализует INotifyPropertyChanged? &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/817/</id>
    <title type="text">Проблемы с CandleManager&amp;apos;ом в реализации для Smart&amp;apos;a</title>
    <published>2010-07-08T19:13:00Z</published>
    <updated>2010-07-08T19:13:00Z</updated>
    <author>
      <name>None</name>
      <uri>https://stocksharp.ru/users/6363/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="SmartCom" />
    <content type="html">Потратил весь день, думал я что-то в своем алгоритме накосячил - ну не&lt;br /&gt;получить свечей через Candle Manager, ну никак... Даже подписчики на&lt;br /&gt;NewCandle не отрабатывают :(&lt;br /&gt;В отчаянии запустил сэмпл SmartSMA под дебагом, навесил брейков на все&lt;br /&gt;обработчики свечей и увидел, что приходят только исторические данные&lt;br /&gt;через SmartTrader.NewCandle, а живой фид не идет... визуально свечи&lt;br /&gt;тоже не отрисовываются, хотя подключение есть и сама стратегия&lt;br /&gt;крутиться... Баг? Или что-то не так в том, что я делаю?&lt;br /&gt;&lt;br /&gt;Спасибо &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/815/</id>
    <title type="text">как дождаться снятия заявки</title>
    <published>2010-07-08T16:32:00Z</published>
    <updated>2010-07-08T16:32:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.ru/users/26822/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Михаил, а как в асинхронном режиме реализовать такое&lt;br /&gt;&lt;br /&gt;1.Снять заявку&lt;br /&gt;2.дождаться результат снятия - успешно снята или знятие не прошло&lt;br /&gt;&lt;br /&gt;мне нужно  отправить запрос на снятие и в результати от успеха/&lt;br /&gt;неуспеха снятия предпринимать те или иные действия &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/823/</id>
    <title type="text">свойство в класе Order</title>
    <published>2010-07-08T13:21:00Z</published>
    <updated>2010-07-08T13:21:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.ru/users/26822/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Михаил, если не трудно, сделайти плиз свойство, в ктором будет&lt;br /&gt;количество исполненых контрактов в заявке, а то я запарился писать&lt;br /&gt;order.Volume - order.Balance :) &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/825/</id>
    <title type="text">Была сделана попытка загрузить программу, имеющую неверный формат.</title>
    <published>2010-07-07T14:10:00Z</published>
    <updated>2010-07-07T14:10:00Z</updated>
    <author>
      <name>XMbIPb</name>
      <uri>https://stocksharp.ru/users/6200/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">VS ругается на эту строку: var trader = new QuikTrader(quikPath)..&lt;br /&gt;S# 1.7&lt;br /&gt;&lt;br /&gt;Что посоветуете? &lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/820/</id>
    <title type="text">Серьезный трабл с ассинхронным режимом</title>
    <published>2010-07-07T10:29:00Z</published>
    <updated>2010-07-07T10:29:00Z</updated>
    <author>
      <name>Tauler</name>
      <uri>https://stocksharp.ru/users/26822/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Михаил, у меня сложилось ощущение что ассинхронный режим работает&lt;br /&gt;иногда некорректно. поппытаюсь сейчас объяснить. Я пишу арбитражера,&lt;br /&gt;сут ье го работы - выставить заявку при появлении определенного&lt;br /&gt;сигнала и дальше 2 варианта - либо по исполнении ее выброзить еще одну&lt;br /&gt;заявку, либо , если сигнал ушел - снять первую заявку.&lt;br /&gt;&lt;br /&gt;Это преамбула. (бага на версии 2.0.1, т.к. с 2.1 у меня известные вам&lt;br /&gt;траблы)&lt;br /&gt;&lt;br /&gt;Амбула - т.к. режим асинхронный, когда уходит сигнал, успевает пройти&lt;br /&gt;запрос на снятие раз 15, прежде чем заявка снимется и поменяет статус&lt;br /&gt;на Canceled, у меня как только заявка  становится Canceled или Matched&lt;br /&gt;срабатывает ветка в коде, кторая проверяет Volume-Blance и на эту&lt;br /&gt;разницу выкидывает вторую заявку (если Canceled), либо (если Matched)&lt;br /&gt;выкидывают вторую заявку на Volume первой.И у меня складывается&lt;br /&gt;ощущения, что в какой то момент сбивается или нарушается (не знаю как&lt;br /&gt;скзаать) процесс обновления полей в экземпляре заявки. Как эт&lt;br /&gt;овыглядит (в прилагаемом скрине, я далее для удобства буду давать&lt;br /&gt;только послдение 4 цифры номера заявки)&lt;br /&gt;&lt;br /&gt;Сработал сигнал, выставилась заявка 6984, сигнал ушел, я отправляю&lt;br /&gt;trader.CancelOrder(order) до тех пор пока order.State != Canceled. как&lt;br /&gt;только Canceled, делаю order = null и дальше слушать сигнал.В логах&lt;br /&gt;так и написано - заявка стала Canceled, Balance = 2&lt;br /&gt;&lt;br /&gt;Сигнал срабатывает второй раз, выставялю снвоа заявку order = new&lt;br /&gt;Order () .... (перменная та же самая),&lt;br /&gt;trader.RegisterOrder(order). Высталяется заявка (номер у нее  8248)&lt;br /&gt;Что происходит далее - на бирже заявка исполняется, но сигнал уходит.&lt;br /&gt;Робот честно пытается ее отменить до тех пор, пока статус у нее&lt;br /&gt;Active. как только статус заявки меняется на Исполнена(в квике), робот&lt;br /&gt;видит изменение статуса, но! в логах пишет мне что заявка Canceled, и&lt;br /&gt;Balance у нее 2. (то есть данные из заявки 6984). ну и соответсвенно&lt;br /&gt;не выкидаывает правую часть. и другая бага (наверно изза тгого, что&lt;br /&gt;уходит  10-15 запросов на снятие заявки до тех пора пока она станет&lt;br /&gt;Canceled  - были случаи ,когда аявки часто тсавилис снимались, что&lt;br /&gt;например идут заявки   1,2,3,4,5,6   , они выставляются- снимают, но&lt;br /&gt;по логам заявка под номером например 4 вообще не снималась.То есть&lt;br /&gt;робот ее не снимал.Может быть это изза тго, что между первым запросом&lt;br /&gt;на снятие и реальным изменением ее статуса на Canceled на сервер&lt;br /&gt;уходит штук 15 транзакций на снятие?&lt;br /&gt;&lt;br /&gt;скрин списка заявок - файл 07.07.png&lt;br /&gt; &lt;br /&gt; </content>
  </entry>
</feed>