﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">4 семинар</title>
  <id>~/topic/3384/4-seminar/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-13T16:56:35Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3384" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/23996/</id>
    <title type="text">Запись урока: Часть 1 [vk]http://vk.com/video_ext.php?oid=-66674957&amp;amp;id=167886046&amp;amp;hash=bed15957c2efd5...</title>
    <published>2013-02-13T09:59:55Z</published>
    <updated>2014-03-06T09:16:52Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.com/users/675/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Запись урока:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Часть 1&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66674957&amp;amp;id=167886046&amp;amp;hash=bed15957c2efd528&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Часть 2&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66674957&amp;amp;id=167886048&amp;amp;hash=bb4f7d12f349b7c0&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Темы занятия:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;События, операции подписывания/отписывания, вызов события.&lt;/li&gt;
&lt;li&gt;Создание приложения Windows Forms, элементы форм (&lt;a href="http://msdn.microsoft.com/ru-ru/library/system.windows.forms.button.aspx" target="_blank"&gt;&lt;span style="color:darkred"&gt;Button&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/ru-ru/library/system.windows.forms.textbox.aspx" target="_blank"&gt;&lt;span style="color:darkred"&gt;TextBox&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/ru-ru/library/system.windows.forms.checkbox.aspx" target="_blank"&gt;&lt;span style="color:darkred"&gt;CheckBox&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/ru-ru/library/system.windows.forms.tabcontrol.aspx" target="_blank"&gt;&lt;span style="color:darkred"&gt;TabControl&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/ru-ru/library/system.windows.forms.combobox.aspx" target="_blank"&gt;&lt;span style="color:darkred"&gt;ComboBox&lt;/span&gt;&lt;/a&gt;), обработчики событий формы.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/ru-ru/library/2w8f0bss.aspx" target="_blank"&gt;&lt;span style="color:darkred"&gt;Обработка исключений&lt;/span&gt;&lt;/a&gt; и &lt;a href="http://msdn.microsoft.com/ru-ru/library/z4c5tckx.aspx" target="_blank"&gt;&lt;span style="color:darkred"&gt;их иерархия&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Начало работы с библиотекой StockSharp (ConsoleSample).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Домашнее задание:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Нарисовать часть иерархии исключений, чтобы представлять, кто на ком стоит.&lt;/li&gt;
&lt;li&gt;Реализовать срабатывание алгоритма в примере SampleConsole не по ожиданию 1000мс, а по событию изменения стакана.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Полезные материалы:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://zerich.ru/internet-trading/platforms/quik/" rel="nofollow" target="_blank"&gt;Здесь можно подать заявку на демо-счет.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.box.com/stocksharp/1/841005838" rel="nofollow" target="_blank"&gt;Скачать библиотеку StockSharp&lt;/a&gt; (достаточно архива StockSharp_4.x.xx_Sources.zip)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.stocksharp.com/doc/html/5c13da7b-b6e4-4fd4-958a-66c93c58b941.htm"&gt;&lt;span style="color:darkred"&gt;Настройка Quick для StockSharp&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Решение домашней задачи:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;Необходимо:&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;Дописать:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;using (var waitHandleQuotesChanged = new AutoResetEvent(false))
&lt;/code&gt;&lt;/pre&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Находим строки с расчетом середины спреда и указываем подписывание на новое событие.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;           // запоминаем первоначальное значение середины спреда
                        var firstMid = _security.BestPair.MiddlePrice;
                        Console.WriteLine(&amp;quot;Первоначальное значение середины спреда {0:0.##}&amp;quot;, firstMid);

                        ///////////////////////////////
                        //Подписываемся на событие
                        _depth.QuotesChanged += () =&amp;gt;
                        {
                            waitHandleQuotesChanged.Set();
                        };
                        //////////////////////////////

                        while (true)
                        {
                            var mid = _security.BestPair.MiddlePrice;
                            Console.WriteLine(&amp;quot;Текущее значение середины спреда {0:0.##}&amp;quot;, mid);

                            // если спред вышел за пределы нашего диапазона
                            if ((firstMid * (1.0m + delta) &amp;lt;= mid) ||
                                 (firstMid * (1.0m - delta) &amp;gt;= mid))
                            {
                                var order = new Order
                                {
                                    Portfolio = _portfolio,
                                    Security = _security,
                                    Price = _security.ShrinkPrice(mid),
                                    Volume = 1,
                                    Direction = OrderDirections.Buy,
                                };

                             }

                            // ждем 1 секунду
                            //Thread.Sleep(1000);
                            //TODO: Ждать не 1 сек, а изменения стакана
                            waitHandleQuotesChanged.WaitOne();
                        }

&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Вложения&lt;/span&gt;&lt;/strong&gt;
&lt;a href="https://vk.com/doc-66674957_276915055" rel="nofollow" target="_blank"&gt;Исходные коды&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>