﻿<?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=forum&amp;page=205</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-24T23:31:01Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=forum&amp;page=205" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/1975/</id>
    <title type="text">Возможны ли конфликты разных версий S#?</title>
    <published>2011-10-04T09:06:07Z</published>
    <updated>2011-10-04T09:06:07Z</updated>
    <author>
      <name>FiNick</name>
      <uri>https://stocksharp.ru/users/6053/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Ситуация такая: есть робот на S# 3.0 для квика, хорошо отработан, несколько месяцев стабильной работы.&lt;br /&gt;Запускаю одновременно с первым другого робота, на S# 4.0 для плазы. Через пару часов в первом роботе вылетает какая-то странная несуразная ошибка, мол такая-то переменная типа Order равна null, а я с ней что-то сделать пытаюсь, копаюсь в коде, ошибки не нахожу, все норм должно быть.&lt;br /&gt;Через пол часа уже в роботе для плазы вылетает ошибка, тоже null exception связанная с каким-то ордером, опять же покопался в коде найти ошибку не смог.&lt;br /&gt;&lt;br /&gt;Подозреваю конфликты dll</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1974/</id>
    <title type="text">QUIK RPS ошибка Поле &amp;quot;Цена&amp;quot; не установлено</title>
    <published>2011-10-03T13:35:03Z</published>
    <updated>2011-10-03T13:35:03Z</updated>
    <author>
      <name>Maxim K.</name>
      <uri>https://stocksharp.ru/users/60/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

              Order o = new Order();
              Portfolio p = new Portfolio() { Name = oi.Account };
              o.Type = OrderTypes.Rps;
              o.RpsInfo = new RpsOrderInfo()
              {
                  
                  Partner=&amp;quot;SPBFUT&amp;quot;
              };
              o.Volume = Convert.ToDecimal(oi.Volume);
              o.Direction = mainOrdersDirection;
              o.Portfolio = p;
              o.Price = price;
              o.Security = new Security() { Class = &amp;quot;PSFUT&amp;quot;, Code = security.Code };
              if (matchRef != null)
              {
                  o.RpsInfo.MatchRef = matchRef;
              }
              trader.RegisterOrder(o);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;При выполнении такого кода в событии Ordersfailed приходит ошибка &lt;br /&gt;&lt;br /&gt;---------------------------&lt;br /&gt;&lt;br /&gt;---------------------------&lt;br /&gt;Код ошибки Failed Сообщение  Не указано значение поля &amp;quot;Цена&amp;quot;&lt;br /&gt;---------------------------&lt;br /&gt;ОК   &lt;br /&gt;---------------------------&lt;br /&gt;&lt;br /&gt;Цена там точно указывается - ставил бряшку, проверял поле Price у o - оно такое, как надо.&lt;br /&gt;Такое ощущение что в просто забыли установить поле Price ) &lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1973/</id>
    <title type="text">События S#</title>
    <published>2011-10-03T12:14:13Z</published>
    <updated>2011-10-03T12:14:13Z</updated>
    <author>
      <name>Yura</name>
      <uri>https://stocksharp.ru/users/251/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">в общем алгоритм таков &lt;br /&gt;Заключается он в том, что отслеживает последние цены по двум инструментам одновременно и заносить в 2 разных массива.&lt;br /&gt;Единственная проблема в том что я не могу получить LastTrade из квика..Как мне такое сделать? Какие события использовать?&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 static Security _msich;
private static Security _ceen;
const string secCode = &amp;quot;MSICH&amp;quot;;
const string secCode2 = &amp;quot;CEEN&amp;quot;;
-----
while (true)
{
var mid = _msich.LastTrade.Price;
var mid2 = _ceen.LastTrade.Price;


//Далее нужно подписываться на события..какие?
if (LastId &amp;lt; _msich.LastTrade.Id)
{
Mass.Add(mid);
LastId = _msich.LastTrade.Id;
}
if (LastId &amp;lt; _ceen.LastTrade.Id)
{
Mass2.Add(mid2);
LastId2 = _ceen.LastTrade.Id;
}
}
------&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1972/</id>
    <title type="text">Дневник робота</title>
    <published>2011-10-03T12:07:10Z</published>
    <updated>2011-10-03T12:07:10Z</updated>
    <author>
      <name>StockSharp</name>
      <uri>https://stocksharp.ru/users/341/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">Всем привет! В нашем &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAbncQVTu8T5yVB2LlB47S-Mq7dn2OjDf4HnRIEWA6wGQ" title="http://stocksharp.blogspot.com/"&gt;блоге &lt;/a&gt;поместил два поста о результатах работы одного нашего торгового робота. Идея для стратегии моя, реализация - Муханчиков Александр. Первый пост &amp;quot;как бы&amp;quot; двухмесячной давности. Еще тогда хотел поместить его, но ждал, когда на сайте появится раздел Статьи. В итоге решил, что так все интересное пройдет и запостил в блог. Второй пост со свежими данными, только что из печки. Присоединяйтесь к обсуждению и пишите о своих успехах!&lt;br /&gt;&lt;br /&gt;Вот выдержка из статьи&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Итак, мы имеем систему с очень привлекательными показателями доходности, и нам не хотелось бы отказываться от неё. Что же делать? Давайте вернемся с устойчивости самой системы. График оптимизации значений параметра, как мы помним, имеет плохую картинку, которая предостерегает нас о возможности переоптимизации – подгонки под определенный цикл рынка. Эту подгонку под определенный период рынка мы можем увидеть, посмотрев на распределение прибыли по месяцам. ( В WLD – это вкладка By Period, выбираем период по месяцам). Если стратегия подогнана под определенный рыночный цикл, следует ожидать, что будут сильно выделяться несколько месяцев по прибыли, также будут месяцы по прибыли близкие к 0 или же вовсе убыточные. &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='http://4.bp.blogspot.com/-Vs2k1kd2hNQ/TombBMJoHAI/AAAAAAAAADY/uFyNEQHV3l4/s1600/perf.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://4.bp.blogspot.com/-Vs2k1kd2hNQ/TombBMJoHAI/AAAAAAAAADY/uFyNEQHV3l4/s1600/perf.png" style='max-width: 600px;' alt="торговые роботы" title="торговые роботы" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Еще хочу предложить создать клуб алготрейдеров. Будем делиться идеями и работать командой. Я уверен, что так будет эффективнее. Я сам готов показать пример и поделиться одними своими разработками из которых может выйти славный робот. &lt;br /&gt;&lt;br /&gt;Вы хотите работать командой и делиться идеями?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1971/</id>
    <title type="text">Расчет ГО</title>
    <published>2011-10-03T11:53:11Z</published>
    <updated>2011-10-03T11:53:11Z</updated>
    <author>
      <name>Serg</name>
      <uri>https://stocksharp.ru/users/484/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="клуб алготрейдеров" />
    <content type="html">Салют.&lt;br /&gt;Хоте бы выяснить кто как считает размер предполагаемого ГО на фортсе в своих роботах? Известна ли кому-нибудь методика хотя бы приблизительного расчета?&lt;br /&gt;Спасибо</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1970/</id>
    <title type="text">В 4.0 перестала работать MarketQuotingStrategy в EmulationTrader</title>
    <published>2011-10-03T11:05:46Z</published>
    <updated>2011-10-03T11:05:46Z</updated>
    <author>
      <name>Justforg</name>
      <uri>https://stocksharp.ru/users/28516/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">subj.  В Trader ProcessDataError событие выдаётся ошибка &amp;quot;System.Exception: Не поддерживаемый тип заявки: Limit&amp;quot;. На других Trader пока что не проверял, впрочем.&lt;br /&gt;&lt;br /&gt;В codeplex ревизии 9575 этого ещё не происходило.&lt;br /&gt;&lt;br /&gt;Является ли это багом и/или что с этим предполагается делать?&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1969/</id>
    <title type="text">Логгирование</title>
    <published>2011-10-03T07:38:45Z</published>
    <updated>2011-10-03T07:38:45Z</updated>
    <author>
      <name>Артем_2</name>
      <uri>https://stocksharp.ru/users/27723/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Добрый день!&lt;br /&gt;После перехода на S#4.0 столкнулся со следующими проблемами логгирования:&lt;br /&gt;&lt;br /&gt;1. Есть несколько независимых(не находятся в ChildStrategies друг друга) стратегии, которые работают через один и тот же QuikTrader, у них одинаковые Security и Portfolio.&lt;br /&gt;&lt;br /&gt;Для прослушивания каждой из стратегий подключаю обработку события Log:&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;
Strategy.Log += new Action&amp;lt;StockSharp.Algo.Logging.LogMessage&amp;gt;(Strategy_Log)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Проблема в том, что событие обработки заявок (см. пример) срабатывает для каждой из этих стратегий, а не только для той стратегии, в которой происходила эта обработка. Такое ощущение, что Log срабатывает не для стратегии, а для ITrader:&lt;br /&gt;&lt;br /&gt;Например:  &lt;br /&gt;OQS, OSS, OWS - Это 3 независимые стратегии. В OQS запускается котирование, создается заявка и у всех 3-х стратегий срабатывает следующее событие: &lt;br /&gt;&lt;br /&gt;[MarketTime &amp;lt;10:45:51.076&amp;gt;]:[OQS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;[MarketTime &amp;lt;10:45:51.233&amp;gt;]:[OSS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;[MarketTime &amp;lt;10:45:51.234&amp;gt;]:[OWS] Обработка Limit заявки 38623862 на Sell с номером 935182789.&lt;br /&gt;&lt;br /&gt;2. Попытался реализовать свой ILogListener&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 class MessageBoardLogListener : ILogListener
    {
        public void WriteMessage(LogMessage message)
        {
            string msg = string.Format(&amp;quot;[{0}] {1}&amp;quot;, message.Source.Name, message.Message);
            Info.Inform(msg, message.Type.ConvertStrategyErrorState());
        }
    }

   Потом в другом классе подключаю созданный MessageBoardLogListener к LogManager
        
    class SomeClass
    {
        Strategy _Strategy;

        //создаю  _LogManager 
        public SomeClass()
        {
          this._LogManager = new LogManager();
          this._LogManager.Listeners.Add(new MessageBoardLogListener());
          this._LogManager.Sources.Add(this._Strategy);
        }

    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;   После этого, как я понимаю, при возникновении события _Strategy.Log оно должно обрабатываться в     MessageBoardLogListener.WriteMessage, однако этого не происходит. Подскажите, пожалуйста, что я делаю не так? &lt;br /&gt;&lt;br /&gt;3. При запуске стратегии (вызов Start()) в событие Log начинает выводиться ВСЯ ИСТОРИЯ обработки заявок. Т.е. выводятся сообщения типа:&lt;br /&gt;[MarketTime &amp;lt;10:45:51.234&amp;gt;]:[OWS] Обработка Limit заявки 38623862 на Sell с номером 935182789 &lt;br /&gt;для всех заявок, которые уже отработали в прошлом.&lt;br /&gt; - Это вызывает огромные неудобства, т.к. при активном использовании котирования запуск стратегии начинает занимать несколько минут из-за большого списка заявок.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1968/</id>
    <title type="text">Вечерняя сессия Фортс</title>
    <published>2011-10-02T19:12:58Z</published>
    <updated>2011-10-02T19:12:58Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.ru/users/6384/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Подскажите где взять тики с вечерней сессии Фортс предыдущего дня?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Роман.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1967/</id>
    <title type="text">Использование S# вне стратегий</title>
    <published>2011-10-02T03:54:15Z</published>
    <updated>2011-10-02T03:54:15Z</updated>
    <author>
      <name>Siber</name>
      <uri>https://stocksharp.ru/users/28365/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Доброго дня! &lt;br /&gt;Возможно такие вопросы уже задавались, но навскидку не нашел, поэтому извините новичка если дублирование :)&lt;br /&gt;&lt;br /&gt;А вопросы про использование S# без/вне стратегий:&lt;br /&gt;1. &lt;br /&gt;Событие NewMyTrades после исполнения Заявки вне стратегии происходит? Или для сопоставления Сделка-Заявка нужна Стратегия? (вопрос разумности не использовать стратегии - это другой вопрос - наверное, вопрос вкуса)&lt;br /&gt;2.&lt;br /&gt;Если по Заявке весь объем прошел по Моим Сделкам, а ее статус &amp;quot;Исполнена&amp;quot; еще не пришел - ее статус меняется? &lt;br /&gt;3. &lt;br /&gt;После подключения и запуска экспорта гарантированно ли приходят предыдущие заявки и мои сделки за текущую сессию (или за календарный день)?&lt;br /&gt;&lt;br /&gt;Заранее благодарю :)</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1966/</id>
    <title type="text">Как проверить, запущен ли уже экспорт по стакану.</title>
    <published>2011-10-01T09:31:21Z</published>
    <updated>2011-10-01T09:31:21Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Добрый день.&lt;br /&gt;&lt;br /&gt;1) Правильно ли я понимаю, что пока не запущен хотя бы один раз RegisterQuotes для сатакана, &lt;br /&gt;значение глубины стакана GetMarketDepth(security).Depth не определено? &lt;br /&gt;Тоесть, что бы узнать глубину стакана, необходимо по нему предворительно запустить экспорт?&lt;br /&gt;&lt;br /&gt;2) Как узнать, запущен ли уже экспорт для данного стакана?&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1965/</id>
    <title type="text">Проблемы при StreamTimeOut &amp;lt; 100 мс</title>
    <published>2011-09-30T12:21:29Z</published>
    <updated>2011-09-30T12:21:29Z</updated>
    <author>
      <name>frontman</name>
      <uri>https://stocksharp.ru/users/28487/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">При уменьшении StreamTimeOut до 50 через некоторое время прекращают поступать данные.&lt;br /&gt;А если делать этот параметр равным например 100 то данные поступают очень медленно...</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1964/</id>
    <title type="text">Прекращение получения данных при остановки дочерних стратегий</title>
    <published>2011-09-30T11:02:47Z</published>
    <updated>2011-09-30T11:02:47Z</updated>
    <author>
      <name>frontman</name>
      <uri>https://stocksharp.ru/users/28487/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Вещь странная и мне не понятная)&lt;br /&gt;Т.е. Есть стратегия в ней постоянно обрабатывается стакан, и в этой стратегии применяются защитные стратегии в частности StopLossStrategy. При остановки одной из дочерних стратегий получение данных основной стратегией да и вообще   &lt;br /&gt;PlazaTrader останавливается...&lt;br /&gt;Я думал это из за ошибки внутри самой StopLossStrategy. создал свою защитную стратегию. Все равно эффект тот же. Притом если останавливать мою стратегию вот так&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;
this.When(Security.LastTradePriceLessAbsolute(stopPrice))
                    .Do(() =&amp;gt;
                            {
                               ...
                                Stop();
                            })
                    .Once();&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;
 this.When(this.StrategyNewOrder())
                .Do(Stop)
                .Once();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;То перестают)&lt;br /&gt;В чем проблема может быть не знаете?&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1963/</id>
    <title type="text">Наследники ProtectiveStrategy</title>
    <published>2011-09-30T08:26:16Z</published>
    <updated>2011-09-30T08:26:16Z</updated>
    <author>
      <name>frontman</name>
      <uri>https://stocksharp.ru/users/28487/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">При наследовании от класса ProtectiveStrategy кроме моих реализованных алгоритмов выставления заявок, выполняются еще какие то(видимо которые были определены в ProtectiveStrategy).&lt;br /&gt;В связи с этим вопрос : Какие механизмы защиты уже заложены в классе ProtectiveStrategy?&lt;br /&gt;И если я хочу создать свою StopLossStrategy от какого класса мне лучше наследоваться?&lt;br /&gt;Спасибо.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1962/</id>
    <title type="text">FortsDailyData.GetYesterdaySecurityData возвращает некорректные значения</title>
    <published>2011-09-30T07:58:52Z</published>
    <updated>2011-09-30T07:58:52Z</updated>
    <author>
      <name>Supervisor</name>
      <uri>https://stocksharp.ru/users/27975/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Инструмент - RIZ1&lt;br /&gt;Вчерашняя дата - 29.09&lt;br /&gt;&lt;br /&gt;Возвращает цены:&lt;br /&gt;Low:131910 Hi:139975 Close:138405&lt;br /&gt;&lt;br /&gt;Хотя на самом деле если открыть график в квике, видно что это не так.&lt;br /&gt;Цену low он получается берет за 28 число, high - правильно, а close - вообще непонятно откуда такое число.&lt;br /&gt;&lt;br /&gt;Если использовать FortsDailyData.GetSecurityData - результат тот же.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1961/</id>
    <title type="text">DdeTableColumn</title>
    <published>2011-09-30T07:19:43Z</published>
    <updated>2011-09-30T07:19:43Z</updated>
    <author>
      <name>lshaton</name>
      <uri>https://stocksharp.ru/users/28006/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Вот это строка работала в 3.2.9&lt;br /&gt;&lt;br /&gt;ardRIZ1[0] = (decimal)_contactMICEX.ExtensionInfo[DTCZnachenie];&lt;br /&gt;&lt;br /&gt;А когда перешел на 3.4 не находит ключа, хотя ключ по-прежнему есть и это видно и по определениям,&lt;br /&gt;приведенным ниже&lt;br /&gt; &lt;br /&gt;private RealTimeEmulationTrader&amp;lt;QuikTrader&amp;gt; _trader;&lt;br /&gt;public DdeTableColumn DTCZnachenie = new DdeTableColumn(&amp;quot;Значение&amp;quot;, typeof(decimal));&lt;br /&gt;_trader.Trader.SecuritiesTable.Columns.Add(DTCZnachenie);&lt;br /&gt;&lt;br /&gt; и по фактическим значениям, приведенным на картинке: &lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABVFjLzb83U1ko2ebdKsJpOTlJ9ZGezNwto2RNTFoBP5AqoK-DBoMuc4rAI571LnBnvQphiF3bUywGGckxVBO6cLZ5lsiF2UrrD5A_YF04b_nniLWtSxBDak1iTAqLbhfo0Sa-aQi0a0iDqmSAa7g9a" title="https://docs.google.com/leaf?id=0B6ZdLE9jWB8HOGUzMzM2ZTgtMjcyYy00NDcyLWI3NGQtNTY4ZWIyYzlhNjQ3&amp;amp;hl=en_US
"&gt;https://docs.google.com/...IyYzlhNjQ3&amp;amp;hl=en_US
&lt;/a&gt;&lt;br /&gt;&lt;a href='https://docs.google.com/leaf?id=0B6ZdLE9jWB8HOGUzMzM2ZTgtMjcyYy00NDcyLWI3NGQtNTY4ZWIyYzlhNjQ3&amp;amp;hl=en_US' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://docs.google.com/leaf?id=0B6ZdLE9jWB8HOGUzMzM2ZTgtMjcyYy00NDcyLWI3NGQtNTY4ZWIyYzlhNjQ3&amp;amp;hl=en_US" style='max-width: 600px;' alt="Watch полей _contractMICEX и DTCZnachenie" title="Watch полей _contractMICEX и DTCZnachenie" /&gt;&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1960/</id>
    <title type="text">Настройка EmailLogListener</title>
    <published>2011-09-29T20:56:31Z</published>
    <updated>2011-09-29T20:56:31Z</updated>
    <author>
      <name>Евгений</name>
      <uri>https://stocksharp.ru/users/6070/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Подскажите, а как настроить EmailLogListener.&lt;br /&gt;Может  чего-то недопонимаю, как может быть достаточно указания только адреса откуда и куда для отправки сообщения? </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1959/</id>
    <title type="text">Гидра. S# 4.0</title>
    <published>2011-09-29T15:57:33Z</published>
    <updated>2011-09-29T15:57:33Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">В последней версии Гидры были изменения в SQL. Нужно прогнать следующий скрипт, чтобы новая Гидра смогла работать со старой БД:&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:sql"&gt;
alter proc [dbo].[Security_UpdateById]
	@Id as nvarchar(256),
	@Name as nvarchar(512),
	@Code as nvarchar(256),
	@Class as nvarchar(256),
	@ShortName as nvarchar(256),
	@MinStepSize decimal(18,7),
	@MinStepPrice decimal(18,7),
	@MinLotSize real,
	@Decimals real,
	@OpenPrice decimal(18,7),
	@ClosePrice decimal(18,7),
	@LowPrice decimal(18,7),
	@HighPrice decimal(18,7),
	@State int,
	@Type int,
	@MinPrice decimal(18,7),
	@MaxPrice decimal(18,7),
	@MarginBuy decimal(18,7),
	@MarginSell decimal(18,7),
	@ExpiryDate datetime,
	@SettlementDate datetime,
	@ExtensionInfo nvarchar(max),
	@LastTradeId bigint = null,
	@LastTradeTime datetime2(7) = null,
	@LastTradePrice decimal(18,7) = null,
	@LastTradeVolume decimal(18,7) = null,
	@LastTradeOrderDirection int = null,
	@BestBidPrice decimal(18,7) = null,
	@BestBidVolume decimal(18,7) = null,
	@BestBidOrderDirection int = null,
	@BestAskPrice decimal(18,7) = null,
	@BestAskVolume decimal(18,7) = null,
	@BestAskOrderDirection int = null,
	@Exchange nvarchar(64),
	@UnderlyingSecurityId nvarchar(256),
	@Strike decimal(18,7),
	@OptionType int,
	@Volatility decimal(18,7),
	@TheorPrice decimal(18,7)
as
begin transaction

declare @ExtensionInfoXml xml
set @ExtensionInfoXml = convert(xml, @ExtensionInfo, 1)

declare @FinamMarketId bigint
declare @FinamSecurityId bigint
declare @Source nvarchar(128)
declare @TradeSource nvarchar(128)
declare @DepthSource nvarchar(128)
declare @IsSelected bit
declare @TradeCount int
declare @DepthCount int
declare @LastUpdateTime datetime

set @FinamMarketId = @ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;FinamMarketId&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;bigint&amp;#39;)
set @FinamSecurityId = @ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;FinamSecurityId&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;bigint&amp;#39;)
set @Source = @ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;Source&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;nvarchar(128)&amp;#39;)
set @TradeSource = @ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;TradeSource&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;nvarchar(128)&amp;#39;)
set @DepthSource = @ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;DepthSource&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;nvarchar(128)&amp;#39;)
set @IsSelected = IsNull(@ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;IsSelected&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;bit&amp;#39;), 0)
set @TradeCount = IsNull(@ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;TradeCount&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;int&amp;#39;), 0)
set @DepthCount = IsNull(@ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;DepthCount&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;int&amp;#39;), 0)
--set @LastUpdateTime = @ExtensionInfoXml.value(N&amp;#39;(/IDictionaryBeginObjectAndObjectEnd/KeyValuePairBeginObjectAndObjectEnd[key/Value = &amp;quot;LastUpdateTime&amp;quot;]/value/Value)[1]&amp;#39;, &amp;#39;datetime&amp;#39;)

begin try
	if (exists(select * from [Security] where Id = @Id))
	begin
		update [Security]
		set
			Name = @Name,
			Code = @Code,
			Class = @Class,
			ShortName = @ShortName,
			MinStepSize = @MinStepSize,
			MinStepPrice = @MinStepPrice,
			MinLotSize = @MinLotSize,
			Decimals = @Decimals,
			OpenPrice = @OpenPrice,
			ClosePrice = @ClosePrice,
			LowPrice = @LowPrice,
			HighPrice = @HighPrice,
			[State] = @State,
			[Type] = @Type,
			MinPrice = @MinPrice,
			MaxPrice = @MaxPrice,
			MarginBuy = @MarginBuy,
			MarginSell = @MarginSell,
			ExpiryDate = @ExpiryDate,
			SettlementDate = @SettlementDate,
			ExtensionInfo = @ExtensionInfo,
			LastTradeId = @LastTradeId,
			LastTradeTime = @LastTradeTime,
			LastTradePrice = @LastTradePrice,
			LastTradeVolume = @LastTradeVolume,
			LastTradeOrderDirection = @LastTradeOrderDirection,
			BestBidPrice = @BestBidPrice,
			BestBidVolume = @BestBidVolume,
			BestBidOrderDirection = @BestBidOrderDirection,
			BestAskPrice = @BestAskPrice,
			BestAskVolume = @BestAskVolume,
			BestAskOrderDirection = @BestAskOrderDirection,
			Exchange = @Exchange,
			UnderlyingSecurityId = @UnderlyingSecurityId,
			Strike = @Strike,
			OptionType = @OptionType,
			Volatility = @Volatility,
			TheorPrice = @TheorPrice
		where
			Id = @Id

		update HydraSecurityInfo
		set
			FinamMarketId = @FinamMarketId,
			FinamSecurityId = @FinamSecurityId,
			[Source] = @Source,
			TradeSource = @TradeSource,
			DepthSource = @DepthSource,
			IsSelected = @IsSelected,
			TradeCount = @TradeCount,
			DepthCount = @DepthCount,
			LastUpdateTime = @LastUpdateTime
		where
			[Security] = @Id
	end
	else
	begin
		insert into [Security]
			(Id, Name, Code, Class, ShortName, MinStepSize, MinStepPrice, MinLotSize, Decimals,
			OpenPrice, ClosePrice, LowPrice, HighPrice, [State], [Type], MinPrice, MaxPrice, MarginBuy, MarginSell, ExpiryDate,
			SettlementDate, ExtensionInfo, LastTradeId, LastTradeTime, LastTradePrice, LastTradeVolume, LastTradeOrderDirection,
			BestBidPrice, BestBidVolume, BestBidOrderDirection, BestAskPrice, BestAskVolume, BestAskOrderDirection, Exchange,
			OptionType, Strike,UnderlyingSecurityId, Volatility, TheorPrice)
		values
			(@Id, @Name, @Code, @Class, @ShortName, @MinStepSize, @MinStepPrice, @MinLotSize, @Decimals,
			@OpenPrice, @ClosePrice, @LowPrice, @HighPrice, @State, @Type, @MinPrice, @MaxPrice, @MarginBuy, @MarginSell, @ExpiryDate,
			@SettlementDate, @ExtensionInfo, @LastTradeId, @LastTradeTime, @LastTradePrice, @LastTradeVolume, @LastTradeOrderDirection,
			@BestBidPrice, @BestBidVolume, @BestBidOrderDirection, @BestAskPrice, @BestAskVolume, @BestAskOrderDirection, @Exchange,
			@OptionType, @Strike, @UnderlyingSecurityId, @Volatility, @TheorPrice)

		insert into HydraSecurityInfo
			([Security], TradeSource, DepthSource, [Source], IsSelected, TradeCount, DepthCount, FinamMarketId, FinamSecurityId, LastUpdateTime)
		values
           (@Id, @TradeSource, @DepthSource, @Source, @IsSelected, @TradeCount, @DepthCount, @FinamMarketId, @FinamSecurityId, @LastUpdateTime)
	end
end try
begin catch
	if @@TRANCOUNT &amp;gt; 0
		rollback transaction
		
	print &amp;#39;Error Number: &amp;#39; + str(error_number()) 
	print &amp;#39;Line Number: &amp;#39; + str(error_line())
	print error_message()
	
	exec usp_RethrowError
end catch

if @@TRANCOUNT &amp;gt; 0
	commit transaction
	
GO

ALTER TABLE [dbo].[Security] ALTER COLUMN [Strike] DECIMAL (18,7) NOT NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [TheorPrice] DECIMAL (18,7) NOT NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [Volatility] DECIMAL (18,7) NOT NULL;

ALTER TABLE [dbo].[Security] ALTER COLUMN [BestAskOrderDirection] INT NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [BestAskPrice] DECIMAL (18,7) NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [BestAskVolume] DECIMAL (18,7) NULL;

ALTER TABLE [dbo].[Security] ALTER COLUMN [BestBidOrderDirection] INT NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [BestBidPrice] DECIMAL (18,7) NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [BestBidVolume] DECIMAL (18,7) NULL;

ALTER TABLE [dbo].[Security] ALTER COLUMN [LastTradeId] BIGINT NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [LastTradePrice] DECIMAL (18,7) NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [LastTradeTime] DATETIME2 (7) NULL;
ALTER TABLE [dbo].[Security] ALTER COLUMN [LastTradeVolume] DECIMAL (18,7) NULL;


ALTER TABLE [dbo].[MarketDataSourceSettings] add FilterBySecurities bit NULL;

go

update [dbo].[MarketDataSourceSettings]
set
	[StorageFolder] = N&amp;#39;&amp;#39;
where
	[StorageFolder] is null

update [dbo].[MarketDataSourceSettings]
set
	FilterBySecurities = 0
where
	FilterBySecurities is null

go

ALTER TABLE [dbo].[MarketDataSourceSettings] ALTER COLUMN [StorageFolder] [nvarchar](2048) NOT NULL;
ALTER TABLE [dbo].[MarketDataSourceSettings] ALTER COLUMN FilterBySecurities bit NOT NULL;

go

alter proc [dbo].[MarketDataSourceSettings_UpdateBySourceId]
	@SourceId as uniqueidentifier,
	@IsEnabled as bit,
	@WorkingFrom as time(7),
	@WorkingTo as time(7),
	@Interval as time(7),
	@DumpFolder nvarchar(2048),
	@StorageFolder nvarchar(2048),
	@ExtensionInfo nvarchar(max),
	@FilterBySecurities bit
as
if (exists(select * from MarketDataSourceSettings where SourceId = @SourceId))
	update MarketDataSourceSettings
	set
		IsEnabled = @IsEnabled,
		WorkingFrom = @WorkingFrom,
		WorkingTo = @WorkingTo,
		Interval = @Interval,
		DumpFolder = @DumpFolder,
		StorageFolder = @StorageFolder,
		ExtensionInfo = @ExtensionInfo,
		FilterBySecurities = @FilterBySecurities
	where
		SourceId = @SourceId
else
	insert into MarketDataSourceSettings
		(SourceId, IsEnabled, WorkingFrom, WorkingTo, Interval, DumpFolder, StorageFolder, ExtensionInfo, FilterBySecurities)
	values
		(@SourceId, @IsEnabled, @WorkingFrom, @WorkingTo, @Interval, @DumpFolder, @StorageFolder, @ExtensionInfo, @FilterBySecurities)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1958/</id>
    <title type="text">Дока + примеры</title>
    <published>2011-09-29T14:18:11Z</published>
    <updated>2011-09-29T14:18:11Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">Кто напишет доку и примеры по работе с 2-мя плазами и экспорту данных через PlazaStream?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1957/</id>
    <title type="text">S# 4.0 MQS не перестает работать при превышении лимита счета</title>
    <published>2011-09-29T13:41:05Z</published>
    <updated>2011-09-29T13:41:05Z</updated>
    <author>
      <name>dart</name>
      <uri>https://stocksharp.ru/users/28358/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Если стратегия задает MQS котировать ордер с количеством контрактов, превышающим лимит счета, начинают очень быстро сыпаться месседжи, что размера счета не хватает и в конечном итоге робот просто вылетает.&lt;br /&gt;В ранних версиях помню просто выскакивало всего одно сообщение и котирование просто останавливалось (это в окне мониторинга было видно), и робот не вылетал.&lt;br /&gt;Можно сделать как раньше было?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1956/</id>
    <title type="text">Зачем нужен метод SyncDo? Можно ли работать без него?</title>
    <published>2011-09-29T10:34:01Z</published>
    <updated>2011-09-29T10:34:01Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">В примере Sample в классе SecuritiesWindow обработка коллекции _quotesWindows происходит в методе SyncDo. Почему? Можно ли работать без него?</content>
  </entry>
</feed>