﻿<?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=160</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-19T00:59:31Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=160" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/3603/</id>
    <title type="text">ChartOrderElement - странная отрисовка стопов</title>
    <published>2013-04-22T08:53:44Z</published>
    <updated>2013-04-22T08:53:44Z</updated>
    <author>
      <name>VassilSanych</name>
      <uri>https://stocksharp.ru/users/6491/</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/3602/</id>
    <title type="text">ChartTradeElement - все сделки Sell</title>
    <published>2013-04-22T08:49:58Z</published>
    <updated>2013-04-22T08:49:58Z</updated>
    <author>
      <name>VassilSanych</name>
      <uri>https://stocksharp.ru/users/6491/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Алготрейдинг" />
    <content type="html">При отрисовке сделок с помощью ChartTradeElement почему-то все сделки обозначаются красной стрелкой вниз.&lt;br /&gt;(в журнале у меня по тому же событию сделки пишутся, на продажу и на покупку, т.е. со статусом в событии проблемы скорее всего нет)&lt;br /&gt;В чём может быть проблема? Где копать?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3600/</id>
    <title type="text">Новый способ установки S#.WealthLab</title>
    <published>2013-04-21T06:13:34Z</published>
    <updated>2013-04-21T06:13:34Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">Для удобства пользователей, &lt;b&gt;S#.WealthLab&lt;/b&gt; теперь устанавливается/обновляется также как &lt;a href="http://stocksharp.com/forum/3465/Ustanovka-S--Studio/" title="http://stocksharp.com/forum/3465/Ustanovka-S--Studio/"&gt;&lt;b&gt;S#.Studio&lt;/b&gt;&lt;/a&gt; и &lt;a href="http://stocksharp.com/forum/3547/Novyi-sposob-ustanovki-S--Data-Gidra/" title="http://stocksharp.com/forum/3547/Novyi-sposob-ustanovki-S--Data-Gidra/"&gt;&lt;b&gt;S#.Data&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Т.е. больше нет необходимости следить за новыми обновлениями, т.к. &lt;b&gt;S#.WealthLab&lt;/b&gt; сам проверяет наличие новых версий. При наличии новой версии достаточно при запуске Wealth-Lab дать согласие на обновление адаптера.&lt;br /&gt;&lt;br /&gt;Что для этого надо сделать.&lt;br /&gt;&lt;br /&gt;Зайти на сайте &lt;a href="http://www.stocksharp.com/" title="http://www.stocksharp.com/"&gt;http://www.stocksharp.com/&lt;/a&gt; в &lt;a href="http://www.stocksharp.com/products/download/" title="http://www.stocksharp.com/products/download/"&gt;раздел скачивания&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102335/wealth_1.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102335/wealth_1.jpg?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Скачать &lt;b&gt;WealthLab.zip&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102336/wealth_2.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102336/wealth_2.jpg?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Распаковать &lt;b&gt;WealthLab.zip&lt;/b&gt; в папку с установленным Wealthlab 6.4 x86. Например по адресу C:\Program Files (x86)\MS123\Wealth-LabDeveloper 6 (не забыть &lt;a href="http://stocksharp.com/posts/m/24707/" title="http://stocksharp.com/posts/m/24707/"&gt;разблокировать&lt;/a&gt;) и запустить &lt;b&gt;WealthLab.StockSharp.Update.exe&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102337/wealth_3.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102337/wealth_3.jpg?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Далее необходимо настроить адаптер согласно &lt;a href="http://stocksharp.com/doc/html/b65b25d8-871b-4d37-bfd4-c85e02996f99.htm" title="http://stocksharp.com/doc/html/b65b25d8-871b-4d37-bfd4-c85e02996f99.htm"&gt;инструкции&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;При запуске WealthLab-а, при наличии новых версий &lt;b&gt;S#.WealthLab&lt;/b&gt; адаптера, будет показано окно с предложением выполнить обновление:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102338/wealth_4.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102338/wealth_4.jpg?size=800x800" alt=""/&gt;&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3599/</id>
    <title type="text">Урок 2. Потоковые данные (сделки, котировки). Шаблон для универсального (безопасного) подключения.</title>
    <published>2013-04-20T13:08:12Z</published>
    <updated>2013-04-20T13:08:12Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;b&gt;&lt;span style="font-size:120%"&gt;Видео-уроки:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Создание обертки коннекторов (шаблон для подключений)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167470507&amp;amp;hash=5aed0d16f3d8cb3b&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Работа с потоковыми данными&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167477199&amp;amp;hash=974c22b650016bee&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Видео-уроки (экстра):&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Работа с котировками, отслеживание сигналов&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[vk]http://vk.com/video_ext.php?oid=-66650972&amp;amp;id=167477299&amp;amp;hash=130700df674df7af&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Темы занятия:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Создание безопасной обертки (шаблона) для различных коннекторов&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Создание безопасного варианта универсального подключения&lt;br /&gt;&lt;li&gt;Создание элемента управления для работы с коннектором (подключение, отключение, инструменты)&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Потоковые данные&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Котировки&lt;br /&gt;&lt;li&gt;Сделки&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Создание приложения, отображающего потоковые данные&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Вывод всех сделок в окно&lt;br /&gt;&lt;li&gt;Создание визуального стакана котировок&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Домашнее задание:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Вывести в окно значение латентности и время последнего обновления стакана.&lt;br /&gt;&lt;li&gt;Добавить в окно второй стакан глубиной в 5.&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Полезные ссылки:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/html/T_StockSharp_BusinessEntities_MarketDepth.htm" title="http://stocksharp.com/doc/html/T_StockSharp_BusinessEntities_MarketDepth.htm"&gt;Класс MarketDepth&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/html/T_StockSharp_BusinessEntities_Quote.htm" title="http://stocksharp.com/doc/html/T_StockSharp_BusinessEntities_Quote.htm"&gt;Класс Quote&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/html/T_StockSharp_BusinessEntities_Trade.htm" title="http://stocksharp.com/doc/html/T_StockSharp_BusinessEntities_Trade.htm"&gt;Класс Trade&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Вложения:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rc9GNm78BSRg5Z4VassvwQDkRd2Zr9oYK0Wxc0eTuVnw" title="http://vk.com/docs?oid=-66650972"&gt;Скачать проекты&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Изменения в проектах:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_f0406d756b574f51ac65f193e2ed0dfb');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_f0406d756b574f51ac65f193e2ed0dfb' style='display:none'&gt;&lt;br /&gt;Проект StockSharp.TraderConnection&lt;br /&gt;Файл SafeConnection.cs&lt;br /&gt;&lt;br /&gt;В версии S# 4.1.19.1 настройки переподключения сгруппированы в следующие свойства:&lt;br /&gt;Trader.ReConnectionSettings.ConnectionSettings - настройки для подключения&lt;br /&gt;Trader.ReConnectionSettings.ExportSettings - настройки для экспорта&lt;br /&gt;&lt;br /&gt;В связи с чем, изменен вид указания интервала попыток подключений, теперь он внутри свойства ConnectionSettings.&lt;br /&gt;Возобновление экспорта теперь осуществляется автоматически, поэтому строка:&lt;br /&gt;Trader.ReConnectionSettings.IsReStartExport = true;&lt;br /&gt;более не нужна.&lt;br /&gt;&lt;br /&gt;Было:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        /// &amp;lt;summary&amp;gt;
        /// Подключиться безопасно к торговой платформе
        /// &amp;lt;/summary&amp;gt;
        public void ConnectSafe()
        {
            //Интервал переподключения
            Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);
            //Когда переподключаться
            Trader.ReConnectionSettings.WorkingTime = ExchangeBoard.Forts.WorkingTime;
            //Запускать ли заново экспрорт после переподключения
            Trader.ReConnectionSettings.IsReStartExport = true;
            //Подписаться на появление ошибки подключения от трейдера
            Trader.ConnectionError += OnNewException;
            //Подписаться на появление ошибок не выставленной заявки
            Trader.OrdersRegisterFailed += fails =&amp;gt; fails.ForEach(f =&amp;gt; OnNewException(f.Error));
            //Подписаться на событие успешного подключения к торговой платформе
            Trader.Connected += () =&amp;gt;
                                    {
                                        try
                                        {
                                            //Запустить экспорт данных из торговой платформы
                                            Trader.StartExport();
                                        }
                                        catch (Exception ex)
                                        {
                                            //Вызвать событие появления нового исключения
                                            OnNewException(ex);
                                        }
                                    };

            //Подключиться к торговой платформе
            Trader.Connect();
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Стало:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        public void ConnectSafe()
        {
            //Интервал переподключения
            Trader.ReConnectionSettings.ConnectionSettings.Interval = TimeSpan.FromSeconds(10);
            //Когда переподключаться
            Trader.ReConnectionSettings.WorkingTime = ExchangeBoard.Forts.WorkingTime;
            //Запускать ли заново экспрорт после переподключения
            //Trader.ReConnectionSettings.IsReStartExport = true;
            //Подписаться на появление ошибки подключения от трейдера
            Trader.ConnectionError += OnNewException;
            //Подписаться на появление ошибок не выставленной заявки
            Trader.OrdersRegisterFailed += fails =&amp;gt; fails.ForEach(f =&amp;gt; OnNewException(f.Error));
            //Подписаться на событие успешного подключения к торговой платформе
            Trader.Connected += () =&amp;gt;
                                    {
                                        try
                                        {
                                            //Запустить экспорт данных из торговой платформы
                                            Trader.StartExport();
                                        }
                                        catch (Exception ex)
                                        {
                                            //Вызвать событие появления нового исключения
                                            OnNewException(ex);
                                        }
                                    };

            //Подключиться к торговой платформе
            Trader.Connect();
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Начиная с версии S# 4.1.19.1 статус подключения коннектора вынесен в специальное свойство ConnectionState, которое может принимать следующие значения:&lt;br /&gt;Disconnected - Не активно,&lt;br /&gt;Disconnecting - В процессе отключения,&lt;br /&gt;Connected - В процессе подключения,&lt;br /&gt;Connecting - Подключение активно,&lt;br /&gt;Failed - Ошибка подключения&lt;br /&gt;&lt;br /&gt;Таким образом, теперь нет свойства IsConnected, а наличие статуса подключения мы можем получать от свойства ConnectionState.&lt;br /&gt;&lt;br /&gt;Было:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        public void DisConnectSafe()
        {
            //Если коннектор к торговой платформе не пуст и соединение установлено
            if (Trader != null &amp;amp;&amp;amp; Trader.IsConnected)
            {
                Trader.StopExport();
                Trader.Disconnect();
            }
        }
&lt;/pre&gt;
&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;&lt;pre class="brush:csharp"&gt;

        public void DisConnectSafe()
        {
            //Если коннектор к торговой платформе не пуст и соединение установлено
            if (Trader != null &amp;amp;&amp;amp; Trader.ConnectionState == ConnectionStates.Connected)
            {
                Trader.StopExport();
                Trader.Disconnect();
            }
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Было:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        public bool IsConnected
        {
            get
            {
                return Trader != null &amp;amp;&amp;amp; Trader.IsConnected;
            }
        }
&lt;/pre&gt;
&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;&lt;pre class="brush:csharp"&gt;

        public bool IsConnected
        {
            get
            {
                return Trader != null &amp;amp;&amp;amp; Trader.ConnectionState == ConnectionStates.Connected;
            }
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3598/</id>
    <title type="text">вылетает Exception</title>
    <published>2013-04-19T08:41:57Z</published>
    <updated>2013-04-19T08:41:57Z</updated>
    <author>
      <name>tourtika</name>
      <uri>https://stocksharp.ru/users/39055/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">версия 4.1.11&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;вылетает Exception&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

Exception:Thrown: &amp;quot;Требуемый объект не найден.
&amp;quot; (System.Security.Cryptography.CryptographicException)
A System.Security.Cryptography.CryptographicException was thrown: &amp;quot;Требуемый объект не найден.
&amp;quot;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;в строке &lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

Trader = new QuikTrader(Path.Text);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;лицензия номер 42860 установлена&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

[h]
 	mscorlib.dll!System.Security.Cryptography.CryptographicException.ThrowCryptographicException(int hr = {unknown})	
 	mscorlib.dll!System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(string fileName = {unknown}, object password = {unknown}, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags = {unknown})	
 	mscorlib.dll!System.Security.Cryptography.X509Certificates.X509Certificate.CreateFromSignedFile(string filename = {unknown})	
 	StockSharp.Algo.dll!StockSharp.Algo.Licensing.LicenseHelper.#=qIK7OFIa$yAkUGe_EpX$owg==()	
 	StockSharp.Algo.dll!StockSharp.Algo.Licensing.LicenseHelper.#=q$JHDqHbGS2gS3Zq8PrMHkMoXswey6biyTUDWThHiVm4=(System.Func&amp;lt;StockSharp.Algo.Licensing.License,bool&amp;gt; #=qqkg0GsHa8_O4y5uQTyDpgw== = {unknown})	
 	StockSharp.Algo.dll!StockSharp.Algo.Licensing.LicenseHelper.IsLicenseSupport(System.Type featureType = {unknown})	
 	StockSharp.Algo.dll!StockSharp.Algo.Licensing.LicenseHelper.StartValidation(object feature = {unknown}, System.Action failedAction = {unknown})	
 	StockSharp.Algo.dll!StockSharp.Algo.BaseTrader..ctor(Ecng.Interop.Platforms platform = {unknown}, bool checkLicense = {unknown})	
 	StockSharp.Quik.dll!StockSharp.Quik.QuikTrader..ctor(string path = {unknown})	
&amp;gt;	Sample.exe!Sample.MainWindow.ConnectClick(object sender = {unknown}, System.Windows.RoutedEventArgs e = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target = {unknown}, System.Windows.RoutedEventArgs routedEventArgs = {unknown})	
 	PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source = {unknown}, System.Windows.RoutedEventArgs args = {unknown}, bool reRaised = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender = {unknown}, System.Windows.RoutedEventArgs args = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs e = {unknown})	
 	PresentationFramework.dll!System.Windows.Controls.Primitives.ButtonBase.OnClick()	
 	PresentationFramework.dll!System.Windows.Controls.Button.OnClick()	
 	PresentationFramework.dll!System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs e = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.OnMouseLeftButtonUpThunk(object sender = {unknown}, System.Windows.Input.MouseButtonEventArgs e = {unknown})	
 	PresentationCore.dll!System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate genericHandler = {unknown}, object genericTarget = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler = {unknown}, object target = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target = {unknown}, System.Windows.RoutedEventArgs routedEventArgs = {unknown})	
 	PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source = {unknown}, System.Windows.RoutedEventArgs args = {unknown}, bool reRaised = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject sender = {unknown}, System.Windows.RoutedEventArgs args = {unknown}, System.Windows.RoutedEvent newEvent = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.OnMouseUpThunk(object sender = {unknown}, System.Windows.Input.MouseButtonEventArgs e = {unknown})	
 	PresentationCore.dll!System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate genericHandler = {unknown}, object genericTarget = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler = {unknown}, object target = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target = {unknown}, System.Windows.RoutedEventArgs routedEventArgs = {unknown})	
 	PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source = {unknown}, System.Windows.RoutedEventArgs args = {unknown}, bool reRaised = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender = {unknown}, System.Windows.RoutedEventArgs args = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs args = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs args = {unknown}, bool trusted = {unknown})	
 	PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea()	
 	PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input = {unknown})	
 	PresentationCore.dll!System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport inputReport = {unknown})	
 	PresentationCore.dll!System.Windows.Interop.HwndMouseInputProvider.ReportInput(System.IntPtr hwnd = {unknown}, System.Windows.Input.InputMode mode = {unknown}, int timestamp = {unknown}, System.Windows.Input.RawMouseActions actions = {unknown}, int x = {unknown}, int y = {unknown}, int wheel = {unknown})	
 	PresentationCore.dll!System.Windows.Interop.HwndMouseInputProvider.FilterMessage(System.IntPtr hwnd = {unknown}, MS.Internal.Interop.WindowMessage msg = {unknown}, System.IntPtr wParam = {unknown}, System.IntPtr lParam = {unknown}, ref bool handled = {unknown})	
 	PresentationCore.dll!System.Windows.Interop.HwndSource.InputFilterMessage(System.IntPtr hwnd = {unknown}, int msg = {unknown}, System.IntPtr wParam = {unknown}, System.IntPtr lParam = {unknown}, ref bool handled = {unknown})	
 	WindowsBase.dll!MS.Win32.HwndWrapper.WndProc(System.IntPtr hwnd = {unknown}, int msg = {unknown}, System.IntPtr wParam = {unknown}, System.IntPtr lParam = {unknown}, ref bool handled = {unknown})	
 	WindowsBase.dll!MS.Win32.HwndSubclass.DispatcherCallbackOperation(object o = {unknown})	
 	WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback = {unknown}, object args = {unknown}, int numArgs = {unknown})	
 	WindowsBase.dll!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(object source = {unknown}, System.Delegate method = {unknown}, object args = {unknown}, int numArgs = {unknown}, System.Delegate catchHandler = {unknown})	
 	WindowsBase.dll!System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority priority = {unknown}, System.TimeSpan timeout = {unknown}, System.Delegate method = {unknown}, object args = {unknown}, int numArgs = {unknown})	
 	WindowsBase.dll!MS.Win32.HwndSubclass.SubclassWndProc(System.IntPtr hwnd = {unknown}, int msg = {unknown}, System.IntPtr wParam = {unknown}, System.IntPtr lParam = {unknown})	
 	WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame frame = {unknown})	
 	WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame frame = {unknown})	
 	PresentationFramework.dll!System.Windows.Application.RunDispatcher(object ignore = {unknown})	
 	PresentationFramework.dll!System.Windows.Application.RunInternal(System.Windows.Window window = {unknown})	
 	PresentationFramework.dll!System.Windows.Application.Run(System.Windows.Window window = {unknown})	
 	PresentationFramework.dll!System.Windows.Application.Run()	
 	Sample.exe!Sample.App.Main()	
 	mscorlib.dll!System.AppDomain.ExecuteAssembly(string assemblyFile = {unknown}, System.Security.Policy.Evidence assemblySecurity = {unknown}, string[] args = {unknown})	
 	Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()	
 	mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state = {unknown})	
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext = {unknown}, System.Threading.ContextCallback callback = {unknown}, object state = {unknown}, bool ignoreSyncCtx = {unknown})	
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext = {unknown}, System.Threading.ContextCallback callback = {unknown}, object state = {unknown})	
 	mscorlib.dll!System.Threading.ThreadHelper.ThreadStart()	


[/h]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3597/</id>
    <title type="text">6 урок</title>
    <published>2013-04-18T21:25:16Z</published>
    <updated>2013-04-18T21:25:16Z</updated>
    <author>
      <name>Валентин Мирошниченко</name>
      <uri>https://stocksharp.ru/users/6156/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">[vk]http://vk.com/video_ext.php?oid=-66674131&amp;amp;id=167402168&amp;amp;hash=6a06bbd53d74a826&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Темы занятия 6 &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Написание сложных стратегий на основе&lt;br /&gt;&lt;li&gt;Нескольких тайм фреймов&lt;br /&gt;&lt;li&gt;Нескольких символов&lt;br /&gt;&lt;li&gt;Нескольких позиций&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3596/</id>
    <title type="text">5 урок</title>
    <published>2013-04-18T17:18:17Z</published>
    <updated>2013-04-18T17:18:17Z</updated>
    <author>
      <name>Валентин Мирошниченко</name>
      <uri>https://stocksharp.ru/users/6156/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">[vk]http://vk.com/video_ext.php?oid=-66674131&amp;amp;id=167402162&amp;amp;hash=1174a061e5e5d00c&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Темы занятия 5 &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Использование Visual Studio 2012 совместно с Wealth lab&lt;br /&gt;&lt;li&gt;Создание стратегии в Visual Studio 2012&lt;br /&gt;&lt;li&gt;Отладка стратегии с помощью Visual Studio 2012&lt;br /&gt;&lt;li&gt;Создание собственного индикатора&lt;br /&gt;&lt;li&gt;Создание собственного графика&lt;br /&gt;&lt;li&gt;Создание собственного PosSizer&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Что почитать по теме:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;1. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAA_BPYdS6F36dQ_hi4uKVix-meeroTR7i3E1KI8d7bf2g" title="http://www.wealth-lab.com/Wiki/"&gt;Wealth-Lab Development Guide&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3594/</id>
    <title type="text">Минимальный шаг цены 10 инструмента RIM3@RTS не соответствует самой цене 1</title>
    <published>2013-04-18T13:20:25Z</published>
    <updated>2013-04-18T13:20:25Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_4bf20ab54646413b975619c6c4a7247c');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_4bf20ab54646413b975619c6c4a7247c' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;
System.ArgumentException: Минимальный шаг цены 10 инструмента RIM3@RTS не соответствует самой цене 1.
Parameter name: minStepSize
   at #=qhBqOxQ5SIAbyY2y6N4BACFDFlQ_j1Q8yNEtvBOYqijcGVeDcDOSxfTG$NktAXwctZp34JExDBpwOQoEKZTC50Q==.#=q_vOdnDjt0o95tu6lpaSvEA==(List`1 #=qvi1hvqUL0DSx5vSH74$DGA==, Decimal #=qseJI7G69aeTL8l8DXFAQXw==, Decimal #=qFLu6zfeio1ecl5ZeIdHkbA==, Decimal #=q94p4WXWGblEjOsjI8IHiPw==, Security #=qv2EkoD7xxTCuL6hCJZeNmQ==)
   at #=qxG_Vfl$T_uy4vA9m$7W1_xmyAVQqcG1v4lzDFT8DC9Sb30g99WTTEntOcssQEeRcsS$u$nSq5Ifp_vaYxs9PDw==.#=qQNdI9PldNlsUIU6_Fg182g==(List`1 #=qACaLXvHVBqubi9_LnTZDVg==, #=qmNjEnDBKVrLDOU6jobs8dGnqD8CGMYHeA0hf$S93BcJOhYo0wAIzW93_dVw0fy3$ #=q5pCS7t8NtAdURybFwsgvUA==, Decimal #=qzJrezToKPF11h44hjmpyFw==)
   at #=qxG_Vfl$T_uy4vA9m$7W1_xmyAVQqcG1v4lzDFT8DC9Sb30g99WTTEntOcssQEeRcsS$u$nSq5Ifp_vaYxs9PDw==.#=qCEgRZ7zMatuTnCBjCsX89w==(List`1 #=qKT9CHNpy7v_GC687I0NC6Q==, IEnumerable`1 #=qpBurEoTpqQvEQWw_PI$n9g==, #=qmNjEnDBKVrLDOU6jobs8dGnqD8CGMYHeA0hf$S93BcJOhYo0wAIzW93_dVw0fy3$ #=qK58DZPl6Akmk3nYyjooXag==)
   at #=q96bOQJMhTwQYjnfhf17fdS0p4WDMdepDMZs$SZHQLSCC34pzcC1ASLBmFlJs2NGU2hbAw_tIB8bBBCaun7c13g==.#=qztnUT8i4uih8ghBtA8V9b5pqus8h7W$73VIkWqEhq0OCsGYxNBFYKttlfLWtdVNbIpBhJzULuLT$mHIuCRCdKonXjIKi$ku8FSX8gFmLZPc=(IEnumerable`1 #=q2LPfToWgMbY02lXn0xD70Q==, #=qz_YSKkqpEa8T1noUGgstEnzfhRAfvkQ_jma49bEj1TM1IXjZ89_cIkuk_ipRDKMj #=qp8o4WTpUtDBZ3rdzLRkXWA==)
   at #=qsYrHh4n$Wb0r_eEhp74i6jrpgrP_E1zwSLk_EwOMfquPXC4HaB6nLxCoirlmQgUa.#=qLVFHa7Avg_AjiPQ0ZyDj$w==(DateTime #=qvrlSbw2vzShjBaP0B5f4CA==, #=q_NyXhk9YU4Ct0ArVARtkBQ==[] #=qwm1Cl3Z8BSshe8r4bcS$BQ==, Boolean #=qHP6cE96hLTBDQ6s3SiXlPw==)
   at #=qsYrHh4n$Wb0r_eEhp74i6jrpgrP_E1zwSLk_EwOMfquPXC4HaB6nLxCoirlmQgUa.Save(IEnumerable`1 #=qxggFozLcdd97rChxaYKbMw==)
   at AlgoTrading.Library.StorageManagement.Hydra.SaveSecurityChange() in c:\ActiveProjects\AlgoTrading\trunk\SourceCode\Libraries\AlgoTrading.Library\StorageManagement\Hydra.cs:line 513
   at AlgoTrading.Library.StorageManagement.Hydra.&amp;lt;.ctor&amp;gt;b__e(Object sender, DoWorkEventArgs args) in c:\ActiveProjects\AlgoTrading\trunk\SourceCode\Libraries\AlgoTrading.Library\StorageManagement\Hydra.cs:line 232
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
   --- End of inner exception stack trace ---
   at AlgoTrading.Library.StorageManagement.Hydra.&amp;lt;.ctor&amp;gt;b__f(Object sender, RunWorkerCompletedEventArgs args) in c:\ActiveProjects\AlgoTrading\trunk\SourceCode\Libraries\AlgoTrading.Library\StorageManagement\Hydra.cs:line 257
   at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Какая-то странная ошибка при закачке маркет данных. Иногда появляется при старте закачки, иногда закачка стартует без этой ошибки. До версии 4.1.9 такого не было. Пробовал на 4.1.10 и 4.1.11.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3593/</id>
    <title type="text">4 урок</title>
    <published>2013-04-18T10:51:02Z</published>
    <updated>2013-04-18T10:51:02Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">[vk]http://vk.com/video_ext.php?oid=-66674957&amp;amp;id=167882517&amp;amp;hash=dbb03646e95aee45&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAIzJHwV0tlbjaFgHtJkJp1zOdgVIedp7iF-mqR91_WQzBvRuO0Mrd2MqA9_yOz2aUFVHe6jxbYoiDSzYeDRVLt" title="https://www.dropbox.com/s/1ktsunp5fvqon0c/Lesson%25204.pptx"&gt;&lt;b&gt;Презентация&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Темы занятия 4 (Интерфейсы и дженерики)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;•	Разное о классах и полиморфизме&lt;br /&gt;•	Перегрузка операторов&lt;br /&gt;•	Индексаторы&lt;br /&gt;•	Интерфейсы, зачем и как&lt;br /&gt;•	Generic types (генерики), их использование, специализация параметров&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Домашнее задание&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Выбрать один из рассмотренных ранее классов и написать на основе него дженерик-тип. Можно придумать свою идею класса, желательно &lt;br /&gt;попробовать воспользоваться интерфейсами в ходе выполнения задания.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Вложения:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rdEmNK743h-ktqSOTKbllXbxeO8EEtMCCv4-sUOwrCTY" title="http://vk.com/docs?oid=-66674957"&gt;Код из урока(1)&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rdEmNK743h-ktqSOTKbllXbxeO8EEtMCCv4-sUOwrCTY" title="http://vk.com/docs?oid=-66674957"&gt;Код из урока(2)&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rdEmNK743h-ktqSOTKbllXbxeO8EEtMCCv4-sUOwrCTY" title="http://vk.com/docs?oid=-66674957"&gt;Пример решения домашнего задания&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3592/</id>
    <title type="text">4 урок</title>
    <published>2013-04-18T10:20:47Z</published>
    <updated>2013-04-18T10:20:47Z</updated>
    <author>
      <name>Валентин Мирошниченко</name>
      <uri>https://stocksharp.ru/users/6156/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">[vk]http://vk.com/video_ext.php?oid=-66674131&amp;amp;id=167402149&amp;amp;hash=ec89897d51dded02&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Темы занятия 4 &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Оптимизация торговых стратегий&lt;br /&gt;&lt;li&gt;С использованием полного перебора&lt;br /&gt;&lt;li&gt;С использованием Монте-Карло&lt;br /&gt;&lt;li&gt;С использованием Генетического оптимизатора&lt;br /&gt;&lt;li&gt;Плюсы и минусы разных методов оптимизации&lt;br /&gt;&lt;li&gt;Отличие оптимизации от переоптимизации&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Что почитать по теме:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;1. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAD5ucWPmfXeH64E1lNf9e_eiQA1UOyWEmaCKK9rsSMIq-8UuTBVAtRB4mNW3o-D5Sk" title="http://www.ozon.ru/context/detail/id/6300525/"&gt;Генетические алгоритмы&lt;/a&gt;&lt;br /&gt;2. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAD5ucWPmfXeH64E1lNf9e_eiQA1UOyWEmaCKK9rsSMIq8FFb6UwnHPTl8itAQtNqBM" title="http://www.ozon.ru/context/detail/id/4847823/"&gt;Метод Монте-Карло в вычислительной математике. Вводный курс&lt;/a&gt;&lt;br /&gt;3. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAD5ucWPmfXeH64E1lNf9e_eiQA1UOyWEmaCKK9rsSMIq8-bHkkF01vbvIDyXn5rnng" title="http://www.ozon.ru/context/detail/id/1313873/"&gt;Разработка, тестирование, оптимизация торговых систем для биржевого трейдера&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Полезные материалы:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;1. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAD8EDHStws_1eGv8oSb0Hht6LBBd5V_w1zPL7D-KH7Ooq_wf-KCKl7AMWej_XnVwk0" title="http://megaswf.com/serve/1031310/"&gt;Генетический алгоритм - эволюционирующие машины&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3591/</id>
    <title type="text">Кружка S#</title>
    <published>2013-04-18T09:39:34Z</published>
    <updated>2013-04-18T09:39:34Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">Хочу отправить &lt;a target="_blank" rel="nofollow" href="http://stocksharp.blogspot.ru/2011/08/blog-post.html" title="http://stocksharp.blogspot.ru/2011/08/blog-post.html"&gt;кружку тру алготрейдера&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href='http://4.bp.blogspot.com/-hJI2iUUrVWM/TluSVIzC7mI/AAAAAAAAAOw/-liRZIJKmt0/s320/ss_cup_1.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://4.bp.blogspot.com/-hJI2iUUrVWM/TluSVIzC7mI/AAAAAAAAAOw/-liRZIJKmt0/s320/ss_cup_1.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Предлагаю обсудить кандидатуры.&lt;br /&gt;&lt;br /&gt;ps. Кружка, кстати, уже раритет. Так как такой эмблемы не существует уже 2-ой год. Лет через 20, если не помрем, можно будет продать с молотка.[laugh]</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3590/</id>
    <title type="text">Перенос стратегий через ночь в QUik</title>
    <published>2013-04-17T14:23:07Z</published>
    <updated>2013-04-17T14:23:07Z</updated>
    <author>
      <name>dec99</name>
      <uri>https://stocksharp.ru/users/26939/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Внутри одной сессии понятно. Загрузили сохраненную стратегию и заявки.&lt;br /&gt;Ночью заявки будут сняты. Что делать в этом случае?&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3589/</id>
    <title type="text">Подтверждение перед закрытием</title>
    <published>2013-04-17T14:16:23Z</published>
    <updated>2013-04-17T14:16:23Z</updated>
    <author>
      <name>XMbIPb</name>
      <uri>https://stocksharp.ru/users/6200/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">Не могли бы Вы в новой версии убрать его или хотя бы добавить туда таймер, чтоб можно было корректно закрывать гидру программно?  </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3588/</id>
    <title type="text">Как запустить 32х битную версию?</title>
    <published>2013-04-17T11:50:28Z</published>
    <updated>2013-04-17T11:50:28Z</updated>
    <author>
      <name>XMbIPb</name>
      <uri>https://stocksharp.ru/users/6200/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Studio" />
    <content type="html">&lt;a href='http://s41.radikal.ru/i094/1304/2c/1c18565fb130.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://s41.radikal.ru/i094/1304/2c/1c18565fb130.jpg" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;64х битная запускается без проблем... &lt;br /&gt;Сносить всё пробовал.. файл Studio.x86.exe из папки с базой запускать тоже пробовал и в папку самой студии копировал.. пишет: Не указан файл для запуска.. под админом тоже всё пробовал...</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3587/</id>
    <title type="text">Пропадают все события</title>
    <published>2013-04-17T06:56:50Z</published>
    <updated>2013-04-17T06:56:50Z</updated>
    <author>
      <name>zhuravl</name>
      <uri>https://stocksharp.ru/users/38994/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="AlfaDirect" />
    <content type="html">Код:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;            trader.RegisterTrades(security);&lt;br /&gt;            trader.CandlesFinished += trader_CandlesFinished;&lt;br /&gt;            trader.CandlesChanged += trader_CandlesChanged;&lt;br /&gt;&lt;br /&gt;            CandleManager candleManager = new CandleManager(trader);&lt;br /&gt;            CandleSeries series = new CandleSeries(typeof(TimeFrameCandle), security, TimeSpan.FromMinutes(5));&lt;br /&gt;            candleManager.Start(series);&lt;br /&gt;            trader.RegisterCandles(security, AlfaTimeFrames.Minute5, trader.GetMarketTime(Exchange.Rts).AddMinutes(-15));&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Все прекрасно работает, но в течение 10-15 минут. После этого пропадают события CandlesFinished и CandlesChanged навсегда! И больше никогда не вызываются.&lt;br /&gt;&lt;br /&gt;Почему?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/336/</id>
    <title type="text">Как роботы манипулировали ценами на газ</title>
    <published>2013-04-16T18:20:39Z</published>
    <updated>2013-04-16T18:33:48Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Высокочастотная торговля" />
    <category term="Статьи" />
    <content type="html">&lt;span style="color:green"&gt;&lt;b&gt;&lt;span style="font-size:120%"&gt;Как заявляет Wall Street Journal (WSJ), в последние несколько месяцев тактика HFT (High-frequency trading) относительно природного газа была настолько агрессивной, что традиционные трейдеры полностью отказываются торговать.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Возможно, Вас это никак не задело, но для многих из нас подобные манипуляции означают сильные ценовые колебания.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Как же это все происходит:&lt;/b&gt; &lt;br /&gt;трейдеры ждут еженедельного национального отчета по показателям природного газа, который публикуется каждый четверг в 10:30 утра, а до этого торгуют основываясь на цифрах о спросе и предложении. Обычно они ставят свои заявки, опираясь на собственные ожидания относительно того, как информация отчета повлияет на цену натурального газа – это называется лимитированным ордером.&lt;br /&gt;&lt;br /&gt;Для HFT лимитированные ордера являются поистине легкой добычей, поэтому они стали прибегать к тому, что называется &amp;quot;разжигать угли&amp;quot;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Давайте разбираться, что к чему.&lt;/b&gt; &lt;br /&gt;Просто HFTS обрушивает шквал предложений для исполнения ордеров на покупку прямо перед публикацией отчета – а все для того, чтобы вызвать толчок цен. Этим они пытаются заставить трейдеров отправить на исполнение больше ордеров, что в свою очередь будет толкать рынок вверх. Результат всего этого – крайняя нестабильность, что и было нужно HFT.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Эрик Хансадер, ответственный за рыночные показатели, из фирмы NANEX рассказал WSJ следующее:&lt;/b&gt;&lt;br /&gt;Ассоциация электронной промышленности (EIA) сообщила об увеличении товарных запасов на 25 млрд. кубических футов, что несколько ниже ожиданий аналитиков, а это обычно приводит к скромному росту цен. В первые секунды после релиза фьючерсы на природный газ дорожают более, чем на 10 центов (до $ 2,84), но затем сразу же падают ниже. Как говорит господин Хансадер, самые быстрые трейдеры имеют возможность получить прибыль от быстрой покупки и продажи в гораздо более широком ценовом диапазоне, так как рынок медленно приходит в равновесие. В течение следующих семи минут, фьючерсы падают до минимума в $ 2,685. В итоге, цены не достигли своих максимумов или минимумов до конца сессии.&lt;br /&gt;&lt;br /&gt;Звучит несколько нелепо, поэтому обратимся к трейдеру, который ведет блоги о таких перепадах на сайте Calibrated Confidence, чтобы на самом деле убедиться, действительно ли дела обстоят таким образом. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Вот сводка из его апрельского отчета:&lt;/b&gt;&lt;br /&gt;Изменения уровня запасов природного газа составили 32% от ожидаемого. И вот как поступили компьютеры. К тому времени, как Вы получаете информацию, она вполне может оказаться устаревшей по сравнению с фактической (так как проходит около 200 миллисекунд). &lt;br /&gt;Короче говоря, все происходит в мгновение ока. Если вы не используете технологию HFT (в сочетании с хорошим расположением рядом с биржей), это нанесет Вам удар прежде, чем Вы сможете сделать свой ход.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;На диаграмме ясно показано, как обстоят дела. Посмотрите, в 10:30:00 предложение цены (заявки на природный газ) находится на самом низком уровне, потом “взрывается” и достигает с нескольких сотен до более, чем 2000 контрактов.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/102331/natural-gas-orders.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/102331/natural-gas-orders.png?size=800x800" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;При таком импульсе, HFT может раскачивать рынок, и данные отчета не имеют абсолютно никакого значения, потому что никто не торгует основываясь на информации. А HFT просто на руку, что так много трейдеров выступают в открытую, это что-то вроде ажиотажа.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Из WSJ:&lt;/b&gt;&lt;br /&gt;&amp;quot;Это всегда будет неустойчивым, но по крайней мере, если у вас есть правильная идея, Вы получите за это деньги&amp;quot;, говорит биржевой брокер Nymex Скотт Геттлман. &amp;quot;Теперь, вы можете занять боевую позицию, но тарить вслепую&amp;quot;.&lt;br /&gt;&lt;br /&gt;Кто хочет это попробовать?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACqzgY_EWCpYFiYQZGfLSjATgsfd9bNVw555yKG0kGHDtde5ezB6rA3jVwL69_Q5Fam52QyUWojg2JxvjnM02OLPkZzCsOj-GXjAhvdrzf5Gw" title="http://www.businessinsider.com/how-robots-manipulate-natural-gas-prices-2012-10"&gt;Оригинал статьи&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Пишите свои комментарии по статье.. Нужны ли еще такие переводы?&lt;/em&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3585/</id>
    <title type="text">3 урок</title>
    <published>2013-04-16T16:32:16Z</published>
    <updated>2013-04-16T16:32:16Z</updated>
    <author>
      <name>Валентин Мирошниченко</name>
      <uri>https://stocksharp.ru/users/6156/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">[vk]http://vk.com/video_ext.php?oid=-66674131&amp;amp;id=167402143&amp;amp;hash=eabcb8fe62386bbd&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Темы занятия 3 &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Создание первой стратегии&lt;br /&gt;&lt;li&gt;С использованием мастера стратегий&lt;br /&gt;&lt;li&gt;С использованием C# + Wealth-Lab Api&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Домашнее задание&lt;/b&gt;&lt;/span&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_68bce07fb375474f81514bb4582c4ccf');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_68bce07fb375474f81514bb4582c4ccf' style='display:none'&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;Запрограммируйте робота основанного на пересечении простых скользящих средних с использованием методов CrossOver и CrossUnder, а так же следуюших методов для входа и выхода из позиции BuyAtMarket, ShortAtMarket, ExitAtMarket. Также добавьте оптимизационные параметры для скользящих средних используя StrategyParameter и CreateParameter.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Решение домашнего задания&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_e597c4e690a04904a7a125f13ce6bb11');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_e597c4e690a04904a7a125f13ce6bb11' style='display:none'&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

using System;
using System.Collections.Generic;
using System.Text;
using WealthLab;
using WealthLab.Indicators;
using System.Drawing;

namespace WealthLabCompile
{
	class MovingAverageCrossover : WealthScript
	{
		private StrategyParameter slowPeriod; //Объявляем период для медленной скользящей средней.
		private StrategyParameter fastPeriod; //Объявляем период для быстрой скользящей средней..

		public MovingAverageCrossover() //Создаём конструктор для инициализации переменных 
		{
			fastPeriod = CreateParameter(&amp;quot;Fast Period&amp;quot;, 20, 1, 100, 1); //Инициализируем быструю скользящая среднею. 
			slowPeriod = CreateParameter(&amp;quot;Slow Period&amp;quot;, 50, 20, 300, 5); //Инициализируем медленную скользящая среднею.       
		}

		protected override void Execute()
		{
			int fastPer = fastPeriod.ValueInt; //Получаем значение периода для быстрой скользящей средней 
			int slowPer = slowPeriod.ValueInt; //Получаем значение периода для медленной скользящей средней 
      
			SMA smaFast = SMA.Series(Close, fastPer); //Создаём простую скользящая среднею с быстрым периодом
			SMA smaSlow = SMA.Series(Close, slowPer); //Создаём простую скользящая среднею с медленным периодом

			PlotSeries(PricePane, smaFast, Color.Green, LineStyle.Solid, 2); //Наносим скользящая на график 
			PlotSeries(PricePane, smaSlow, Color.Red, LineStyle.Solid, 2); //Наносим скользящая на график

			for (int bar = Math.Max(fastPer, slowPer); bar &amp;lt; Bars.Count; bar++) //Главный цикл который последовательно перебирает все доступные данные.  
			{
				if (IsLastPositionActive) //Проверяем существует ли открытая позиция  Если да то 
				{          
					if (CrossOver(bar, smaFast, smaSlow)) //Не произошло ли пересечения скользящих снизу вверх если произошло то     
					{
						ExitAtMarket(bar + 1, LastPosition); //Закрываем открытую короткую позицию
						BuyAtMarket(bar + 1); //Открываем длинную  позицию
					}
					if (CrossUnder(bar, smaFast, smaSlow)) //Если же произошло пересечение скользящих сверху вниз тогда    
					{
						ExitAtMarket(bar + 1, LastPosition); //Закрываем открытую длинную позицию
						ShortAtMarket(bar + 1); //Открываем короткую  позицию
					}
				}
				else //Если мы находимся не в позиции     
				{
					if (CrossOver(bar, smaFast, smaSlow)) //Проверяем не произошло ли пересечения скользящих снизу вверх если произошло то  
					{
						BuyAtMarket(bar + 1); //Открываем длинную  позицию
					}
					if (CrossUnder(bar, smaFast, smaSlow)) //Если же произошло пересечение скользящих сверху вниз тогда    
					{
						ShortAtMarket(bar + 1); //Открываем короткую  позицию
					}
				}
			}
		}
	}
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3583/</id>
    <title type="text">Компиляция плагинов под х86 в VS 2012</title>
    <published>2013-04-15T16:39:12Z</published>
    <updated>2013-04-15T16:39:12Z</updated>
    <author>
      <name>XMbIPb</name>
      <uri>https://stocksharp.ru/users/6200/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_1e47dda88a4148b9b3e549526c81002b');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_1e47dda88a4148b9b3e549526c81002b' style='display:none'&gt;Error	12	The command &amp;quot;call ..\..\..\plugins.bat Quik Debug&lt;br /&gt;&lt;br /&gt;copy StockSharp.Quik.dll ..\..\..\..\Hydra\bin\Debug\Plugins\StockSharp.Quik.dll&lt;br /&gt;copy NDde.dll ..\..\..\..\Hydra\bin\Debug\Plugins\NDde.dll&amp;quot; exited with code 1.	Quik&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Вылетает при компиляции..&lt;br /&gt;Пробовал поменять путь в plugins.bat на \Hydra\bin\x86\%2\Plugins - безрезультатно..&lt;br /&gt;Пробовал тупо перетащить плагин из папки Debug.. но гидра при работе с ним начинает выдавать это: &lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_d231e0d408264f5fb5ec48f340e62586');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_d231e0d408264f5fb5ec48f340e62586' style='display:none'&gt;20:19:53.127|Error  |Quik      |Exception of type &amp;#39;System.OutOfMemoryException&amp;#39; was thrown.&lt;br /&gt;20:20:07.899|Error  |Unhandled Exception|System.OutOfMemoryException: Exception of type &amp;#39;System.OutOfMemoryException&amp;#39; was thrown.&lt;br /&gt;   at System.Threading.Thread.GetCurrentThreadNative()&lt;br /&gt;   at System.Threading.Thread.get_CurrentThread()&lt;br /&gt;   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)&lt;br /&gt;   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)&lt;br /&gt;   at System.Threading.TimerQueueTimer.CallCallback()&lt;br /&gt;   at System.Threading.TimerQueueTimer.Fire()&lt;br /&gt;   at System.Threading.TimerQueue.FireQueuedTimerCompletion(Object state)&lt;br /&gt;   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()&lt;br /&gt;   at System.Threading.ThreadPoolWorkQueue.Dispatch()&lt;br /&gt;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3581/</id>
    <title type="text">3 урок</title>
    <published>2013-04-15T11:29:11Z</published>
    <updated>2013-04-15T11:29:11Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">[vk]http://vk.com/video_ext.php?oid=-66674957&amp;amp;id=167881080&amp;amp;hash=cdf8af0a565cce57&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAIzJHwV0tlbjaFgHtJkJp1rFCNMJyK7G2yVJiH4MH23PWezcPPF6JB9Pu7GJ-xxKB5p4uQ4ZA8L2_YNg4Dom5r" title="https://www.dropbox.com/s/ckvn7mqnwf4fv9f/Lesson3.pptx"&gt;&lt;b&gt;Презентация&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Темы занятия 3 (ООП в C#)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;•	Спецификаторы доступа&lt;br /&gt;•	Полифорфизм, инкапсуляция, наследование&lt;br /&gt;•	Свойства, как ими пользоваться&lt;br /&gt;•	Абстрактные классы&lt;br /&gt;•	Исключения&lt;br /&gt;•	Nullable types, статический класс&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Домашнее задание&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; На основе кода, приведенного в проекте 1, написать простейший биржевой стакан. Класс должен уметь заполнять себя&lt;br /&gt;при помощи класса заполнения и выводить значения заявок на консоль. Также предлагается попробовать реализовать тоже самое на основе проекта 2 (где абстрактный класс).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Вложения:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rdEmNK743h-ktqSOTKbllXbxeO8EEtMCCv4-sUOwrCTY" title="http://vk.com/docs?oid=-66674957"&gt;Проект1&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rdEmNK743h-ktqSOTKbllXbxeO8EEtMCCv4-sUOwrCTY" title="http://vk.com/docs?oid=-66674957"&gt;Проект2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;b&gt;Пример решения домашнего задания:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rdEmNK743h-ktqSOTKbllXbxeO8EEtMCCv4-sUOwrCTY" title="http://vk.com/docs?oid=-66674957"&gt;Домашнее задание - 1&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rdEmNK743h-ktqSOTKbllXbxeO8EEtMCCv4-sUOwrCTY" title="http://vk.com/docs?oid=-66674957"&gt;Домашнее задание - 2&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3580/</id>
    <title type="text">Время заявок и сделок отстает от исторического при тестировании</title>
    <published>2013-04-15T09:42:41Z</published>
    <updated>2013-04-15T09:42:41Z</updated>
    <author>
      <name>Roma</name>
      <uri>https://stocksharp.ru/users/38969/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">Время заявок и сделок отстает от исторического при тестировании.&lt;br /&gt;Использую EmulationTrader, данные загружаю из истории, закаченой через Гидру.&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_7ad50fe60a7d431c93348aabe41a09e3');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_7ad50fe60a7d431c93348aabe41a09e3' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
private void EmulateClick(object sender, RoutedEventArgs e)
        {
            if (!Directory.Exists(tbPathHistory.Text))
            {
                System.Windows.MessageBox.Show(string.Format(&amp;quot;Directory is not found: {0}&amp;quot;, tbPathHistory.Text));
                return;
            }

            // хранилище, через которое будет производиться доступ к тиковой и котировочной базе 
            var storageRegistry = new StorageRegistry();

            // изменяем путь, используемый по умолчанию
            ((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = tbPathHistory.Text;

            // используем алфавитное хранилище
            ((LocalMarketDataDrive)storageRegistry.DefaultDrive).UseAlphabeticPath = true;

            //===============
            
            // создаем тестовый инструмент, на котором будет производится тестирование 
            _security = new Security
            {
                Id = tbSecurityId.Text,//&amp;quot;RIZ2@RTS&amp;quot;,
                // по идентификатору инструмента будет искаться папка с историческими маркет данными
                Code = tbSecurityCode.Text,//&amp;quot;RIZ2&amp;quot;,
                Name = tbSecurityName.Text,//&amp;quot;RTS-12.12&amp;quot;,
                ExchangeBoard = (ExchangeBoard)cbSecurityExchangeBoard.SelectedItem,//ExchangeBoard.Forts,
            };

            // тестовый портфель 
            _portfolio = new Portfolio { Name = tbPortfolioName.Text, BeginValue = decimal.Parse(tbPortfolioBeginValue.Text) };

            // создаем шлюз для эмуляции 
            // инициализируем настройки (инструмент в истории обновляется раз в секунду) 
            _trader = new EmulationTrader(
                new[] { _security },
                new[] { _portfolio },
                storageRegistry)
            {
                MarketTimeChangedInterval = tpTimeFrame.Value.Value.TimeOfDay,
            };

            _trader.Connect();
            _trader.StartExport();           
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&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_96272d76a2f248bea07500f6f9069838');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_96272d76a2f248bea07500f6f9069838' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

_candleSeries.ProcessCandle += candle =&amp;gt;
            {
                //Debug.Print(&amp;quot;{0}&amp;quot;, candle);

                var candleBounds = timeFrame.GetCandleBounds(_candleSeries.Security);

                if (candle.State == CandleStates.Finished || candle.OpenTime &amp;gt;= candleBounds.Min)
                {
                    var valueSma = _indicatorSma.Process(candle);
                    var chartValueSma = new ChartIndicatorValue(_indicatorSma, valueSma);

                    var valueStohastic = _indicator.Process(candle);
                    var chartValueStohastic = new ChartIndicatorValue(_indicator, valueStohastic);

                    this.GuiAsync(() =&amp;gt; Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;()
                        {
                            {_chartCandleElement, candle},
                            {_chartIndicatorSmaElement, chartValueSma},
                            {_chartIndicatorStohasticElement, chartValueStohastic}
                        }));
                }
            };
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&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_8cdb683267094b4591e9e03a324c665d');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_8cdb683267094b4591e9e03a324c665d' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

strategy.WhenNewMyTrades()
                        .Do(mytrades =&amp;gt; this.GuiAsync(
                            () =&amp;gt;
                                {
                                    Debug.WriteLine(&amp;quot;NewMyTrades: &amp;quot; + mytrades.Count());
                                    mytrades.ForEach(
                                        t =&amp;gt; Chart.ProcessValues(t.Trade.Time, new Dictionary&amp;lt;IChartElement, object&amp;gt;()
                                            {
                                                {_tradeElement, t}
                                            }));
                                }))
                            .Apply();

strategy.WhenOrderRegistered()
                       .Do(order =&amp;gt;
                           {
                               Debug.WriteLine(&amp;quot;OrderRegistered: &amp;quot; + order.Volume.ToString());
                               this.GuiAsync(
                                   () =&amp;gt; Chart.ProcessValues(order.Time, new Dictionary&amp;lt;IChartElement, object&amp;gt;()
                                       {
                                           {_orderElement, order}
                                       }));

                           })
                       .Apply();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
</feed>