﻿<?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=264</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-04T05:34:14Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=264" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/1415/</id>
    <title type="text">Иногда не создается текущая свеча</title>
    <published>2011-03-03T14:47:41Z</published>
    <updated>2011-03-03T14:47:41Z</updated>
    <author>
      <name>dart</name>
      <uri>https://stocksharp.ru/users/28358/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Собственно сабж. Обычно всё работает нормально. Но иногда случаются затыки, например, сегодня с 16:31 до 16:54 не создавалась текущая свечка (выдавало null), gettrades тоже не работал в это время.&lt;br /&gt;Иногда само проходит, иногда перезапускаю робота.&lt;br /&gt;Может кто сталкивался с этим?&lt;br /&gt;Версия 2.6.2.&lt;br /&gt;Самое интересное что сегодня это произошло практически в одно время на двух компах с разными брокерами.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1414/</id>
    <title type="text">проверка на время биржи при загрузке истории</title>
    <published>2011-03-03T09:32:50Z</published>
    <updated>2011-03-03T09:32:50Z</updated>
    <author>
      <name>Greene-nsk</name>
      <uri>https://stocksharp.ru/users/27932/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="SmartCom" />
    <content type="html">Робот крутится на виртуальной машинке, у которой часы идут медленно, часто начинают запаздывать. Вы в SmartTrader.RegisterHistoryData сравниваете MarketTime (которое на самом деле не время биржи, а время на машине) с датой конца истории. Можно ее убрать? Если нет, то в чем ее смысл? Она реально мешает.&lt;br /&gt;&lt;br /&gt;03.03.2011 11:57:44 [OpenWealth.HeadRealTrade.OnNewCandle] Свечка сформирована: 03.03.2011 11:59:00&lt;br /&gt;03.03.2011 11:58:00 [OpenWealth.DataProviders.History.Bars] Надо подгрузить дополнительные бары со стороны окончания.&lt;br /&gt;03.03.2011 11:58:00 [OpenWealth.StockSharp.TraderLoadHistory.Load] Затребовано получение истории: RTS-3.11 1min 03.03.2011 11:56:01 - 03.03.2011 11:59:01&lt;br /&gt;03.03.2011 11:58:00 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии SA errorStates: Error str: System.ArgumentOutOfRangeException: Параметр from не может быть больше текущего времени биржи.&lt;br /&gt;Имя параметра: from&lt;br /&gt;Фактическое значение было 03.03.2011 11:58:01.&lt;br /&gt;   в Ecng.Trading.Smart.SmartTrader.RegisterHistoryData(Security security, SmartTimeFrames timeFrame, DateTime from, Int32 count, SmartHistoryDirections direction)&lt;br /&gt;   в OpenWealth.StockSharp.TraderLoadHistory.Load(String symbolName, BarDataScale scale, DateTime startDate, DateTime endDate)</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1413/</id>
    <title type="text">Ручное изменение Order.State</title>
    <published>2011-03-03T06:27:52Z</published>
    <updated>2011-03-03T06:27:52Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Михаил, добрый день.&lt;br /&gt;Если вручную изменить Order.State, будет ли вызвано событие QuikTrader.OrdersChanged  ?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1412/</id>
    <title type="text">извещение о потере соединения</title>
    <published>2011-03-02T20:40:32Z</published>
    <updated>2011-03-02T20:40:32Z</updated>
    <author>
      <name>igork</name>
      <uri>https://stocksharp.ru/users/6303/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="SmartCom" />
    <content type="html">Извиняюсь, если не дочитал документацию. &lt;br /&gt;&lt;br /&gt;Есть метод ReConnectionSettings.ConnectionRestored += () =&amp;gt; .....&lt;br /&gt;&lt;br /&gt;очень удобно, можно подписаться на уведомление об успешном переподключении. Нельзя ли добавить&lt;br /&gt;&lt;br /&gt;ReConnectionSettings.ConnectionMissed += error =&amp;gt; .....&lt;br /&gt;, которое делегировалось бы при потере соединения и начале попыток переподключения? В примерах корректной обработки не нашел. По хорошему, в это время неплохо было бы и робота перевести в пассивное состояние. &lt;br /&gt;&lt;br /&gt;Спасибо. &lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1411/</id>
    <title type="text">Выставление заявок [3.0.9]</title>
    <published>2011-03-02T20:05:11Z</published>
    <updated>2011-03-02T20:05:11Z</updated>
    <author>
      <name>vvt</name>
      <uri>https://stocksharp.ru/users/34/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Quik Junior 5.17.0.139&lt;br /&gt;При выставлении новой заявки из примера Sample версии [3.0.9] получаю ошибку:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Ecng.Trading.Quik.ApiException: Код ошибки WrongSyntax Сообщение ACCOUNT=SPBFUT00835; CLIENT_CODE=S#; TRANS_ID=80516132; CLASSCODE=SPBFUT; SECCODE=RIH1; QUANTITY=1; OPERATION=S; TYPE=L; ACTION=NEW_ORDER; PRICE=199275; EXECUTION_CONDITION=PUT_IN_QUEUE;&lt;br /&gt;&lt;br /&gt;   в #=qac0nNAJEGBw62vOjJ9yeaj58IL_ktqeS2mifN_IoeGk9EhOFYtiaglaK95x2THWB.#=q7yWqpeFYntAApd9e8mWD6g==(Int32 #=qIUrYyaXumrpTKzCH0$1iQA==, StringBuilder #=qXeb3xrfWJSgZG2iDGbk0jA==)&lt;br /&gt;&lt;br /&gt;   в #=qQdDXPJNmOZkUharo7Q3899hftZvE_jes52N$a7jPf20=.#=qm138Xpa3NkDK4rZ3cHlq8PJirWoVuLi_or7nTMLGf$Y=(String #=qG3qYfxe9sl6d1pdF4HEolg==, OrderStatus&amp;amp; #=qGSYg5yDF0dQXI374mDC0oA==, UInt32&amp;amp; #=q$lUpb$l03HK7ud9DnWASJA==, Int64&amp;amp; #=qny2mzthcTI5DnWb0qKYcnw==, String&amp;amp; #=qQFyc5u0EPSJTjHoNsMO2OQ==)&lt;br /&gt;&lt;br /&gt;   в Ecng.Trading.Quik.QuikTrader.#=qgVcKFnnJAtzgXabGrYAS6sEPxkR9hqkQ0xsGeH_qGqo=(Order #=qJVm9bOTXARJNPXXDe0FhtA==, TransactionBuilder #=qdhCZqwJUC1AJIYjmYMTbQA==)&lt;br /&gt;&lt;br /&gt;   в Ecng.Trading.Quik.QuikTrader.OnRegisterOrder(Order order)&lt;br /&gt;&lt;br /&gt;   в Ecng.Trading.Algo.BaseTrader.RegisterOrder(Order order)&lt;br /&gt;&lt;br /&gt;   в Sample.NewOrderWindow.Send_Click(Object sender, RoutedEventArgs e) в E:\StockSharpReleases\StockSharp_3.0.9\Sources\Sample\NewOrderWindow.xaml.cs:строка 29&lt;br /&gt;&lt;br /&gt;   в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)&lt;br /&gt;&lt;br /&gt;   в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)&lt;br /&gt;&lt;br /&gt;   в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)&lt;br /&gt;&lt;br /&gt;   в System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Controls.Primitives.ButtonBase.OnClick()&lt;br /&gt;&lt;br /&gt;   в System.Windows.Controls.Button.OnClick()&lt;br /&gt;&lt;br /&gt;   в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)&lt;br /&gt;&lt;br /&gt;   в System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)&lt;br /&gt;&lt;br /&gt;   в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)&lt;br /&gt;&lt;br /&gt;   в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)&lt;br /&gt;&lt;br /&gt;   в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)&lt;br /&gt;&lt;br /&gt;   в System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)&lt;br /&gt;&lt;br /&gt;   в System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)&lt;br /&gt;&lt;br /&gt;   в System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)&lt;br /&gt;&lt;br /&gt;   в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)&lt;br /&gt;&lt;br /&gt;   в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)&lt;br /&gt;&lt;br /&gt;   в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)&lt;br /&gt;&lt;br /&gt;   в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)&lt;br /&gt;&lt;br /&gt;   в System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Input.InputManager.ProcessStagingArea()&lt;br /&gt;&lt;br /&gt;   в System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)&lt;br /&gt;&lt;br /&gt;   в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)&lt;br /&gt;&lt;br /&gt;   в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)&lt;br /&gt;&lt;br /&gt;   в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1410/</id>
    <title type="text">Как сделать собственную реализацию ITrader?</title>
    <published>2011-03-02T19:57:30Z</published>
    <updated>2011-03-02T19:57:30Z</updated>
    <author>
      <name>aleksey</name>
      <uri>https://stocksharp.ru/users/28490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;br /&gt;Хочу реализовать интерфейс ITrader, для биржи электронной валюты, как лучше это сделать, наследоваться от BaseTrader и реализовывать его абстрактные методы, что делает этот класс? Есть ли какие нибудь примеры, или может можно посмотреть исходники готовых Trader-ов? Почитал Документацию, там только общие описания этих классов, а хотелось бы понять как устроен трейдер, и алгоритм его работы?&lt;br /&gt;Заранее спасибо за любую информацию!</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1409/</id>
    <title type="text">перерегистрация частично исполненных заявок</title>
    <published>2011-03-02T17:01:22Z</published>
    <updated>2011-03-02T17:01:22Z</updated>
    <author>
      <name>Greene-nsk</name>
      <uri>https://stocksharp.ru/users/27932/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="SmartCom" />
    <content type="html">Подскажите, пожалуйста. В мануале есть пример перерегистрации заявки:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;br /&gt;// registeredOrder - это ранее зарегистрированная заявка.&lt;br /&gt;var newOrder = registeredOrder.Clone();&lt;br /&gt;&lt;br /&gt;// изменяем цену на лучшую&lt;br /&gt;newOrder.Price = (registeredOrder.Direction == OrderDirections.Buy ? registeredOrder.Security.BestBid : registeredOrder.Security.BestAsk).Price;&lt;br /&gt;&lt;br /&gt;// заменяем заявку на бирже&lt;br /&gt;trader.ReRegisterOrder(registeredOrder, newOrder);&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Что будет, если до этого вызывалось base.RegisterOrder(registeredOrder) и уже было частично исполнено? Новая заявка выставится с первоначальным объемом или с остатком?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1408/</id>
    <title type="text">Проверка лимитов по бумагам в Квике.</title>
    <published>2011-03-02T15:16:08Z</published>
    <updated>2011-03-02T15:16:08Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Уважаемые, а кто как проверяет лимиты на покупку и продажу бумаг?&lt;br /&gt;Имею ввиду сколько максимум можно купить или продать бумаг на текущий момент.&lt;br /&gt;&lt;br /&gt;Экспериментирую, пробую брать эту информацию из колонок &amp;#171;Покупка&amp;#187; и &amp;#171;Продажа&amp;#187; в таблице &amp;#171;Купить/Продать&amp;#187;.&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/1407/</id>
    <title type="text">System.ArgumentException: Котировка для направления Sell отсутствует</title>
    <published>2011-03-02T14:29:13Z</published>
    <updated>2011-03-02T14:29:13Z</updated>
    <author>
      <name>Greene-nsk</name>
      <uri>https://stocksharp.ru/users/27932/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Михаил, подскажите, пожалуйста, как исправить ошибку ниже. Возникает, когда пытаюсь вывести Strategy.PnLManager.PnL для стратегии с открытой позицией. ITrader.RegisterTrades(sec) и ITrader.RegisterSecurity(sec) включены.&lt;br /&gt;&lt;br /&gt;02.03.2011 17:18:14 [OpenWealth.App.Application_DispatcherUnhandledException] ERROR: System.ArgumentException: Котировка для направления Sell отсутствует.&lt;br /&gt;Имя параметра: bestPair&lt;br /&gt;   в Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepthPair bestPair, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType)&lt;br /&gt;   в Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepth depth, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType)&lt;br /&gt;   в Ecng.Trading.Algo.TraderHelper.GetMarketPrice(Security security, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType)&lt;br /&gt;   в Ecng.Trading.Algo.TraderHelper.GetPnL(Security security, Int64 position)&lt;br /&gt;   в Ecng.Trading.Algo.PnL.BasePnLManager.#=qJB5HDVQMjIWyaTsSR8dl5w==(KeyValuePair`2 #=qJ8PTB48xQQh2AcJExKLQBw==)&lt;br /&gt;   в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()&lt;br /&gt;   в System.Linq.Enumerable.Sum(IEnumerable`1 source)&lt;br /&gt;   в System.Linq.Enumerable.Sum[TSource](IEnumerable`1 source, Func`2 selector)&lt;br /&gt;   в Ecng.Trading.Algo.PnL.BasePnLManager.#=qU1sTEx5tVceTuo6N31mHjw==(SynchronizedDictionary`2 #=qrzpe0NbHwmroErBMq8cIiQ==)&lt;br /&gt;   в Ecng.Collections.CollectionHelper.SyncGet[TCollection,TResult](TCollection collection, Func`2 func)&lt;br /&gt;   в Ecng.Trading.Algo.PnL.BasePnLManager.get_PnL()&lt;br /&gt;   в OpenWealth.GUI.RTMainWindow.UpdateStrategyProperties(StrategyAdapter sAdapter)</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1406/</id>
    <title type="text">SecurityBasket</title>
    <published>2011-03-01T21:47:19Z</published>
    <updated>2011-03-01T21:47:19Z</updated>
    <author>
      <name>vvt</name>
      <uri>https://stocksharp.ru/users/34/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Создаем корзину инструментов:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;_securityBasket = new SecurityBasket();&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;добавляем в нее инструменты:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;_securityBasket.Securities.Add(_sec1);&lt;br /&gt;_securityBasket.Securities.Add(_sec2);&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;регистрируем стратегию:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;_manager.Register(_strategy, _portfolio, _securityBasket);&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;код реализации:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;class TestStrategy : ActionStrategy&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;protected override StrategyProcessResults OnProcess()&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// создаем заявку&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;var order = base.CreateOrder(OrderDirections.Buy, base.Security.GetMarketPrice(OrderDirections.Buy), base.Volume);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// регистрируем заявку (через котирование)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit());&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;base.ChildStrategies.Add(strategy);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;return StrategyProcessResults.Continue;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;естественно ругается на base.Security.GetMarketPrice()&lt;br /&gt;&lt;br /&gt;Вопрос: как в коде реализации стратегии получить рыночную цену по инструменту _sec1 (или BestAsk) из корзины инструментов _securityBasket?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1405/</id>
    <title type="text">Security.MaxPrice и Security.MinPrice</title>
    <published>2011-03-01T14:32:57Z</published>
    <updated>2011-03-01T14:32:57Z</updated>
    <author>
      <name>Артем</name>
      <uri>https://stocksharp.ru/users/16716/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Добрый день!&lt;br /&gt;При появлении Security через SecuritiesChanged значения &lt;br /&gt;Security.MaxPrice и Security.MinPrice все время равны 0. Биржа РТС. Пробовал запускать Verifier не помогает. Последовательность колонок 100000 раз перепроверял. Чего может быть?&lt;br /&gt;Заранее спасибо!</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1404/</id>
    <title type="text">Портфель по деривативам (Ограничения по клиентским счетам)</title>
    <published>2011-02-28T13:38:28Z</published>
    <updated>2011-02-28T13:38:28Z</updated>
    <author>
      <name>freelancer</name>
      <uri>https://stocksharp.ru/users/28572/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Здравствуйте. Пытаюсь выгрузить по DDE эту таблицу - не идут данные. Делаю как в примере SampleDdeCustomTable. Может с ней надо как-то по особенному поступать ?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1403/</id>
    <title type="text">Вопрос по архитектуре библиотеки</title>
    <published>2011-02-28T08:29:38Z</published>
    <updated>2011-02-28T08:29:38Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Добрый день.&lt;br /&gt;&lt;br /&gt;Предположим, что необходимо получать данные по инструментам, для этого мы добавляем нужные столбцы в квике и в программе, подписываемся на событие новой записи и изменения данных в таблице Secirities и в обработчике Trader.Connected запускаем экспорт по DDE этой таблицы.&lt;br /&gt;Данные поступают, мы их видим как в обработчиках событий, так и в таблице Trader.Securities. Далее есть два варианта:&lt;br /&gt;1. в любой момент времени мы можем обратиться к данной таблице из кода стратегии и прочитать нужные нам данные;&lt;br /&gt;2. в обработчиках событий копировать поступившие данные в свои структуры и в стратегии работать со своими данными.&lt;br /&gt;&lt;br /&gt;Интересует такой вот момент, во втором случае разработчик сам занимается вопросом согласованности данных, т.е. любая запись и доступ к данным заключены в блок синхронизации и в любой момент времени данные у нас согласованы. Каким образом обстоит дело в первом случае?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1402/</id>
    <title type="text">SlippageManager</title>
    <published>2011-02-28T06:44:24Z</published>
    <updated>2011-02-28T06:44:24Z</updated>
    <author>
      <name>Артем</name>
      <uri>https://stocksharp.ru/users/16716/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Доброго времени суток!&lt;br /&gt;Помогите, пожалуйста, разобраться с механизмом SlippageManager... Сталкнулся со следующей проблемой:&lt;br /&gt;Имеются базовая и дочерня стратегии, в дочерней стратегии создается дочерняя стратегия котирования:&lt;br /&gt;&lt;br /&gt;Ecng.Trading.Algo.Strategies.MarketQuotingStrategy strategy = new Ecng.Trading.Algo.Strategies.MarketQuotingStrategy(&lt;br /&gt;                    order,&lt;br /&gt;                    new Ecng.Trading.BusinessEntities.Unit(),&lt;br /&gt;                    new Ecng.Trading.BusinessEntities.Unit());&lt;br /&gt;                strategy.IsForts = true;&lt;br /&gt;                strategy.Interval = TimeSpan.FromTicks(1);&lt;br /&gt;                strategy.PriceType = Ecng.Trading.Algo.MarketPriceTypes.Following;&lt;br /&gt;                strategy.PriceDelta = 0;&lt;br /&gt; &lt;br /&gt;                ChildStrategies.Add(strategy);&lt;br /&gt;                //регистрация проскальзывания&lt;br /&gt;                strategy.NewOrder += (new_order) =&amp;gt;&lt;br /&gt;                {&lt;br /&gt;                    strategy.SlippageManager.RegisterSlippage(new_order);&lt;br /&gt;                };&lt;br /&gt;&lt;br /&gt;                strategy.Start();&lt;br /&gt;&lt;br /&gt;Далее при опросе SlippageManager.Slippage для самой верхней базовой стратегии всегда возвращается 0, хотя заявки выполняются по ценам, отличным от заданных в order при создании стратегии квотирования. Вопрос в том, почему не считается проскальзывание?&lt;br /&gt;&lt;br /&gt;Заранее спасибо!&lt;br /&gt;&lt;br /&gt;P.S.&lt;br /&gt;Попробовал сразу регистрировать Order для базовой стратегии без котирования, все равно проскальзывание не считается. Непонятно как для фьючерсов раработает механизм</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1401/</id>
    <title type="text">Создание индикаторов на S#!</title>
    <published>2011-02-27T21:02:40Z</published>
    <updated>2011-02-27T21:02:40Z</updated>
    <author>
      <name>artos027</name>
      <uri>https://stocksharp.ru/users/27879/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Доброго времени суток!&lt;br /&gt;НЕ могу не высказать бесконечное спасибо и респект Михаилу за такой проект[thumbup] &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;Заранее всем спасибо))[biggrin] </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1400/</id>
    <title type="text">Учет комиссий</title>
    <published>2011-02-27T09:33:19Z</published>
    <updated>2011-02-27T09:33:19Z</updated>
    <author>
      <name>tradist</name>
      <uri>https://stocksharp.ru/users/27991/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">Добрый день!&lt;br /&gt;&lt;br /&gt;А какой правильный способ учета комиссий брокера при тестировании? Пользователь должен сам у себя считать или это в планируемых фичах? :)&lt;br /&gt;&lt;br /&gt;Хорошо бы иметь несколько распространенных вариантов: процент от сделки, фиксированная плата, фиксированная/контракт.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1399/</id>
    <title type="text">Exception при выключенном Квике</title>
    <published>2011-02-26T14:00:26Z</published>
    <updated>2011-02-26T14:00:26Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Если закрыть квик, а после вызвать MultiTrader.Dispose(), то появляется следующий Exception (через ProcessDataError):&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;System.InvalidOperationException: Нет информации о главном окне Quik. Возможно, было неуспешное подключение.&lt;br /&gt;   at Ecng.Trading.Quik.QuikTerminal.#=qGbzhp48kD0JaPm3iYiSrOByTg2rrF7KP$ZU2BKP7F0w=()&lt;br /&gt;   at Ecng.Trading.Quik.QuikTerminal.get_SystemProcess()&lt;br /&gt;   at Ecng.Trading.Quik.QuikTerminal.#=qJyL1eH$Ax$caqdhRw3tPl4IRpHewakokVcsX7r5fd0s=(SystemWindow #=qnHYA9QfL7wHksvtgpAk25Q==)&lt;br /&gt;   at System.Linq.Enumerable.&amp;lt;&amp;gt;c__DisplayClassf`1.&amp;lt;CombinePredicates&amp;gt;b__e(TSource x)&lt;br /&gt;   at System.Linq.Enumerable.&amp;lt;&amp;gt;c__DisplayClassf`1.&amp;lt;CombinePredicates&amp;gt;b__e(TSource x)&lt;br /&gt;   at System.Linq.Enumerable.WhereArrayIterator`1.MoveNext()&lt;br /&gt;   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)&lt;br /&gt;   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)&lt;br /&gt;   at Ecng.Trading.Quik.QuikTerminal.#=qqOE5tozRGYYh4i20ozsQbg==()&lt;br /&gt;   at Ecng.Trading.Quik.QuikTerminal.#=qf7tHmu4JbnZCzkQ3pbFAMYwh5NYet5698_tHiYYisVc=()&lt;br /&gt;   at Ecng.Trading.Quik.QuikTerminal.StopDde(String caption)&lt;br /&gt;   at Ecng.Trading.Quik.QuikTerminal.#=qRgC6Y3r9dTcXyrlGEZu_KQ==(IEnumerable`1 #=qd2GJpU5pR4hI8VrI5b$e_w==)&lt;br /&gt;   at Ecng.Trading.Quik.QuikTerminal.StopActiveDdeExport()&lt;br /&gt;   at Ecng.Trading.Quik.QuikTrader.DisposeManaged()&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Версия Stock# 3.0.8. Могу ошибаться, но на 2.6 подобного не было.&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;        protected override void DisposeManaged()&lt;br /&gt;        {&lt;br /&gt;            if (IsConnected &amp;amp;&amp;amp; !Terminal.SystemProcess.HasExited)&lt;br /&gt;                base.DisposeManaged();&lt;br /&gt;        }&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вообще возникают разного рода Exception при выключенном квике и когда дёргаешь те или иные методы от ITrader:&lt;br /&gt;StartExport/StopExport&lt;br /&gt;RestartExport&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;Я не уверен где должны стоять проверки на подключение к квику - внутри библиотеки или реализовывать внутри архитектуры?&lt;br /&gt;&lt;br /&gt;Для RestartExport у меня, к примеру, сделано следующее:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;        public override void ReStartExport()&lt;br /&gt;        {&lt;br /&gt;            if (IsConnected &amp;amp;&amp;amp; !Terminal.SystemProcess.HasExited)&lt;br /&gt;                base.ReStartExport();&lt;br /&gt;        }&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Перед вызовом StartExport\StopExpoке я проверяю что MultiTrader подключен:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;        private bool IsMultiTraderConnected()&lt;br /&gt;        {&lt;br /&gt;            if (!_multiTrader.IsConnected)&lt;br /&gt;                return false;&lt;br /&gt;&lt;br /&gt;            var ownQuikTraderCollection = _multiTrader.AggregatedTraders.OfType&amp;lt;OwnQuikTrader&amp;gt;();&lt;br /&gt;            return ownQuikTraderCollection.Count() &amp;gt; 0 &amp;amp;&amp;amp;&lt;br /&gt;                ownQuikTraderCollection.All(quikTrader =&amp;gt; quikTrader.IsConnected &amp;amp;&amp;amp; !quikTrader.Terminal.SystemProcess.HasExited);&lt;br /&gt;        }&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Имеет ли смысл это добавлять в библиотеку Stock# и выдавать более понятные сообщения вместо ProcessDataError?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1398/</id>
    <title type="text">Сохранение параметров стратегии</title>
    <published>2011-02-26T11:03:52Z</published>
    <updated>2011-02-26T11:03:52Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">У всех множество стратегий и у каждой стратегии обычно есть параметры.&lt;br /&gt;&lt;br /&gt;Кто как создаёт структуру этих параметров в коде на C#?&lt;br /&gt;&lt;br /&gt;Как классы, наследующие один и тот же интерфейс?&lt;br /&gt;Или как dictionary&amp;lt;string, object&amp;gt; - сопоставление имени параметра на значение?&lt;br /&gt;&lt;br /&gt;Есть ли в C# более удобные классы для сохранения параметров?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1397/</id>
    <title type="text">Запаздывание MarketTime в Квике</title>
    <published>2011-02-25T23:25:18Z</published>
    <updated>2011-02-25T23:25:18Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">В квике (5.18, Открытие) серверное время, которое отображается в левом углу квика и фактически которое записывается в MarketTime постоянно запаздывает на 3 секунды. Фактически из-за этого все данные - свечки, я тоже получаю с задержкой.&lt;br /&gt;&lt;br /&gt;Можно ли и стоит ли с этим бороться? :)&lt;br /&gt;&lt;br /&gt;Или оставить текущее решение - просто переопределить MarketTime, которое будет возвращать DateTime.Now (при этом системные часы должны быть синхронизированы...)?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1396/</id>
    <title type="text">Неправильные свечи в CandleManager</title>
    <published>2011-02-25T23:21:34Z</published>
    <updated>2011-02-25T23:21:34Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Сегодня на фьючерсе РТС Close свечки 10:55-11:00 был 189805, в Stock# - 189800&lt;br /&gt;Open свечки 11:00 - 11:05 на фортсе (смотрел через квик и финамовские данные) - 189810, в Stock# - 189830&lt;br /&gt;&lt;br /&gt;В квике во всех сделках первая сделка была также по 189810:&lt;br /&gt;&lt;a href='http://i2.pixs.ru/storage/6/5/3/allppng_4891994_1762653.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://i2.pixs.ru/storage/6/5/3/allppng_4891994_1762653.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Переход от 189800 к 189830 был осуществлён в 11:00:00 - 11:00:01 (видно также на этом скриншоте). Может как-то с этим связано - первая секунда новой 5-минутки записывается в предыдущую свечку?</content>
  </entry>
</feed>