﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Сообщество. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=237</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-17T03:56:14Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=community&amp;page=237" rel="self" type="application/rss+xml" />
  <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>
  <entry>
    <id>https://stocksharp.ru/topic/1955/</id>
    <title type="text">Получение синтетической позиции методом Syntetic()</title>
    <published>2011-09-28T10:15:18Z</published>
    <updated>2011-09-28T10:15:18Z</updated>
    <author>
      <name>Serg</name>
      <uri>https://stocksharp.ru/users/484/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Приветствую.&lt;br /&gt;Разбираюсь с опционами. Заметил что иногда формируется ошибочная синтетическая позиция методом Syntetic(OrderDirection)&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;
if (s.Type == SecurityTypes.Option)
      {
        var xbuy = s.Synthetic(OrderDirections.Buy);
        Security fut = (Security)xbuy[0].Key;
        Security put, call;
        if (s.OptionType == OptionTypes.Put)
        {
          put = s;
          call = (Security)xbuy[1].Key;
        }
        else
        {
          put = (Security)xbuy[1].Key;
          call = s;
        }
      }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А вот что имеют в себе переменные при дебаге:&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACK71UC747ysOicZwTY_1KQ5GHpn5QmO3Vlq6UcBDsS9g" title="http://xmages.net/i/3126280"&gt;&lt;a href='http://xmages.net/storage/10/1/0/1/c/upload/ef3e48b9.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://xmages.net/storage/10/1/0/1/c/upload/ef3e48b9.jpg" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1954/</id>
    <title type="text">Стратегия и выставленные заявки</title>
    <published>2011-09-28T09:17:05Z</published>
    <updated>2011-09-28T09:17:05Z</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;Как то можно внутри стратегии подождать когда все старые заявки будут прокачены?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1953/</id>
    <title type="text">Что за метод LoadRevisions() в SampleGui</title>
    <published>2011-09-28T07:03:59Z</published>
    <updated>2011-09-28T07:03:59Z</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">Вот тут пытаюсь разобраться почему пример работает а мой код вроде бы однотипный нет.&lt;br /&gt;Кто нибудь может подсказать что это за метод?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1952/</id>
    <title type="text">Не поддерживаемый тип заявки: Limit</title>
    <published>2011-09-27T13:42:05Z</published>
    <updated>2011-09-27T13:42:05Z</updated>
    <author>
      <name>vvt</name>
      <uri>https://stocksharp.ru/users/34/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">В S# 4.0 следующий код&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;
_order = this.CreateOrder(
			OrderDirections.Buy,
			Security.BestAsk.Price,
			base.Volume);
base.RegisterOrder(_order);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;не регистрирует заявку, в версии 3.2.11 он работал.&lt;br /&gt;&lt;br /&gt;Инструмент - фьючерс на индекс РТС, шлюз - RealTimeEmulationTrader&amp;lt;QuikTrader&amp;gt;.&lt;br /&gt;&lt;br /&gt;ProcessDataError выдает ошибку:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;System.Exception: Не поддерживаемый тип заявки: Limit&lt;br /&gt;   в StockSharp.Algo.Testing.MarketEmulator.#=qAF$cAaWD8w6Sf0n2jICfhpSjxiFMQ7cRvsxNBVv2XZU=.#=qtATV9JVYahQzlLvEmwHMXg==(SynchronizedDictionary`2 #=qqbEUq3HDL9A75wqaPnzj$w==)&lt;br /&gt;   в Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action`1 action)&lt;br /&gt;   в StockSharp.Algo.Testing.MarketEmulator.#=qQ7VuWd1o2GhxXAVxPgmkZg==(Security #=qCsXs6bt_tlEwFRwhVgBQnQ==, IEnumerable`1 #=qb31cqUo8VqK2fERgBTKC$A==)&lt;br /&gt;   в StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(IEnumerable`1 marketDepths)&lt;br /&gt;   в StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qPOciz$lJJgRYHAuFM9pUNBIovhk7OXBGPOzuhi0GZHY=(IEnumerable`1 #=qzyZdu5Ra5qxgYZvxk7l2SQ==)&lt;br /&gt;   в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)&lt;br /&gt;   в StockSharp.Algo.BaseTrader.#=qdkcJ1z_5G_9v8kyPHSiXH2QUl6vo_RX4HfOmcsOgXGs=.#=qYoX9dfq6NfczbKi_skOY4w==(IEnumerable`1 #=qLjzF$t5RARnMfwEZijwylw==)&lt;/div&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1951/</id>
    <title type="text">Portfolio.Amounts на FORTS</title>
    <published>2011-09-27T10:25:43Z</published>
    <updated>2011-09-27T10:25:43Z</updated>
    <author>
      <name>Church</name>
      <uri>https://stocksharp.ru/users/459/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">Правильно ли я понимаю, что Portfolio.BeginAmount и Portfolio.CurrentAmount не работают для деривативных портфелей?&lt;br /&gt;И лимит открытых позиций нужно получать через напрямую из Trader.DerivativePortfoliosTable?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/1950/</id>
    <title type="text">Security.BestBidPriceMoreAbsolute()</title>
    <published>2011-09-27T08:44:46Z</published>
    <updated>2011-09-27T08:44:46Z</updated>
    <author>
      <name>raf</name>
      <uri>https://stocksharp.ru/users/28475/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">В S# 4.00 перестало исполняться правило When(Security.BestBidPriceMoreAbsolute(price)).Do()&lt;br /&gt;Есть какая-то возможность отследить работу этого правила? Может поменялись условия работы данного правила?</content>
  </entry>
</feed>