﻿<?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=tag&amp;id=обучение&amp;type=forum&amp;page=8</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-08T14:52:42Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=обучение&amp;type=forum&amp;page=8" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/3630/</id>
    <title type="text">Проблема с парсингом строки</title>
    <published>2013-04-26T08:08:16Z</published>
    <updated>2013-04-26T08:08:16Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">В таком варианте принимает тип значения параметров индикатора&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;
AccelerationMax = (decimal) 0.02,
                        AccelerationStep = (decimal) 0.2&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;
AccelerationStep = decimal.Parse(FactorSarTextBox.Text),
                        AccelerationMax = decimal.Parse(MaximumSarTextBox.Text)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Почему? Берет значение из элемента управления в виде строки и преобразует строку в тип decimal.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3624/</id>
    <title type="text">Индикатор Fractal на графике (ошибка)</title>
    <published>2013-04-24T16:19:42Z</published>
    <updated>2013-04-24T16:19:42Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">Днем данный код работал, все было нормально. Потом я пробовал добавить на вывод в график индикатор Fractals, у меня было две ошибки исполнения. Я удалил весь код, связанный с Fractals и опять запустил вот этот код. Выпадает Exception в строке&lt;br /&gt;var candleBounds = ((TimeSpan)candle.Arg).GetCandleBounds(_candleSeries.Security);&lt;br /&gt;&amp;quot;Заданный аргумент находится вне диапазона допустимых значений.&amp;quot;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_368aafcc96bc40a691cf745b62d70740');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_368aafcc96bc40a691cf745b62d70740' 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.Diagnostics;
using System.Windows;
using System.Windows.Media;
using Ecng.Xaml;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Indicators;
using StockSharp.Algo.Indicators.Trend;
using StockSharp.Quik;
using StockSharp.TraderConnection;
using StockSharp.Xaml;

namespace MARKET_SUCCESS
{
    /// &amp;lt;summary&amp;gt;
    /// Логика взаимодействия для MainWindow.xaml
    /// &amp;lt;/summary&amp;gt;
    public partial class MainWindow
    {
        private CandleManager _candleManager;                       //Менеджер свечей
        private CandleSeries _candleSeries;                         //Серия свечей

        private ChartArea _chartArea;                               //Область на графике

        private ChartCandleElement _chartCandleElement;             //Графический элемент свечи
        private ChartIndicatorElement _chartBollingerElement;       //Графический элемент Bollinger
        private ChartIndicatorElement _chartParabolicElement;       //Графический элемент Parabolic SAR
        private ChartIndicatorValue _chartBollingerValue;           //графическое значение Bollinger
        private ChartIndicatorValue _chartParabolicValue;           //Графическое значение Parabolic SAR
        private BollingerBands _bollinger;                          //Индикатор Bollinger Bands
        private ParabolicSar _parabolic;                            //Индикатор Parabolic SAR

        public MainWindow()
        {
            InitializeComponent();

            //Указываем конкретный вариант коннектора в обертку
            ConnectionInterface.SafeConnection = new SafeConnection(new QuikTrader(QuikTerminal.GetDefaultPath()));

        }
        private void ChartButton_Click(object sender, RoutedEventArgs e)
        {
            //Проверяем, чтобы значение тайм-фрейма было указано
            if (TpTimeFrame.Value == null)
            {
                Debug.Print(&amp;quot;Value from tpTimeFrame is null&amp;quot;);
                return;
            }

            InitChart();
            //Создаем экземпляр графического элемента свечи
            _chartCandleElement = new ChartCandleElement();
            //Добавляем графический элемент свечи в коллекцию
            _chartArea.Elements.Add(_chartCandleElement);

            //Инициализируем индикаторы
            InitIndicators();

            //Получаем тайм-фрейм
            var timeFrame = TpTimeFrame.Value.Value.TimeOfDay;

            //Инициируем процесс получения свечей и дальнейшей отрисовки
            RunProcessGetCandles(timeFrame);

            //Инициализируем стратегию
            //InitStrategy();
        }

        /// &amp;lt;summary&amp;gt;
        /// Метод инициирования среды для получения свечей и дальнейшей отрисовки
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;timeFrame&amp;quot;&amp;gt;Тайм-фрейм для свечей&amp;lt;/param&amp;gt;
        private void RunProcessGetCandles(TimeSpan timeFrame)
        {
            //Создаем менеджер свечей
            _candleManager = new CandleManager(ConnectionInterface.SafeConnection.Trader);

            //Получаем торговый инструмент
            var security = ConnectionInterface.SelectedSecurity;

            //Создаем серию свечей
            _candleSeries = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);

            //Подписываемся на событие обработки свечи
            _candleSeries.ProcessCandle += Draw;

            //Запускаем получение свечей
            _candleManager.Start(_candleSeries);
        }

        /// &amp;lt;summary&amp;gt;
        /// Метод запускает отрисовку по указанной свече
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;candle&amp;quot;&amp;gt;Экземпляр свечи&amp;lt;/param&amp;gt;
        private void Draw(Candle candle)
        {
            //Временные рамки свечи
            var candleBounds = ((TimeSpan)candle.Arg).GetCandleBounds(_candleSeries.Security);

            //Получаем значение Bollinger по данной свече
            var valueBb = _bollinger.Process(candle);
            //Создаем экземпляр значения Bollinger для непосредственного вывода на график
            _chartBollingerValue = new ChartIndicatorValue(_bollinger, valueBb);
            //Получаем значение Parabolic SAR по данной свечке
            var valueSar = _parabolic.Process(candle);
            //Создаем экземпляр значение Paraboli SAR для вывода на график  
            _chartParabolicValue = new ChartIndicatorValue(_parabolic, valueSar);

            //Работаем только с завершенными свечами и одной последней свечей с произвольным состоянием
            if (candle.State == CandleStates.Finished || candle.OpenTime &amp;gt;= candleBounds.Min)
            {
                //Выводим значения на график
                this.GuiAsync(() =&amp;gt; Chart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
                    {
                        {_chartCandleElement, candle},                         //для свечи
                        {_chartBollingerElement, _chartBollingerValue},        //для Bollinger Bands 
                        {_chartParabolicElement, _chartParabolicValue}        //для Parabolic SAR_
                    }));
            }
        }

        /// &amp;lt;summary&amp;gt;
        /// Метод инициализации графика
        /// &amp;lt;/summary&amp;gt;
        private void InitChart()
        {
            //Включить авто-прокрутку
            Chart.IsAutoScroll = true;

            //Создаем экземпляр области
            _chartArea = new ChartArea();
            //Добавляем экземпляр области в коллекцию визуального контрола графика
            Chart.Areas.Add(_chartArea);

        }

        /// &amp;lt;summary&amp;gt;
        /// Метод инициализации индикаторов
        /// &amp;lt;/summary&amp;gt;
        private void InitIndicators()
        {
             //Создаем экземпляр Bollinger Bands 
             _bollinger = new BollingerBands
                 {
                     Length = 20,
                     Width = 2
                 };

             //Создаем экземпляр графического элемента Bollinger
             _chartBollingerElement = new ChartIndicatorElement
                 {
                     Title = &amp;quot;Bollinger&amp;quot;,
                     Color = Colors.Blue,
                     Indicator = _bollinger
                 };
             //Добавляем графический элемент индикатора в коллекцию области
             _chartArea.Elements.Add(_chartBollingerElement);

             //Создаем экземпляр Parabolic SAR
            _parabolic = new ParabolicSar
                {
                    AccelerationMax = (decimal) 0.02,
                    AccelerationStep = (decimal) 0.2
                };
            //Создаем экземпляр графического элемента Parabolic SAR
            _chartParabolicElement = new ChartIndicatorElement
                {
                    Title = &amp;quot;Parabolic&amp;quot;,
                    Color = Colors.Aqua,
                    Indicator = _parabolic
                };
            //Добавляем графический элемент в коллекцию области
            _chartArea.Elements.Add(_chartParabolicElement);
        }
    }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3617/</id>
    <title type="text">2 урок</title>
    <published>2013-04-23T18:56:08Z</published>
    <updated>2013-04-23T18:56:08Z</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=167402100&amp;amp;hash=720d44732937f9ac&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Темы занятия 2 &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Wealth Lab API&lt;br /&gt;&lt;li&gt;Что из себя представляет API&lt;br /&gt;&lt;li&gt;DataSeries&lt;br /&gt;&lt;li&gt;Bars&lt;br /&gt;&lt;li&gt;Time Frames&lt;br /&gt;&lt;li&gt;Indicators&lt;br /&gt;&lt;li&gt;Chart&lt;br /&gt;&lt;li&gt;Trading Signals&lt;br /&gt;&lt;li&gt;Position Management&lt;br /&gt;&lt;li&gt;Alerts&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3613/</id>
    <title type="text">Проблемы со свечками</title>
    <published>2013-04-22T14:49:20Z</published>
    <updated>2013-04-22T14:49:20Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <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;pre class="brush:csharp"&gt;
private void WindowLoaded(object sender, RoutedEventArgs e)
{
    //Инициализировать график
    InitChart();
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Я метод InitChart(); указываю в обработчике события кнопки.&lt;br /&gt;Если этот метод ввожу в код, график не инициализируется, да и решайпер говорит, что он не используется...</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3611/</id>
    <title type="text">5 урок</title>
    <published>2013-04-22T12:44:00Z</published>
    <updated>2013-04-22T12:44:00Z</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=167882576&amp;amp;hash=ca2ec6f15e8e401b&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=AQAAAAAAAAAIzJHwV0tlbjaFgHtJkJp18EGv5yYFYz5n-emOlRPg4_tgHj35755an21U8dW_oTLP_Xc6PQq9AM0Ty9t9Bf7L" title="https://www.dropbox.com/s/84n1686s7x18w8s/Lesson%25205.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;Темы занятия 5 (Коллекции и дженерик-коллекции)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;•	Динамические структуры данных&lt;br /&gt;•	Что такое коллекции, зачем, где они в C#&lt;br /&gt;•	Коллекции на примере списков&lt;br /&gt;•	Механизмы работы коллекций, роль интерфейсов при работе с ними&lt;br /&gt;•	Реализация системных интерфейсов в своих классах - преимущества и особенности&lt;br /&gt;&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;br /&gt; На основе рассмотренных ранее примеров классов, но лучше на основе любого собственного реализовать работу с коллекцией(ями), предусмотреть реализацию 2-3 интерфейсов из System.Collections.Generic в своих классах.&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;Код из урока&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/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_8e6279e09bf94e1db8e089a4d4f7698d');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_8e6279e09bf94e1db8e089a4d4f7698d' 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/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/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/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_2b4dbc0bb3974735b4fbe71e239999ca');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_2b4dbc0bb3974735b4fbe71e239999ca' 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_0becc0fa51e349bf810e798d5c269bb1');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_0becc0fa51e349bf810e798d5c269bb1' 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/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/3577/</id>
    <title type="text">Урок 1. Быстрый старт StockSharp!</title>
    <published>2013-04-13T10:45:28Z</published>
    <updated>2013-04-13T10:45:28Z</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=167466607&amp;amp;hash=c6ed55fcd6fec380&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Введение в StockSharp.Studio:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="640" height="390" src="//www.youtube.com/embed/g-g-r4qyPzI" frameborder="0" allowfullscreen&gt;&lt;/iframe&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;ol&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAJcKzrSUf-fEuXRPnn2hXnJ6QViJC1ocJuL92DJxUaNA" title="http://www.quik.ru/"&gt;Quik&lt;/a&gt;.Реальный Quik лучше получать у каждого брокера отдельно. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAJcKzrSUf-fEuXRPnn2hXn3eIE16BexidHRSNLycPwXwbALR-Wdts_gxIXrfvb24naFYW3WgRjo-xojSWCuao-" title="http://www.quik.ru/user/client/quik/how-to-start/"&gt;Получить демо&lt;/a&gt;.&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABNztwpfok8rjZVHveP56Joy2kfAOgdAytwHjUNO0pjsM3EGKFV7ZRyTHKPnSvJtMM" title="http://www.itinvest.ru/software/smartcom/"&gt;SmartCOM&lt;/a&gt;. Работает как служба, не требует графической платформы для ручной торговли. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADbZ_jmxcqJrwMswXFymB-dy5d0bfVCW3sAHSbc1gDxCg" title="https://itinvest.ru/open_demo/"&gt;Получить демо.&lt;/a&gt; &lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABjrBBWp5h6sVsxer0u5YJaphw-XdVnavL6MNwOCkZ3mQ" title="http://www.alfadirect.ru/"&gt;Альфа-Директ&lt;/a&gt;. Демо можно получить только имея реальный счет [blink] &lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADN2-BnmJmlUbKWzHrpV0RWcnGbAifV-Phcqj73CdP2mA" title="http://moex.com/s438"&gt;Plaza II&lt;/a&gt;. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADN2-BnmJmlUbKWzHrpV0RWcnGbAifV-Phcqj73CdP2mA" title="http://moex.com/s438"&gt;Получить демо&lt;/a&gt; (написать письмо, отвечают оперативно). Примерно выглядеть должно оно &lt;a target="_blank" href="https://stocksharp.ru/file/102560/plaza.png" data-preview-id='102560' title="https://stocksharp.ru/file/102560/plaza.png"&gt;так&lt;/a&gt;.&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADJB47QYbkBdE4Ryl80P1xreyjuR9wkWL4P4X4z_EblCiJnORvLlng8MZSrbvnu08I" title="http://www.gtcapital.ru/fusion.html"&gt;Fusion/BlackWood&lt;/a&gt;. Уточнение: платформа для торговли не требуется. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADJB47QYbkBdE4Ryl80P1xrB0RtzuiMrmLkWTFtF1mmxjHyROoPdFAv94UxA5Ifvlg" title="http://www.gtcapital.ru/formdemo.html"&gt;Получить демо&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAR6NPBH_hY1LPd7Zlenayq5Yd2RKuqvj9kWl-AIEg-VZdaRhy0QX2OZI2SD8ibILM" title="http://www.finam.ru/howtotrade/tconnector/"&gt;Transaq&lt;/a&gt;. Если клиент Финама, логин/пароль можно получить в личном кабинете. Transaq абсолютно бесплатный. &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;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAgUvTPSFPrucof6aW1UWygldCv5F37Wr6Aus6xeyGGGEUugD-aUEQg239xYw3VpTR0PhocTeczHKoJauMt7P3f" title="https://vimeo.com/channels/mainstocksharp/63811110"&gt;Quik(видео)&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAgUvTPSFPrucof6aW1UWygv_W6NSEO-LwoB7472Jz2_g" title="https://vimeo.com/66733743"&gt;Transaq (вебинар/видео)&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAgUvTPSFPrucof6aW1UWygUV8vWNGMiBdIxGEin8g-BA" title="https://vimeo.com/69308006"&gt;BlackWood (вебинар/видео)&lt;/a&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;br /&gt;Основные концепции StockSharp&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Продукты StockSharp&lt;br /&gt;&lt;li&gt;Архитектура StockSharp&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Коннекторы&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Обзор коннекторов&lt;br /&gt;&lt;li&gt;Специфика передачи данных коннекторов&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Создание простого приложения&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Подключение к торговой платформе&lt;br /&gt;&lt;li&gt;Получение портфелей и торговых инструментов&lt;br /&gt;&lt;li&gt;Отправление первых заявок&lt;br /&gt;&lt;/ul&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;Предусмотреть возможность отмены всех активных заявок.&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;a href="http://www.stocksharp.com/doc/" title="http://www.stocksharp.com/doc/"&gt;S# основная документация&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAbncQVTu8T5yVB2LlB47S-Cg1g0ATqhTIfmE_9bmJOjA" title="http://stocksharp.codeplex.com/"&gt;Исходные коды&lt;/a&gt; S#&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 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;b&gt;&lt;span style="font-size:120%"&gt;&lt;span style="color:red"&gt;Изменения в проектах:&lt;/span&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_c22e5209c9564daba6b7c04df4c30abd');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_c22e5209c9564daba6b7c04df4c30abd' style='display:none'&gt;&lt;br /&gt;Проект QuikKiller&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;

        private void CancelClick(object sender, RoutedEventArgs e)
        {
            //отменить все ордера
            if(_trader!= null &amp;amp;&amp;amp; _trader.IsConnected)
                _trader.CancelOrders();
            else
                MessageBox.Show(&amp;quot;Подключитесь к Quik&amp;quot;);
        }
&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;

        private void CancelClick(object sender, RoutedEventArgs e)
        {
            //отменить все ордера
            if(_trader != null &amp;amp;&amp;amp; _trader.ConnectionState == ConnectionStates.Connected)
                _trader.CancelOrders();
            else
                MessageBox.Show(&amp;quot;Подключитесь к Quik&amp;quot;);
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Аналогично, свойство ExportState, которое может принимать те же значения что и свойство 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;Таким образом, теперь нет свойства IsExportStarted, а статус экспорта данных мы можем получать от свойства ExportState.&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;

        protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
        {
            if (_trader != null)
            {
                if (_trader.IsExportStarted)
                    _trader.StopExport();

                _trader.Disconnect();
            }
                
            base.OnClosing(e);
        }
&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;

        protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
        {
            if (_trader != null)
            {
                if (_trader.ExportState == ConnectionStates.Connected)
                    _trader.StopExport();

                _trader.Disconnect();
            }
                
            base.OnClosing(e);
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3567/</id>
    <title type="text">1 урок</title>
    <published>2013-04-10T09:03:45Z</published>
    <updated>2013-04-10T09:03:45Z</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=167402087&amp;amp;hash=4cfe2fc15cc31ef2&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Темы занятия 1 &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Знакомство с Wealth Lab &lt;br /&gt;&lt;li&gt;Описание плюсов и минусов программы Wealth Lab &lt;br /&gt;&lt;li&gt;Знакомство с графическим интерфейсом Wealth Lab &lt;br /&gt;&lt;li&gt;Обзор основных окон программы Wealth Lab&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_4ac8df7b3c2e4117b79f90842c295396');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_4ac8df7b3c2e4117b79f90842c295396' style='display:none'&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Откройте окно для создания стратегии на основе правил&lt;br /&gt;&lt;li&gt;Откройте окно для создания стратегии на основе кода&lt;br /&gt;&lt;li&gt;Можно ли в программе Wealth Lab работать со стаканом&lt;br /&gt;&lt;li&gt;Как загрузить все доступные ядра на вашей машине при оптимизации стратегии &lt;br /&gt;&lt;/ol&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_f44d2cfca4324c6186732e4eec471e14');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_f44d2cfca4324c6186732e4eec471e14' style='display:none'&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;File-&amp;gt;New-&amp;gt;New Strategy from Rules&lt;br /&gt;&lt;li&gt;File-&amp;gt;New-&amp;gt;New Strategy from Code&lt;br /&gt;&lt;li&gt;Стандартными методами нет&lt;br /&gt;&lt;li&gt;Используйте новое главное рабочее окно&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3554/</id>
    <title type="text">2 урок</title>
    <published>2013-04-04T11:50:30Z</published>
    <updated>2013-04-04T11:50:30Z</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=167881046&amp;amp;hash=9de1925dbafbc515&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=AQAAAAAAAAAIzJHwV0tlbjaFgHtJkJp19C0--M3OIYYx_PjrCHLl4aFqrx4xcfSUDpPkFQTMU-ckQrF77wL--fWYFpHVJRHH" title="https://www.dropbox.com/s/57bq590alhesghg/Lesson%25202.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:140%"&gt;&lt;b&gt;Темы занятия 2 (Объявление и вызов методов. Знакомство со структурами и классами.)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;•	Разбор домашнего задания&lt;br /&gt;•	Функции и их разновидности&lt;br /&gt;•	Передача параметров по значению и по ссылке&lt;br /&gt;•	Параметры ref, out. Использование params.&lt;br /&gt;•	var + foreach&lt;br /&gt;•	Структуры и классы, введение. public/private&lt;br /&gt;•	static методы&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_e9e0bb68107541c39cb6dad9c185f54d');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_e9e0bb68107541c39cb6dad9c185f54d' 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;

using System;

namespace TestApp2
{
    internal class Program
    {
        const int N = 10;
        const int lot = 10;
        static int[] my_positions = new int[N] {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};

        static bool IsPositionBad(int positionNumber, int[] someprices)
        {
            return my_positions[positionNumber] &amp;gt; someprices[positionNumber];
        }


        static void ClosePosition(int positionToCloseNumber, int[] someprices)
        {
            // Something, we close position, imagine complex code here
            Console.WriteLine(my_positions[positionToCloseNumber] - someprices[positionToCloseNumber]);
//            my_positions[positionToCloseNumber] = -1;
//            someprices[positionToCloseNumber] = 0;
        }

        static void payTaxes(ref double sum)
        {
            sum *= 0.87;
            Console.WriteLine(sum);
        }

        static void getTotal(out int total)
        {
            total = 0;
            for (int i = 0; i &amp;lt; N; i++)
            {
                total = my_positions[i] * lot;
            }
        }

        static int getTotalOf(params int[] positions) // getTotalOf(int a, int b, int c ...)
        {
            int sum = 0;
            foreach (var i in positions)
            {
                sum += i*lot;
            }

            return sum;
        }


        private static void Main(string[] args)
        {
            var prices = new int[N];

            var r = new Random();

            for (int i = 0; i &amp;lt; N; i++)
            {
                prices[i] = my_positions[i] + r.Next(-10, 10);
            }

            for (int i = 0; i &amp;lt; N; i++)
            {
                if (IsPositionBad(i, prices)) ClosePosition(i, prices);
            }

            //------------------------------

            Console.WriteLine(&amp;quot;---------------------&amp;quot;);

            for (int i = 0; i &amp;lt; N; i++)
            {
                Console.WriteLine(&amp;quot;{0} \t {1}&amp;quot;, my_positions[i], prices[i]);
            }

            Console.WriteLine(&amp;quot;---------------------&amp;quot;);

            double my_sum = 100.25;
            payTaxes(ref my_sum);
            Console.WriteLine(my_sum);

            int main_total;
            getTotal(out main_total);
            Console.WriteLine(main_total);

            int a = 900;
            int paramsTotal = getTotalOf(200, a, 300, 400);
            Console.WriteLine(paramsTotal);

            Console.ReadLine();
        }
    }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&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;br /&gt;Реализовать структуру JapanCandles, 2-3 обычных метода и 1-2 статических. Заготовка ниже.&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_c003c96488c64b47af999fa934582e5f');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_c003c96488c64b47af999fa934582e5f' 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;

        struct JapanCandles
        {
            public double openPrice;
            public double closePrice;
            public double minPrice, maxPrice;
            public CandleColor isBlack;

            //2-3
            public bool isDodje(JapanCandles candle)
            {
                return Math.Abs(openPrice - closePrice) &amp;lt; Double.Epsilon;
            }

            //1-2
            static public int countHammers(JapanCandles[] candles)
            {
                // counting code here
                return 0;
            }

            static public void fillRandom(JapanCandles[] candles)
            {
                var r = new Random();
                for (int i = 0; i &amp;lt; candles.Count(); i++)
                {
                    candles[i].openPrice = 100 + Math.Sin(i*10);
                    candles[i].closePrice = 150 + Math.Sin(i * 10);
                }
            }
        }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&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;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_642770ca8904481cb4a377b23f59d94d');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_642770ca8904481cb4a377b23f59d94d' 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;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hometask2
{
    class Program
    {
        private const int N = 10;

        enum CandleColor
        {
            BLACK, WHITE
        }

        struct JapanCandles
        {
            public double openPrice;
            public double closePrice;
            public double minPrice, maxPrice;
            public CandleColor color;

            //2-3
            public bool isDodje() // Этот метод будет работать с полями той структуры, для которой будет вызван
            {
                return Math.Abs(openPrice - closePrice) &amp;lt; Double.Epsilon;
            }

            public bool isMarubozu() // аналогично, проверяем цвет и разчитываем длину хвостов
            {
                if (color == CandleColor.BLACK)
                    return (openPrice / maxPrice) &amp;gt; 0.9 &amp;amp;&amp;amp; (minPrice/closePrice) &amp;gt; 0.9;

                return (closePrice / maxPrice) &amp;gt; 0.9 &amp;amp;&amp;amp; (minPrice/openPrice) &amp;gt; 0.9;
            }

            public bool isUpHammer()
            {
                if (color == CandleColor.BLACK)
                    return (openPrice / maxPrice) &amp;gt; 0.8 &amp;amp;&amp;amp; (minPrice / closePrice) &amp;lt; 0.8;

                return (closePrice/maxPrice) &amp;gt; 0.8 &amp;amp;&amp;amp; (minPrice/openPrice) &amp;lt; 0.8;
            }


            //1-2
            static public int countMarubozus(JapanCandles[] candles) // А вот статический метод уже должен принимать параметры
            {
                int count = 0;

                foreach (var japanCandle in candles) // проходим по всему массиву
                {
                    if (japanCandle.isMarubozu()) count++; // используем нестатичный метод для каждого элемента
                }

                return count;
            }

            static public int countUpHammers(JapanCandles[] candles) // аналогично
            {
                int count = 0;

                foreach (var japanCandle in candles)
                {
                    if (japanCandle.isUpHammer()) count++;
                }

                return count;
            }

            static public void fillRandom(JapanCandles[] candles) // случайное заполнение
            {
                var r = new Random();

                double val;
                for (int i = 0; i &amp;lt; candles.Count(); i++)
                {
                    val = 100 + Math.Sin(i*10); // Пусть синус
                    candles[i].openPrice = val + r.Next(-10,10);
                    candles[i].closePrice = val + r.Next(-10, 10);
                    candles[i].minPrice = Math.Min(candles[i].openPrice, candles[i].closePrice) + r.Next(-15, -5);
                    candles[i].maxPrice = Math.Max(candles[i].openPrice, candles[i].closePrice) + r.Next(5, 15);

                    if (candles[i].closePrice &amp;gt; candles[i].openPrice) candles[i].color = CandleColor.WHITE;
                    else candles[i].color = CandleColor.BLACK;
                }
            }
        }

        static void Main(string[] args)
        {
            JapanCandles[] candles = new JapanCandles[N]; // создаем, как обычный массив встроенного типа

            JapanCandles.fillRandom(candles); // тут 2 вызова статичных методов, потому имя структуры, а не массива
            int marz = JapanCandles.countMarubozus(candles);

            Console.WriteLine(&amp;quot;{0} marubozus in candles&amp;quot;, marz);
            Console.ReadLine();
        }
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&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;Проект&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3551/</id>
    <title type="text">Неправильный код клиента (Quik)</title>
    <published>2013-04-04T08:08:59Z</published>
    <updated>2013-04-04T08:08:59Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;newuser&lt;/span&gt;&lt;div class="innerquote"&gt;Добрый день!&lt;br /&gt;&lt;br /&gt;Пока не освоил всех премудростей StockSharp и вот при создании заявки &lt;br /&gt;и выставлении ее в стратегии получаю APIException &amp;quot;Неверный код клиента&amp;quot;.&lt;br /&gt;&lt;/div&gt;&lt;/div&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;

qt.FormatTransaction += transaction =&amp;gt;{ transaction.SetClientCode(&amp;quot; &amp;quot;)};
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;[11:16:16] Самунджян Артём: если у Вас спец. код какой то&lt;br /&gt;[11:16:26] Самунджян Артём: то его можно вручную установить через транзакции&lt;br /&gt;[11:16:38] Самунджян Артём: qt= QuikTrader</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3538/</id>
    <title type="text">Wealth-Lab Adapter</title>
    <published>2013-04-01T15:21:27Z</published>
    <updated>2013-04-01T15:21:27Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">&lt;span style="font-size:120%"&gt;Wealth-Lab адаптер!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://stocksharp.com/posts/m/25484/" title="http://stocksharp.com/posts/m/25484/"&gt;Автообновлние Wealth-Lab Adapter&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://stocksharp.com/doc/?topic=html/b65b25d8-871b-4d37-bfd4-c85e02996f99.htm" title="http://stocksharp.com/doc/?topic=html/b65b25d8-871b-4d37-bfd4-c85e02996f99.htm"&gt;Инструкции&lt;/a&gt;&lt;/ol&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3535/</id>
    <title type="text">1 урок</title>
    <published>2013-04-01T09:03:33Z</published>
    <updated>2013-04-01T09:03:33Z</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=167880434&amp;amp;hash=1b0e6cacc49f7e2b&amp;amp;hd=3[/vk]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;a href="http://stocksharp.com/forum/3475/Proghrammy-nieobkhodimyie-dlia-raboty/" title="http://stocksharp.com/forum/3475/Proghrammy-nieobkhodimyie-dlia-raboty/"&gt;Программы для работы&lt;/a&gt;&lt;/span&gt;&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=AQAAAAAAAAAIzJHwV0tlbjaFgHtJkJp1RpsAKm7h1P6kVSTGR9DVZrIZMrUztLQyuyDatHtctlIyOwAsM0UROG0tqTLgNzgT" title="https://www.dropbox.com/s/e7swc6c4ex5yeen/Lesson%25201.pptx?m"&gt;&lt;b&gt;Презентация урока&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Intro&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Самое нужное о C# программировании!&lt;br /&gt;Потребуется Microsoft Visual Studio 2012 + Resharper 7 (совместимый со студией вашей версии)&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;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAIzJHwV0tlbjaFgHtJkJp1udeb4-9tOkFNI0SgJ5SquZK83PC1m6TRm3AbyElVjZ6hJDrfNUkl7CMjjlfNoamo" title="https://www.dropbox.com/sh/alzz78wp6ofu3kg/2nTqK0v3Rw"&gt;Герберт Шилд (хорошая книга по программированию)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt; Темы занятия 1 (Использование базовых конструкций C#)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;•	Вводное слово по C#, MSVS, Resharper.&lt;br /&gt;•	Обзор типов проектов и решаемые ими задачи.&lt;br /&gt;•	Как работать с исходными кодами, редактор текста. Компилирование проекта.&lt;br /&gt;•	Основные типы C# .NET.&lt;br /&gt;•	Пространство имен. Константы,  комментарии, переменные. &lt;br /&gt;•	Операторы ветвлений, выбора (If..else, switch, ?:)&lt;br /&gt;•	Логические, условные, унарные, операторы равенства.&lt;br /&gt;•	Циклы (for, while, do ... while)&lt;br /&gt;•	Перечисления. Массивы.&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_da490e24d45140d19291f685c8d390d0');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_da490e24d45140d19291f685c8d390d0' 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;

            var r = new Random();
            const int tradeprice = 15110;
            const int stoppins = 300;
            const int buystoploss = tradeprice - stoppins;
            int activationtimes = 0;

            for (int i = 0; i &amp;lt; 100; i++)
            {
                var realPrice = r.Next(14950, 15220);
                if (realPrice &amp;lt; buystoploss)
                {
                    activationtimes++;
                    Console.WriteLine(&amp;quot;OMG, stoploss activated! {0} exitprice = {1}&amp;quot;, activationtimes, realPrice);
                }
                else
                {
                    Console.WriteLine(&amp;quot;Profit = {0}&amp;quot;, realPrice - tradeprice);
                }

                Thread.Sleep(100);
            }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:140%"&gt;&lt;b&gt;Домашнее задание&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Пользуясь знаниями, полученными из первого урока, написать программу, примитивно моделирующую предоставление&lt;br /&gt;кредитного плеча (см. видео). Использовать цикл, switch, enum, условные переходы.&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_27eb72e4a0324331b16d3080a6a16eae');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_27eb72e4a0324331b16d3080a6a16eae' 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;

namespace Hometask
{
    class Program
    {
		enum Command { BUY, SELL, QUIT}
		
        private static void Main(string[] args)
        {
		
			// TODO: обозначить параметры
			
			// TODO: цикл, проверяющий, не прервать ли всё + Sleep(100)
			
			// TODO: switch + Command, проверяет команды

			// TODO: расчет +/- 
			
			// Проверка счета на Marging Call
			
			
            Console.ReadLine();
        }
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&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;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_7ad9c14d961f4fdcb5d0508e1635bb1b');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_7ad9c14d961f4fdcb5d0508e1635bb1b' 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;

namespace Hometask1
{
    class Program
    {
        enum Command { BUY, SELL, QUIT }  //Перечисление

        static void Main(string[] args)
        {
            string input;
            Command command;

            int account = 5000;  //Сколько денег было
            double shoulder = 0.01;  // Кредитное плечо

            int total_money = (int) (account/shoulder);  // Денег участвуют изначально
            int all_money = total_money; // Денег участвуют в процессе
            var r = new Random();

            do
            {
                Console.WriteLine(&amp;quot;What do you want?&amp;quot;);
                input = Console.ReadLine(); // читаем команду с консоли
                command = (Command)Enum.Parse(typeof(Command), input.ToUpper());  // String to Enum

                switch (command)  // Если команда
                {
                        case Command.SELL:  //Продавать
                         Console.WriteLine(&amp;quot;SELLING&amp;quot;);  // Продаем
                        break;
                        case Command.BUY: // Покупать
                         Console.WriteLine(&amp;quot;BUYING&amp;quot;);  // покупаем                      
                        break;
                }
				//Случайно генерируем, как изменился счет
                all_money = all_money * r.Next(97, 103) / 100;  // 97 - 103 

                if ((total_money - all_money) &amp;gt; account)  // Считаем прибыль/убыль, тчонее сравниваем
                {
                    Console.WriteLine(&amp;quot;MARGIN CALL!!!&amp;quot;); // Если много в минус - марджин колл, команду ставим на выход
                    command = Command.QUIT;
                }

            } while (command != Command.QUIT);  // Проверяем, нет ли команды прекращения

            Console.WriteLine(&amp;quot;Money for you = {0}&amp;quot;, all_money * shoulder);  // Результат, можно что-то иное вывести
            Console.ReadLine();
        }
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&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=AQAAAAAAAACea69Yubj4rTHN-y05qrso-iDxxf0jymUP8bAGqox8n5lDr4yANJrcrz7QT7lgxRxKtJa6AE_vThaX-HYtkkCz" title="http://www.rsdn.ru/article/mag/200401/codestyle.XML"&gt;Оформление кода C#&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" href="http://msdn.microsoft.com" title="http://msdn.microsoft.com"&gt;MSDN&lt;/a&gt; -- База знаний онлайн&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADYcgjQrOMTq5ZWXVJsBigQfE8O54J44ftyYqvWvtUj3g" title="http://www.cyberforum.ru/"&gt;Задать вопросы русским&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADaUgqeUiMvqHjAqLN3xr_ck2nkzkKKdLfZxP4NaQVjWg" title="http://stackoverflow.com/"&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;&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/3521/</id>
    <title type="text">Подключение к PlazaII(Тестовый сервер)</title>
    <published>2013-03-28T11:02:20Z</published>
    <updated>2013-03-28T11:02:20Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Обучение" />
    <content type="html">Вопросы/ответы - Skype&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 readonly PlazaTrader _trader = new PlazaTrader();

            const string adress = &amp;quot;127.0.0.1:4001&amp;quot;;
            _trader.Address = adress.To&amp;lt;IPEndPoint&amp;gt;();

            _trader.Connected += () =&amp;gt;
            {

            };
            _trader.Connect();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;может не коннектится к тестовой плазе? &lt;br /&gt;Причем самое важное и главное - &lt;b&gt;пример SampleGUI коннектится и в нем, в обработчике нажатия Connect я оставил ровно такой же код..&lt;/b&gt;&lt;br /&gt;Логин/пароль введены были при установке роутера (ну это и не важно - семпл гуи же коннектится без лог пасса)..&lt;br /&gt;[27.03.2013 20:06:02] Самунджян Артём: &lt;b&gt;&lt;span style="font-size:120%"&gt;Построить под x64&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;[27.03.2013 20:07:54 | Изменены 20:09:29] Юрий: а пример то под любой проц построен..&lt;br /&gt;[27.03.2013 20:07:59] Юрий: сейчас попробую&lt;br /&gt;[27.03.2013 20:08:37] Юрий: А как так?)&lt;br /&gt;[27.03.2013 20:09:00] Юрий: Заработало.</content>
  </entry>
</feed>