﻿<?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">Событийный подход</title>
  <id>~/topic/1480/sobytiinyi-podhod/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-16T21:16:54Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1480" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/7708/</id>
    <title type="text">Проблема, для меня по крайней мере, в том, что в документации фрагменты кода, а работающего примера ...</title>
    <published>2011-04-26T23:32:16Z</published>
    <updated>2016-08-16T02:34:29Z</updated>
    <author>
      <name>Roman0</name>
      <uri>https://stocksharp.com/users/6034/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7693/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7691/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Проблема, для меня по крайней мере, в том, что в документации фрагменты кода, а работающего примера нет. Спасибо за ответы!&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;У вас как с языком C#? Событийная модель построена на делегатах, Action и Func. Прочитайте что это такое и как используется. Я подозреваю, что вы просто подошли к задаче не с того конца. &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Я недавно начал разбираться со всем этим и вроде бы более менее разобрался, по крайней мере с Action и Func [smile] (прямо из закладок ссылки, может кому будет интересно [smile] &lt;br /&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/ru-ru/library/dd460699
" title="http://msdn.microsoft.com/ru-ru/library/dd460699
"&gt;http://msdn.microsoft.com/ru-ru/library/dd460699
&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/ru-ru/library/ms173171(" title="http://msdn.microsoft.com/ru-ru/library/ms173171("&gt;http://msdn.microsoft.com/ru-ru/library/ms173171(&lt;/a&gt;v=VS.90).aspx&lt;br /&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/ru-ru/library/bb397687(" title="http://msdn.microsoft.com/ru-ru/library/bb397687("&gt;http://msdn.microsoft.com/ru-ru/library/bb397687(&lt;/a&gt;v=VS.90).aspx&lt;br /&gt;&lt;br /&gt;Все-таки было бы очень желательно, чтобы такие ключевые вещи имели более подробные объяснения (см. например &lt;a href="http://stocksharp.com/forum/1287/ " title="http://stocksharp.com/forum/1287/ "&gt;http://stocksharp.com/forum/1287/ &lt;/a&gt;и &lt;a href="http://stocksharp.com/forum/1214/ActionStrategy-chastota-provierki-1-siek/ " title="http://stocksharp.com/forum/1214/ActionStrategy-chastota-provierki-1-siek/ "&gt;http://stocksharp.com/fo...stota-provierki-1-siek/ &lt;/a&gt;) и рабочие примеры с разнообразными вариантами применения. А уж с какой целью &amp;quot;делать событие периодичным&amp;quot; ( &lt;a href="http://stocksharp.com/doc/help/html/8c0327db-494a-4fe0-aba8-0d4b93dea60e.htm " title="http://stocksharp.com/doc/help/html/8c0327db-494a-4fe0-aba8-0d4b93dea60e.htm "&gt;http://stocksharp.com/do...0-aba8-0d4b93dea60e.htm &lt;/a&gt;) и что и как конкретно делает MakePeriodical (про собственно период до сих пор ничего не известно [smile]) из описания малопонятно. Я подозреваю, что там все просто и логично, но из документации это сразу понять для начинающего все-таки сложновато (не претендую на суперсообразительность [smile]).&lt;br /&gt;&lt;br /&gt;UPD&lt;br /&gt;Еще добавлю для ясности: я не использую импорт из таблицы всех сделок и CandleManager для формирования свечей. И вот эти два замечания несколько меня дезориентировали:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;ustas&lt;/span&gt;&lt;div class="innerquote"&gt;Так всё таки проверка выполнения условия When в ActionStrategy - происходит ежесекундно , а не по событию?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov&lt;/span&gt;&lt;div class="innerquote"&gt;Да, ActionStrategy с некоторым периодом смотрит на появления сигналов от условий. Уменьшать такой период можно через Strategy.Interval.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov&lt;/span&gt;&lt;div class="innerquote"&gt;ActionToken - это структура, которая содержит условие и действие. ActionStrategy &lt;b&gt;проверяет&lt;/b&gt; (периодически?) коллекцию таких токенов путем вызова условия&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Было бы хорошо, если бы механизм работы стратегии, в частности по обработке зарегистрированных условий, был бы где-то четко описан. Наверное для старожилов все уже с этим ясно, но ведь появляются и новички [smile]</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7092/</id>
    <title type="text">Попробовал и с конструктором, и без - говорит, что не может получить значение _candleBounds. Хотя _c...</title>
    <published>2011-03-28T12:03:40Z</published>
    <updated>2016-07-28T18:20:56Z</updated>
    <author>
      <name>poilka</name>
      <uri>https://stocksharp.com/users/28519/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Попробовал и с конструктором, и без - говорит, что&lt;br /&gt;не может получить значение _candleBounds.&lt;br /&gt;Хотя _candleManager на месте, и на остальные поля не ругается.&lt;br /&gt;Вот такой неуспех. &lt;br /&gt;&lt;br /&gt;&lt;a href='https://stocksharp.com/file/101499/Orders.zip' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.com/file/101499/Orders.zip?size=800x800" alt=""/&gt;&lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7693/</id>
    <title type="text">Проблема, для меня по крайней мере, в том, что в документации фрагменты кода, а работающего примера ...</title>
    <published>2011-04-26T17:29:00Z</published>
    <updated>2011-04-26T17:29:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7691/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Проблема, для меня по крайней мере, в том, что в документации фрагменты кода, а работающего примера нет. Спасибо за ответы!&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;У вас как с языком C#? Событийная модель построена на делегатах, Action и Func. Прочитайте что это такое и как используется. Я подозреваю, что вы просто подошли к задаче не с того конца. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7691/</id>
    <title type="text">Вопрос как\где контролируется с какой периодичностью (и сколько раз?) будет выполняться действие? Ес...</title>
    <published>2011-04-26T16:56:54Z</published>
    <updated>2011-04-26T16:56:54Z</updated>
    <author>
      <name>Roman0</name>
      <uri>https://stocksharp.com/users/6034/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7685/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7671/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Вопрос как\где контролируется с какой периодичностью (и сколько раз?) будет выполняться действие?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если просто MakePeriodica(), то бесконечно. Если через перегруженный метод&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/help/html/O_T_Ecng_Trading_Algo_Strategies_ActionRule_MakePeriodical.htm " title="http://stocksharp.com/doc/help/html/O_T_Ecng_Trading_Algo_Strategies_ActionRule_MakePeriodical.htm "&gt;http://stocksharp.com/do...Rule_MakePeriodical.htm &lt;/a&gt;Через то можно указывать критерий.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7664/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Дело в том, что нужно, чтобы условия проверялись не периодически, а по событию. Как это сделать?&lt;br /&gt;&lt;br /&gt;Вопрос очень прост: как выполнять вычисления по собственной стратегии (и в результате выставлять заявки, выдавать какие-то сообщения и т.п.) &lt;b&gt;по событию&lt;/b&gt; (не периодически!) появления или изменения свечей используя Strategy и &lt;a href="http://stocksharp.com/doc/help/html/2c3a0d3a-6e89-42a1-a158-9a258e0a62e1.htm" title="http://stocksharp.com/doc/help/html/2c3a0d3a-6e89-42a1-a158-9a258e0a62e1.htm"&gt;преимущества&lt;/a&gt; такого подхода (как это сделать без привлечения Strategy понятно)?. Такое возможно? Если кто-то напишет пример или даже без кода, но с названиями классов\методов опишет как это сделать буду очень благодарен )&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Мы опять вернулись к началу. Нужно использовать событийную модель. Как это сделать я показал в документации.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Проблема, для меня по крайней мере, в том, что в документации фрагменты кода, а работающего примера нет. Спасибо за ответы!</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7685/</id>
    <title type="text">Вопрос как\где контролируется с какой периодичностью (и сколько раз?) будет выполняться действие? Ес...</title>
    <published>2011-04-26T15:54:05Z</published>
    <updated>2011-04-26T15:54:05Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7671/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Вопрос как\где контролируется с какой периодичностью (и сколько раз?) будет выполняться действие?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если просто MakePeriodica(), то бесконечно. Если через перегруженный метод&lt;br /&gt;&lt;a href="http://stocksharp.com/doc/help/html/O_T_Ecng_Trading_Algo_Strategies_ActionRule_MakePeriodical.htm " title="http://stocksharp.com/doc/help/html/O_T_Ecng_Trading_Algo_Strategies_ActionRule_MakePeriodical.htm "&gt;http://stocksharp.com/do...Rule_MakePeriodical.htm &lt;/a&gt;Через то можно указывать критерий.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7664/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Дело в том, что нужно, чтобы условия проверялись не периодически, а по событию. Как это сделать?&lt;br /&gt;&lt;br /&gt;Вопрос очень прост: как выполнять вычисления по собственной стратегии (и в результате выставлять заявки, выдавать какие-то сообщения и т.п.) &lt;b&gt;по событию&lt;/b&gt; (не периодически!) появления или изменения свечей используя Strategy и &lt;a href="http://stocksharp.com/doc/help/html/2c3a0d3a-6e89-42a1-a158-9a258e0a62e1.htm" title="http://stocksharp.com/doc/help/html/2c3a0d3a-6e89-42a1-a158-9a258e0a62e1.htm"&gt;преимущества&lt;/a&gt; такого подхода (как это сделать без привлечения Strategy понятно)?. Такое возможно? Если кто-то напишет пример или даже без кода, но с названиями классов\методов опишет как это сделать буду очень благодарен )&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Мы опять вернулись к началу. Нужно использовать событийную модель. Как это сделать я показал в документации.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7671/</id>
    <title type="text">Большое спасибо за ответ! каков смысл MakePeriodical? Сделать действие периодичным (будет вызвано бо...</title>
    <published>2011-04-26T05:38:15Z</published>
    <updated>2011-04-26T08:27:58Z</updated>
    <author>
      <name>Roman0</name>
      <uri>https://stocksharp.com/users/6034/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Большое спасибо за ответ!&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7669/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7664/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;каков смысл MakePeriodical?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Сделать действие периодичным (&lt;b&gt;будет вызвано более одного раза&lt;/b&gt;).&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вопрос как\где контролируется с какой периодичностью (и сколько раз?) будет выполняться действие?&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7669/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7664/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Вопрос такой: можно ли запускать код внутри стратегии по событию? Т.е. пришли новые данные -&amp;gt; очередная проверка условия. Вроде бы это можно сделать запуская всю стратегию (ActionStrategy.Start) по событию без MakePeriodical? Если все это можно сделать как-то еще, то пожалуйста, расскажите как. Как я уже писал, хотелось бы использовать преимущества стратегий. Большое спасибо!&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Через ActionStrategy и добавления событий... Вопрос уже содержит ответ.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Дело в том, что нужно, чтобы условия проверялись не периодически, а по событию. Как это сделать?&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7669/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Или я видимо что-то не понимаю в вопросе, или вы не до конца мысль расписываете. &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Вопрос очень прост: как выполнять вычисления по собственной стратегии (и в результате выставлять заявки, выдавать какие-то сообщения и т.п.) &lt;b&gt;по событию&lt;/b&gt; (не периодически!) появления или изменения свечей используя Strategy и &lt;a href="http://stocksharp.com/doc/help/html/2c3a0d3a-6e89-42a1-a158-9a258e0a62e1.htm" title="http://stocksharp.com/doc/help/html/2c3a0d3a-6e89-42a1-a158-9a258e0a62e1.htm"&gt;преимущества&lt;/a&gt; такого подхода (как это сделать без привлечения Strategy понятно)?. Такое возможно? Если кто-то напишет пример или даже без кода, но с названиями классов\методов опишет как это сделать буду очень благодарен )</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7669/</id>
    <title type="text">Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событ...</title>
    <published>2011-04-25T20:46:03Z</published>
    <updated>2011-04-25T20:46:03Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7664/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7662/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7660/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событию?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Не итерацию, а действие. Так же, как и выше написал, через событийную модель.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Я правильно понял, что условие в When проверяется с периодичностью Strategy.Interval? Если нет, то каков смысл MakePeriodical?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;Сделать действие периодичным (&lt;b&gt;будет вызвано более одного раза&lt;/b&gt;).&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7664/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Вопрос такой: можно ли запускать код внутри стратегии по событию? Т.е. пришли новые данные -&amp;gt; очередная проверка условия. Вроде бы это можно сделать запуская всю стратегию (ActionStrategy.Start) по событию без MakePeriodical? Если все это можно сделать как-то еще, то пожалуйста, расскажите как. Как я уже писал, хотелось бы использовать преимущества стратегий. Большое спасибо!&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Через ActionStrategy и добавления событий... Вопрос уже содержит ответ. Или я видимо что-то не понимаю в вопросе, или вы не до конца мысль расписываете. Как предложение, попробуйте написать практический пример с событиями.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7664/</id>
    <title type="text">Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событ...</title>
    <published>2011-04-25T17:16:44Z</published>
    <updated>2011-04-25T17:16:44Z</updated>
    <author>
      <name>Roman0</name>
      <uri>https://stocksharp.com/users/6034/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7662/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7660/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событию?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Не итерацию, а действие. Так же, как и выше написал, через событийную модель.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Я правильно понял, что условие в When проверяется с периодичностью Strategy.Interval? Если нет, то каков смысл MakePeriodical?&lt;br /&gt;Вопрос такой: можно ли запускать код внутри стратегии по событию? Т.е. пришли новые данные -&amp;gt; очередная проверка условия. Вроде бы это можно сделать запуская всю стратегию (ActionStrategy.Start) по событию без MakePeriodical? Если все это можно сделать как-то еще, то пожалуйста, расскажите как. Как я уже писал, хотелось бы использовать преимущества стратегий. Большое спасибо!</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7662/</id>
    <title type="text">Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событ...</title>
    <published>2011-04-25T16:12:37Z</published>
    <updated>2011-04-25T16:12:37Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Roman0 &lt;a href="https://stocksharp.com/posts/m/7660/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событию?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Не итерацию, а действие. Так же, как и выше написал, через событийную модель.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7660/</id>
    <title type="text">Чтобы не плодить сущности напишу здесь ) Есть ли вообще возможность запускать очередную итерацию стр...</title>
    <published>2011-04-25T15:56:53Z</published>
    <updated>2011-04-25T16:09:46Z</updated>
    <author>
      <name>Roman0</name>
      <uri>https://stocksharp.com/users/6034/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Чтобы не плодить сущности напишу здесь )&lt;br /&gt;Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событию? Хотелось бы воспользоваться преимуществами оформления кода с виде Strategy, но не очень нравится исполнение по времени.&lt;br /&gt;&lt;br /&gt;PS Только начал разбираться, извините, если что пропустил.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7100/</id>
    <title type="text">Ай, сильно не хотелось в лямбды лезть, теперь придется. Спасибо, пойду подтягивать матчасть.</title>
    <published>2011-03-28T15:18:18Z</published>
    <updated>2011-03-28T15:18:18Z</updated>
    <author>
      <name>poilka</name>
      <uri>https://stocksharp.com/users/28519/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Ай, сильно не хотелось в лямбды лезть, теперь придется.&lt;br /&gt;Спасибо, пойду подтягивать матчасть.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7099/</id>
    <title type="text">Попробовал и с конструктором, и без - говорит, что не может получить значение _candleBounds. Хотя _c...</title>
    <published>2011-03-28T14:30:00Z</published>
    <updated>2011-03-28T14:30:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;poilka &lt;a href="https://stocksharp.com/posts/m/7092/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Попробовал и с конструктором, и без - говорит, что&lt;br /&gt;не может получить значение _candleBounds.&lt;br /&gt;Хотя _candleManager на месте, и на остальные поля не ругается.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Потому что там лямбда выражение стоит. Прочитайте, как эта вещь работает. И бряку ставьте во внутрь.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7087/</id>
    <title type="text">Спасибо, буду ковыряться.</title>
    <published>2011-03-28T10:15:36Z</published>
    <updated>2011-03-28T10:15:36Z</updated>
    <author>
      <name>poilka</name>
      <uri>https://stocksharp.com/users/28519/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Спасибо, буду ковыряться.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7081/</id>
    <title type="text"> Стратегия нормально запускается и останавливается из GUI примера SampleSMA, лог пишется, но сделок ...</title>
    <published>2011-03-28T09:11:58Z</published>
    <updated>2011-03-28T09:11:58Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;poilka &lt;a href="https://stocksharp.com/posts/m/7075/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Стратегия нормально запускается и останавливается из GUI примера SampleSMA, лог пишется, но сделок не происходит на любом таймфрейме.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Точка останова, дебаггер и вперед.[smile] &lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7075/</id>
    <title type="text">Доброго всем дня, особенно Михаилу :). Начал осваивать событийный подход, забуксовал. Подскажите, по...</title>
    <published>2011-03-28T07:06:21Z</published>
    <updated>2011-03-28T07:06:21Z</updated>
    <author>
      <name>poilka</name>
      <uri>https://stocksharp.com/users/28519/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Доброго всем дня, особенно Михаилу :).&lt;br /&gt;Начал осваивать событийный подход, забуксовал.&lt;br /&gt;&lt;br /&gt;Подскажите, пожалуйста, как правильно запускать стратегию наподобие той,&lt;br /&gt;что приведена в примере (class MyOwnStrategy : ActionStrategy)?&lt;br /&gt;Нужно ли добавлять в нее конструктор и отдельно передавать Security?&lt;br /&gt;&lt;br /&gt;Сейчас запускаю на ФОРТС так:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;_strategy = new MyOwnStrategy() { Volume = 1 };&lt;br /&gt;_manager.Register(_strategy, this.Portfolios.SelectedPortfolio, _rts);&lt;br /&gt;if (_strategy.ProcessState == StrategyProcessStates.Stopped)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;_strategy.Start();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;_strategy.Stop();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Стратегия нормально запускается и останавливается из GUI примера SampleSMA, лог пишется, но сделок не происходит на любом таймфрейме.&lt;br /&gt;&lt;br /&gt;Лог обычно такой:&lt;br /&gt;MOS 20:34:52.0212958 Стратегия запущена.&lt;br /&gt;MOS 20:36:11.3213772 Стратегия останавливается.&lt;br /&gt;MOS 20:36:11.6273947 Стратегия остановлена.&lt;br /&gt;&lt;br /&gt;Событийную стратегию взял из мануала, без изменений, версия 3.0.&lt;br /&gt;Буду признателен за помощь.&lt;br /&gt;&lt;br /&gt;Весь запускающий код, кроме самой стратегии из примера:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;namespace SampleSMA&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System.Collections.Generic;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System.Linq;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System.ComponentModel;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System.Globalization;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System.IO;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System.Threading;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System.Windows;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using System.Windows.Forms;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using MessageBox = System.Windows.MessageBox;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using AmCharts.Windows.Stock;&lt;br /&gt;    using Ecng.Collections;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Common;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.ComponentModel;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Trading.Algo;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Trading.Algo.Candles;&lt;br /&gt;    using Ecng.Trading.Algo.Logging;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Trading.Algo.Reporting;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Trading.Algo.Strategies;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Trading.BusinessEntities;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Trading.Quik;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Trading.Xaml;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;using Ecng.Xaml;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;public partial class MainWindow&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private readonly TimeSpan _timeFrame = TimeSpan.FromMinutes(1);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private QuikTrader _trader;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private MyOwnStrategy _strategy;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private RealTimeStrategyManager _manager;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private bool _isDdeStarted;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private Security _rts;&lt;br /&gt;        public CandleManager _candleManager;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;public MainWindow()&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; InitializeComponent();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// изменяет текущий формат, чтобы нецелое числа интерпритировалось как разделенное точкой.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; var cci = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name) { NumberFormat = { NumberDecimalSeparator = &amp;quot;.&amp;quot; } };&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;     Thread.CurrentThread.CurrentCulture = cci;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void _orders_OrderSelected(object sender, EventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.CancelOrders.IsEnabled = _orders.SelectedOrders.Count() &amp;gt; 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; protected override void OnClosing(CancelEventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (_trader != null)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_manager.Dispose();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (_isDdeStarted)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;StopDde();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_trader.Dispose();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;base.OnClosing(e);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}    &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void FindPath_Click(object sender, RoutedEventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;var dlg = new FolderBrowserDialog();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (!this.Path.Text.IsEmpty())&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;dlg.SelectedPath = this.Path.Text;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Path.Text = dlg.SelectedPath;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void Connect_Click(object sender, RoutedEventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (_trader == null || !_trader.IsConnected)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (_trader == null)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (this.Path.Text.IsEmpty())&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;MessageBox.Show(this, &amp;quot;Путь к Quik не выбран.&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// создаем шлюз&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_trader = new QuikTrader(this.Path.Text);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// создаем менеджер стратегий&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_manager = new RealTimeStrategyManager(_trader);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Portfolios.Trader = _trader;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_trader.Connected += () =&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;                        _candleManager = new CandleManager(_trader);&lt;br /&gt;&lt;br /&gt;                        _trader.NewSecurities += securities =&amp;gt; this.GuiAsync(() =&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// находим нужную бумагу&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;var rts = securities.FirstOrDefault(s =&amp;gt; s.Code == &amp;quot;RIM1&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (rts != null)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_rts = rts;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.GuiAsync(() =&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Start.IsEnabled = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;});&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_trader.ConnectionError += ex =&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (ex != null)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.GuiAsync(() =&amp;gt; MessageBox.Show(this, ex.ToString()));&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;};&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.GuiAsync(() =&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.ConnectBtn.IsEnabled = false;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.ExportDde.IsEnabled = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Report.IsEnabled = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;};&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_trader.Connect();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_trader.Disconnect();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;       &amp;nbsp; &amp;nbsp;&amp;nbsp;private void OnNewOrder(Order order)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_orders.Orders.Add(order);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.GuiAsync(() =&amp;gt; _chart.Orders.Add(order));&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void OnLog(Strategy strategy, StrategyErrorStates errorState, string message)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// если стратегия вывела не просто сообщение, то вывести на экран.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (errorState != StrategyErrorStates.None)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.GuiAsync(() =&amp;gt; MessageBox.Show(this, message));&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void OnStrategyPropertyChanged(object sender, PropertyChangedEventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.GuiAsync(() =&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Status.Content = _strategy.ProcessState;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.PnL.Content = _strategy.PnLManager.PnL;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Slippage.Content = _strategy.SlippageManager.Slippage;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Position.Content = _strategy.PositionManager.Position;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Latency.Content = _strategy.LatencyManager.Latency;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void StartDde()&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_trader.StartExport();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_isDdeStarted = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void StopDde()&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_trader.StopExport();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_isDdeStarted = false;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void ExportDde_Click(object sender, RoutedEventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (_isDdeStarted)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;StopDde();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;StartDde();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void CancelOrders_Click(object sender, RoutedEventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_orders.SelectedOrders.ForEach(_trader.CancelOrder);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private void Start_Click(object sender, RoutedEventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (_strategy == null)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (this.Portfolios.SelectedPortfolio == null)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;MessageBox.Show(this, &amp;quot;Портфель не выбран.&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// создаем стратегию&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_strategy = new MyOwnStrategy() { Volume = 1 };&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_strategy.Log += OnLog;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_strategy.NewOrder += OnNewOrder;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_strategy.PropertyChanged += OnStrategyPropertyChanged;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// регистрируем стратегию, чтобы она начала обрабатываться&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_manager.Register(_strategy, this.Portfolios.SelectedPortfolio, _rts);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;var fileLogger = new FileStrategyLogger(&amp;quot;{0}_{1:00}_{2:00}.txt&amp;quot;.Put(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day));&lt;br /&gt;                &lt;br /&gt;                fileLogger.Strategies.Add(_strategy);&lt;br /&gt;                &lt;br /&gt;                this.Report.IsEnabled = true;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;            &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;if (_strategy.ProcessState == StrategyProcessStates.Stopped)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_strategy.Start();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Start.Content = &amp;quot;Хватит&amp;quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;_strategy.Stop();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;this.Start.Content = &amp;quot;Понеслась&amp;quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;        &lt;br /&gt;        private void Report_Click(object sender, RoutedEventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;var fileName = &amp;quot;report_{0}_{1}.xls&amp;quot;.Put(_strategy.Security.Code, DateTime.Now.ToString(&amp;quot;yyyy_MM_dd_HH_mm&amp;quot;));&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;new ExcelStrategyReport(_strategy, System.IO.Path.Combine(Directory.GetCurrentDirectory(), fileName)).Generate();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>