﻿<?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=181</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-20T03:54:01Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=forum&amp;page=181" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/2474/</id>
    <title type="text">System.InvalidOperationException в SampleConsole</title>
    <published>2012-03-11T17:45:22Z</published>
    <updated>2012-03-11T17:45:22Z</updated>
    <author>
      <name>Android</name>
      <uri>https://stocksharp.ru/users/6255/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Доброго времени суток!&lt;/p&gt;
&lt;p&gt;В примере SampleConsole, версия 4.0.20, при запуске под отладчиком, всегда вылетает исключение:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Первый этап обработки исключения типа &amp;quot;System.InvalidOperationException&amp;quot; в приложении StockSharp.Quik.dll&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Происходит это при прохождении отладчиком строк(что странно- может вылететь как при прохождении первой из них, так и при прохождении последней):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;					```csharp
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;trader.StartExport(new[] {trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
trader.EquityPortfoliosTable, trader.OrdersTable});
//
// дожидаемся появления портфеля и инструмента
//
waitHandle.WaitOne();&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;					// 0.1% от изменения цены
					const decimal delta = 0.001m;

					// запоминаем первоначальное значение середины спреда
					var firstMid = _lkoh.BestPair.SpreadPrice / 2; 
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;
В общем, посоветуйте, пожалуйста, как с этим бороться, так как я робота делаю на основе данного примера. :)

&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2473/</id>
    <title type="text">DeltaHedgeStrategy осуществление хеджирование по нескольким пакетным стратегиям :D</title>
    <published>2012-03-11T17:13:43Z</published>
    <updated>2012-03-11T17:13:43Z</updated>
    <author>
      <name>hurricane</name>
      <uri>https://stocksharp.ru/users/5988/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;Александр! Михаил! :D&lt;/p&gt;
&lt;p&gt;Решил попробовать встроенный механизм дельта-хеджирования реализованный в платформе Stock#&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
public DeltaHedgeStrategy(
	Strategy tradingStrategy
)

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Стратегия, содержащая в себе дочерние стратегии, которые торгуют по отдельному страйку&lt;/p&gt;
&lt;p&gt;А к примеру мне нужно осуществлять дельта-хеджирование не по одной пакетной стратегии, а по нескольким!&lt;/p&gt;
&lt;p&gt;Есть к примеру 3  пакетных стратегии в которые упакованы алгоритмы котирования, и я их запускаю в различное время!
И мне нужно осуществлять механизм дельта-хеджирования по ним всем! Т.е. передать в DeltaHedgeStrategy не одну пакетную стратегию
а 3 пакетные стратегии (N - пакетных стратегий)
Есть ли такая возможность? Было бы здорово :D[woot]&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2472/</id>
    <title type="text">OrderFails &amp;amp; Orders в Strategy</title>
    <published>2012-03-11T08:42:44Z</published>
    <updated>2012-03-11T08:42:44Z</updated>
    <author>
      <name>Serg</name>
      <uri>https://stocksharp.ru/users/484/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Приветствую. Подскажите плиз что должно происходить во время ошибки регистрации заявки.
Возникает непонятная для меня ситуация. При регистрации заявки в логе вижу сообщение типа &amp;quot;Заявка 41664289 не была принята по причине StockSharp.Quik.ApiException: Код ошибки Failed Сообщение Обработка кросс-заявок блокирована..&amp;quot;. QuikTrader говорит &amp;quot;RegisterOrder: TransactionId=41664289, Id=0, Price=155115, Balance=1, Security=RIH2@RTS, State=None&amp;quot;
И все заявки как-будто и небыло) В Strategy.Orders она не попадает и в Strategy.OrderFails также пустота.&lt;/p&gt;
&lt;p&gt;Есть еще один очень странный нюанс. Кросс сделки как таковой быть не может, так как в момент регистрации заявки, встречных по направлению к регистрируемой просто нет. Но эт видимо косяк демосервера квик.&lt;/p&gt;
&lt;p&gt;update: да и еще заметил что после остановки стратегии ее Trader становиться null. Так и должно быть?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2471/</id>
    <title type="text">OnWriteMessage и WriteMessage</title>
    <published>2012-03-11T04:24:01Z</published>
    <updated>2012-03-11T04:24:01Z</updated>
    <author>
      <name>BigBen</name>
      <uri>https://stocksharp.ru/users/6302/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Привет!
В классе LogListener существуют два метода OnWriteMessage и WriteMessage.
Объясните, плиз, зачем они дублируют друг друга, и в каких случаях их нужно использовать?
Спасибо.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2470/</id>
    <title type="text">Общее предложение по бумаге в примере Sample</title>
    <published>2012-03-10T13:51:05Z</published>
    <updated>2012-03-10T13:51:05Z</updated>
    <author>
      <name>almer</name>
      <uri>https://stocksharp.ru/users/6336/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Здравствуйте, помогите разобраться новичку.
В пример Sample в Инструменты рашил добавить поле общее предложение.&lt;/p&gt;
&lt;p&gt;В MainWindow добавил такую строчку:&lt;/p&gt;
&lt;p&gt;Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.AsksVolume);&lt;/p&gt;
&lt;p&gt;А в SecuritiesWindow.xaml
добавил: &amp;lt;EcngTradingXaml:ExtensionInfoConverter x:Key=&amp;quot;extInfoConverter&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;p Binding="" Path=".," Converter="{StaticResource" extInfoConverter=""&gt;а также:
&amp;lt;GridViewColumn Width=&amp;quot;150&amp;quot; Header=&amp;quot;Сумм.предложение&amp;quot; DisplayMemberBinding=&amp;quot;, ConverterParameter=AsksVolume}&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;Запускаю программу, выводит в поле Суммарное предложение значение при запуске, и больше не обновляется.
Что нужно сделать, чтобы это суммарное предложение все время обновлялось(т.е. постоянно показывало такое же текущее значение суммарного предложения как в  Quik)?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2469/</id>
    <title type="text">Тестирование на истории 4.0.21 вход по рынку всегда по худшей цене.</title>
    <published>2012-03-10T07:16:48Z</published>
    <updated>2012-03-10T07:16:48Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;Перешел на 4.0.21, запускаю тест на истории и наблюдаю &lt;strong&gt;радикально&lt;/strong&gt;отличающийся график эквити.
Перебрал несколько прошлых сборок: 4.0.17, 4.0.18, 4.0.19, 4.0.20 график примерно одинаковый.&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;p&gt;&lt;img src="http://i29.fastpic.ru/big/2012/0310/6b/e1f01a24ae8e34d89ee73d67c53aa56b.png" alt="" /&gt;&lt;img src="http://i32.fastpic.ru/big/2012/0310/b0/1bc10e9199a35c0aba00ad16a1903fb0.png" alt="" /&gt;
&lt;img src="http://i31.fastpic.ru/big/2012/0310/ca/8fcddd2ebec09c5a58282e93587c74ca.png" alt="" /&gt;&lt;img src="http://i31.fastpic.ru/big/2012/0310/a9/f00b7adef8bb4e09aa295b8b1bfda9a9.png" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;и текущая&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;p&gt;&lt;img src="http://i30.fastpic.ru/big/2012/0310/59/87252efe7966c2099cd28f9b5a42fb59.png" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;[blink]
Ну все думаю, накрылся мой грааль.[biggrin]&lt;/p&gt;
&lt;p&gt;Запускаю тестовые примеры 4.0.20 и 4.0.21 графики примерно одинаковые(для ускорения тестирования период взят 1месяц)&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;p&gt;&lt;img src="http://i28.fastpic.ru/big/2012/0310/1f/6ff8e370f5141d2cdc2dff84cd364c1f.png" alt="" /&gt;
&lt;img src="http://i32.fastpic.ru/big/2012/0310/0b/dc45544179d50ec2cbd6a735ba248e0b.png" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;[blink]&lt;/p&gt;
&lt;p&gt;Ковыряние в своем коде результатов не дало.
Причина нашлась после изучения отчетов.
При сравнении аналогичных входов на 4.0.20 и 4.0.21 вход &lt;strong&gt;всегда&lt;/strong&gt;был примерно на 100п. хуже.
Почему 100п, у меня стояло проскальзывание в 100п.&lt;/p&gt;
&lt;p&gt;Меняю в тестовых примерах вход с помощью котирования&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;	
	// если произошло пересечение
	if (_isShortLessThenLong != isShortLessThenLong)
	{
		// если короткая меньше чем длинная, то продажа, иначе, покупка.
		var direction = isShortLessThenLong ? OrderDirections.Sell : OrderDirections.Buy;

 		// создаем заявку
                var order = this.CreateOrder(direction, Security.GetMarketPrice(direction), Volume);

		// регистрируем заявку (обычным способом - лимитированной заявкой)
		// RegisterOrder(order);

		// регистрируем заявку (через котирование)
		var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit());
		ChildStrategies.Add(strategy);

		// запоминаем текущее положение относительно друг друга
		_isShortLessThenLong = isShortLessThenLong;
	}

&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;на вход по рынку с проскальзыванием&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
	// если произошло пересечение
	if (_isShortLessThenLong != isShortLessThenLong)
	{
		// если короткая меньше чем длинная, то продажа, иначе, покупка.
		var direction = isShortLessThenLong ? OrderDirections.Sell : OrderDirections.Buy;

                
                var slip = Security.MinStepSize * 20;//проскальзование 100п.
                var price = isShortLessThenLong
	                    ? Security.GetMarketPrice(direction) - slip
		            : Security.GetMarketPrice(direction) + slip;
                

		// создаем заявку
                var order = this.CreateOrder(direction, price, Volume);

		// регистрируем заявку (обычным способом - лимитированной заявкой)
		RegisterOrder(order);

		// регистрируем заявку (через котирование)
		//var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit());
		//ChildStrategies.Add(strategy);

		// запоминаем текущее положение относительно друг друга
		_isShortLessThenLong = isShortLessThenLong;
	}

&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Картинка примерно не изменилась.&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;p&gt;&lt;img src="http://i32.fastpic.ru/big/2012/0310/8e/50eb20dc9c18c8db66e90d6304ce758e.png" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Ок, ставлю проскальзывание в &lt;strong&gt;10 000&lt;/strong&gt;п.&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;p&gt;&lt;img src="http://i30.fastpic.ru/big/2012/0310/b9/4d827eabe8da91fe487ebcbcdcfa5cb9.png" alt="" /&gt;
&lt;img src="http://i30.fastpic.ru/big/2012/0310/0d/ff28697a51bc938ee6a9c6f49d5dd40d.png" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Т.е. вход по рынку происходит не по лучшей возможной цене, а по худшей и с максимальным проскальзыванием.&lt;/strong&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2468/</id>
    <title type="text">Как использовать индикатор Ишимоку?</title>
    <published>2012-03-09T12:07:24Z</published>
    <updated>2012-03-09T12:07:24Z</updated>
    <author>
      <name>zorran</name>
      <uri>https://stocksharp.ru/users/28229/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Как использовать индикатор Ишимоку?
Кто нибудь может выложить пример?&lt;/p&gt;
&lt;p&gt;Не могу понять, как с ним работать.
Делаю следующее -&lt;/p&gt;
&lt;p&gt;инициализация:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;ichimoku = new Ichimoku();
ichimoku.Kijun.Length = 5;
ichimoku.Tenkan.Length = 10;
ichimoku.SenkouA.Length = 20;
ichimoku.SenkouB.Length = 20;
ichimoku.Chinkou.Length = 10;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;.....&lt;/p&gt;
&lt;p&gt;Далее, использование:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;ichimoku.Tenkan.Process((CandleIndicatorValue) candle);
ichimoku.Kijun.Process((CandleIndicatorValue) candle );
ichimoku.Chinkou.Process((CandleIndicatorValue) candle );
ichimoku.SenkouA.Process((CandleIndicatorValue) candle );
ichimoku.SenkouB.Process((CandleIndicatorValue) candle );
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Пытаюсь потом получить значения индикатора, а они равны 0 !&lt;/p&gt;
&lt;p&gt;Получаю следующим образом:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;ichimoku.Tenkan.LastValue
ichimoku.Kijun.LastValue
ichimoku.SenkouA.LastValue
ichimoku.SenkouB.LastValue
ichimoku.Chinkou.LastValue
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2467/</id>
    <title type="text">расчет грек под Plaza</title>
    <published>2012-03-07T19:22:56Z</published>
    <updated>2012-03-07T19:22:56Z</updated>
    <author>
      <name>hurricane</name>
      <uri>https://stocksharp.ru/users/5988/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Plaza 2" />
    <content type="html">&lt;p&gt;под квик все понятно как, к примеру до того как я добавил обработку дополнительных колонок в квике,
мне выдавало ошибку при расчете грек, &amp;quot;истекла дата экспирации&amp;quot;&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.Strike);
             this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.Volatility);
             this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.UnderlyingSecurity);
             this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.TheorPrice);
             this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.OptionType);
             this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.ExpiryDate);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;начали обрабатываться дополнительные колонки и процесс расчета греков заработал&lt;/p&gt;
&lt;p&gt;А как это сделать в плазе? пробовал провести расчет с вкл. сервисом волатильности, но не помогло.
Сервис точно работает так как теоретическая цена и волатильность считается для опциона.&lt;/p&gt;
&lt;p&gt;И вот мой вопрос[blink] как посчитать греки для Plaza2&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;var Greeks_Put_minus2Strike = new BlackScholes(_SECURITY_Put_minus2Strike);

             Gamma_Put_minus2Strike = Greeks_Put_minus2Strike.Gamma(volatility_Put_minus2Strike);
             Theta_Put_minus2Strike = Greeks_Put_minus2Strike.Theta(volatility_Put_minus2Strike);
             Vega_Put_minus2Strike = Greeks_Put_minus2Strike.Vega(volatility_Put_minus2Strike);
             Delta_Put_minus2Strike = Greeks_Put_minus2Strike.Delta(volatility_Put_minus2Strike);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ну вот на этот код и ругается, в квике как я сказал все работает отлично!
Уважаемые разработчики! Помогите разобраться! Как вы в Plaze считаете греки? Спасибо!!!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2466/</id>
    <title type="text">v4.20 - не генерятся отчеты Excel</title>
    <published>2012-03-07T13:10:54Z</published>
    <updated>2012-03-07T13:10:54Z</updated>
    <author>
      <name>Kiruhin</name>
      <uri>https://stocksharp.ru/users/6067/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;v4.16 - работает
v4.19 и v4.20 -
код:
ExcelStrategyReport report = new ExcelStrategyReport(_strategy, &amp;quot;sma.xls&amp;quot;);
report.Generate();&lt;/p&gt;
&lt;p&gt;выдает исключение:
NullReferenceException - &amp;quot;Ссылка на объект не указывает на экземпляр объекта.&amp;quot;
StackTrace:
в Ecng.Interop.ExcelExporter.SetCell(Int32 col, Int32 row, Object value)
в StockSharp.Algo.Reporting.ExcelStrategyReport.Generate()
в SampleHistoryTesting.MainWindow.Report_Click(Object sender, RoutedEventArgs e) в D:\svalka\invest_info_sSharp\lib\StockSharp_4.0.20\Samples\Testing\SampleHistoryTesting\MainWindow.xaml.cs:строка 213
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
в System.Windows.Controls.Primitives.ButtonBase.OnClick()
в System.Windows.Controls.Button.OnClick()
в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
в System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
в System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
в System.Windows.Input.InputManager.ProcessStagingArea()
в System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
в System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
в System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
в System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
в System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&lt;/p&gt;
&lt;p&gt;похоже на багу. если написал в неправильную ветку - извините.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2465/</id>
    <title type="text">Hydra + MS SQL server</title>
    <published>2012-03-07T11:35:28Z</published>
    <updated>2012-03-07T11:35:28Z</updated>
    <author>
      <name>Johny Cash</name>
      <uri>https://stocksharp.ru/users/199/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Hydra" />
    <content type="html">&lt;p&gt;Приветствую господа алготрейдеры!&lt;/p&gt;
&lt;p&gt;Насколько я понял гидра теперь работает только с SQLite?
Попробовал ей подставить в конфиге параметры для MS SQL,
но фокус не удался. В коде жестко вшита проверка каталога
для скулайта и прочее...
Хочу для себя переделать сохранение в MS SQL, мне с ним проще
разобраться.&lt;/p&gt;
&lt;p&gt;Может есть здесь те, кто это уже делал. Подскажите в какую сторону
копать, с каких модулей начать изменять, какие там подводные камни?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2464/</id>
    <title type="text">Блокирование потока в методе AddInfoLog()</title>
    <published>2012-03-07T09:49:39Z</published>
    <updated>2012-03-07T09:49:39Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="AlfaDirect" />
    <content type="html">&lt;p&gt;&lt;strong&gt;Суть проблемы:&lt;/strong&gt;
Если запустить экспорт и сразу же остановить, зависает вся система. Путем разбора полетов было выяснено что блокируется поток внутри метода AddInfoLog(). В итоге завершить остановку экспорта получается невозможно. Для логгирования используется GuiLogListener&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Подробности:&lt;/strong&gt;
Ошибка возникает в версии AlfaPlus. Данную версию я еще не публиковал. Допиливаю. В ней реализованы следующие моменты:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Данные от терминала поступают сначала в очередь. А потом из очереди забираются отдельным Task который очередь мониторит и обрабатывает.&lt;/li&gt;
&lt;li&gt;Данные от монитора очереди поступают в обертку для таблиц, которая поддерживает подписку на данные и отписку от получения данных. В этой таблице своя очередь, которая так же обрабатывается своим Task. На каждую таблицу данных имеем свою обертку и свой Task.&lt;/li&gt;
&lt;li&gt;Методы подписки на таблицу, отписки, и рассылки данных подписчикам реализованы через блокировки. То есть когда происходит подписка, блокируется рассылка данных и отписка от таблиц, и наоборот.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;По факту имеем следующую проблему. Когда запустили экспорт StartExport(), в таблицу попадает порция данных и начинает обрабатываться, а затем рассылаться подписчикам. Поскольку процес включения подписки уже успевает закончиться к моменту начала рассылки данных, основной поток переходит к методу остановки экспорта StopExport(). Основной поток переходит к методу отписки от таблицы. В это же время Task этой же таблицы, отвечающий за обработку данных и рассылку по подписчикам, начинает передавать данные в подписчики. И первым делом в методе обработки данных подписчика вызывается запись в лог AddInfoLog(). Вот на этой записи и встает колом поток. А поскольку реализована блокировка при рассылке данных в подписчики, блокировка НЕ освобождается. ОТсюда метод отписки не может получить объект блокировки и тоже встает колом.&lt;/p&gt;
&lt;p&gt;Дальнейшие изыскания привели к методу класса GuiLogListener:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;protected override void OnWriteMessage(LogMessage message)
{
    var listener = _listener ?? _windows.SafeAdd(message.Source, s =&amp;gt; _dispatcher.GuiSync(() =&amp;gt;
    {
        var w = new LogWindow { Title = s.ToString() };
        w.Show();
        return w;
    }));
    Action action = () =&amp;gt; listener.WriteMessage(message);

    if (_dispatcher != null)
        _dispatcher.GuiSync(action); // &amp;lt;------ вот тут колом все и встает.
    else
        action();
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Если посмотреть где окончательно встает колом поток, то получаем такую картину вызовов:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-plain"&gt;System.Threading.WaitHandle.WaitOne(System.TimeSpan timeout, bool exitContext)

System.Windows.Threading.DispatcherOperation.DispatcherOperationEvent.WaitOne()
System.Windows.Threading.DispatcherOperation.Wait(System.TimeSpan timeout)

System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs)

System.Windows.Threading.Dispatcher.Invoke(System.Delegate method, System.Windows.Threading.DispatcherPriority priority, object[] args)

Ecng.Xaml.XamlHelper.GuiSync(System.Windows.Threading.Dispatcher dispatcher, System.Action action, System.Windows.Threading.DispatcherPriority priority)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Из коннектора никаких выводов не может идти кроме вывода StopExport() и this.AddInfoLog(&amp;quot;OnProcessSecurities {0}&amp;quot;, data.ToString());
Это проверено. То есть либо конфликт происходит между этими двумя элементами лога или не знаю что сказать. Не понял еще в каком потоке заводится окно логгера. Если в том же что и основное окно тогда все ясно.&lt;/p&gt;
&lt;p&gt;Нашел еще один подозрительный поток который связан с логами. Он висит на следующем коде&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;class AsyncFlushList&amp;lt;TItem&amp;gt; : SynchronizedCollection&amp;lt;TItem&amp;gt;
{...
...
private void Flush(IEnumerable&amp;lt;TItem&amp;gt; items)
{
    _isAddRange = true;
    try
    {
        items.ForEach(Add);
    }
    finally
    {
         _isAddRange = false;
    }

    _parent.GuiSync(() =&amp;gt; _added(items)); // &amp;lt;---- висим тут.
}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Очередь вызовов в общем схожая. Метод ждет освобождения блокировки.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2463/</id>
    <title type="text">Событие order.CancelFailed().Once() было активировано дважды.</title>
    <published>2012-03-07T07:53:20Z</published>
    <updated>2012-03-07T07:53:20Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Я подписываюсь на событие CancelFailed в методе ReplaceOrder и только в нем.
Правило одноразовое.
К сожалению количество вызывов ReplaceOrder  и CancelFailed не совпадают.
Работаю на Quik, версия S# - исправленная 4.0.20&lt;/p&gt;
&lt;p&gt;18:45:02.230 |            | CRBR            | ReplaceOrder 67306126
18:45:02.232 |            | CRBR            | CancelOrder 67306126
18:45:02.421 |            | CRBR            | Правило 'Ошибка снятия заявки 67306126' активировано.
18:45:02.422 |            | CRBR            | OnCancelFailed Код ошибки Failed Сообщение Ошибка снятия заявки. [FORTS] &amp;quot;Сейчас эта сессия не идет&amp;quot;.67306126
18:45:02.429 |            | CRBR            | Правило 'Ошибка снятия заявки 67306126' удалено.
18:45:02.446 |            | CRBR            | ex Транзакция 'CLASSCODE=SPBFUT; SECCODE=RIH2; TRANS_ID=67306127; ORDER_KEY=1393448849; ACTION=KILL_ORDER;' не была зарегистрирована. Причина 'Ошибка снятия заявки. [FORTS] &amp;quot;Сейчас эта сессия не идет&amp;quot;.'.
18:45:14.100 |            | CRBR            | ReplaceOrder 67306126
18:45:14.102 |            | CRBR            | CancelOrder 67306126
18:45:14.337 |            | CRBR            | ex Транзакция 'CLASSCODE=SPBFUT; SECCODE=RIH2; TRANS_ID=67306128; ORDER_KEY=1393448849; ACTION=KILL_ORDER;' не была зарегистрирована. Причина 'Ошибка снятия заявки. [FORTS] &amp;quot;Сейчас эта сессия не идет&amp;quot;.'.
18:45:14.339 |            | CRBR            | Правило 'Ошибка снятия заявки 67306126' активировано.
18:45:14.339 |            | CRBR            | OnCancelFailed Код ошибки Failed Сообщение Ошибка снятия заявки. [FORTS] &amp;quot;Сейчас эта сессия не идет&amp;quot;.67306126
18:45:14.342 |            | CRBR            | Правило 'Ошибка снятия заявки 67306126' удалено.
18:45:14.342 |            | CRBR            | Правило 'Ошибка снятия заявки 67306126' активировано.
18:45:14.342 |            | CRBR            | OnCancelFailed Код ошибки Failed Сообщение Ошибка снятия заявки. [FORTS] &amp;quot;Сейчас эта сессия не идет&amp;quot;.67306126
18:45:14.344 |            | CRBR            | Правило 'Ошибка снятия заявки 67306126' удалено.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2462/</id>
    <title type="text">Стоимость позиций в DerivativePositionsTable</title>
    <published>2012-03-06T13:02:16Z</published>
    <updated>2012-03-06T13:02:16Z</updated>
    <author>
      <name>Roman0</name>
      <uri>https://stocksharp.ru/users/6034/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Можно ли добавить это поле в DdeDerivativePositionColumns? Есть ли какие-то варианты его получения без привлечения DdeCustomTable? Спасибо!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2461/</id>
    <title type="text">Сотрудничество Уфа.</title>
    <published>2012-03-05T18:56:19Z</published>
    <updated>2012-03-05T18:56:19Z</updated>
    <author>
      <name>romeo1984</name>
      <uri>https://stocksharp.ru/users/757/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Работа" />
    <content type="html">&lt;p&gt;Ищу хорошего программиста, которому была бы интересна совместная работа по поиску и тестированию алгоритмических стратегий. Первый этап сотрудничества – составление и тестирование простых стратегий, с частичным обучением меня программированию, поэтому лучше, чтобы вы были из Уфы. Опыт торговли не обязателен)) С меня имеющийся опыт по торговле – с вас обучение кодингу.
О себе торгую с 2007г успешно и прибыльно, в основном скальперские стратегии. Хочу связаться с алготрейдингом с целью расширения спектра торгуемых стратегий.
Если есть какие предложения пишите на rdayanov@inbox.ru&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2460/</id>
    <title type="text">Проблемы со стратегией</title>
    <published>2012-03-05T17:49:53Z</published>
    <updated>2012-03-05T17:49:53Z</updated>
    <author>
      <name>tmt</name>
      <uri>https://stocksharp.ru/users/6032/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Вот пытаюсь переписать код грамотно, создать отдельный Stratagy.cs, где будет сама стратегия, но не получается.. Вызывал, вызывал эту стратегию, проверял все ли данные получаю (портфель, инструмент, стакан и тп..) все нормально слава Богу))&lt;/p&gt;
&lt;p&gt;Подскажите пожалуйста, как из другого класса вызвать окошко с ошибкой ```csharp
MessageBox.Show(this, &amp;quot;тра та та&amp;quot;);&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-чтоб"&gt;
И посмотрите пожалуйста кто нить, в чем же ошибка может быть, там всего путь поменять, да счет)) версия последняя 4.0.20 и терменал квик
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2459/</id>
    <title type="text">Не верно получает сделку в LastTrade</title>
    <published>2012-03-05T17:28:09Z</published>
    <updated>2012-03-05T17:28:09Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Заметил, что в вечерней сессии Security.LastTrade выдает далеко непоследную сделку.
Допустим последний раз была выдана сделка с номером 57567133 и временем 05.03.2012 13:44:33.&lt;/p&gt;
&lt;p&gt;Версия S# - исправленная версия 4.0.20.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2458/</id>
    <title type="text">Как в контейнер индикатора поместить индикатор? (решено, прошлые значения индикаторов)</title>
    <published>2012-03-05T11:32:49Z</published>
    <updated>2012-03-05T11:32:49Z</updated>
    <author>
      <name>Spiritschaser</name>
      <uri>https://stocksharp.ru/users/1927/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Здравствуйте!&lt;/p&gt;
&lt;p&gt;Для моей стратегии нужны некоторые прошлые значения индикаторов. У меня опыт программирования c/c++, без особо объектных моделей.&lt;/p&gt;
&lt;p&gt;В описании S# посмотрел описания всех членов, связанных с контейнерами, но не совсем понял, как они связываются с индикаторами.&lt;/p&gt;
&lt;p&gt;Вот, создаю я контейнер. Что дальше с ним сделать, чтобы он сохранял значения?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2457/</id>
    <title type="text">Не работает пример SampleCandles из папки Quik</title>
    <published>2012-03-03T21:42:44Z</published>
    <updated>2012-03-03T21:42:44Z</updated>
    <author>
      <name>AlphaB</name>
      <uri>https://stocksharp.ru/users/28221/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="Quik" />
    <content type="html">&lt;p&gt;Доброго времени суток. Версия 4.0.18. По не понятной причине не работает пример SampleCandles. К квику подключение проходит, но когда выбираю инструмент и нажимаю построить график данные на панели с графиком не появляются, ошибок никаких не выдается. Настройки квика брал из папки с библиотекой.
Подскажите, пожалуйста, в чем может быть причина.
PS использую квик с пробным доступом 6.0.1&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2456/</id>
    <title type="text">ExcelStrategyReport 4.0.20 ошибка при создании отчета.</title>
    <published>2012-03-03T08:34:14Z</published>
    <updated>2012-03-03T08:34:14Z</updated>
    <author>
      <name>Moadip</name>
      <uri>https://stocksharp.ru/users/5973/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="тестирование" />
    <content type="html">&lt;p&gt;С 4.0.17 не пользовался. Сейчас, при создании отчета выдает ошибку NullReferenceException&lt;/p&gt;
&lt;p&gt;Запустил пример, тоже самое.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
   в Ecng.Interop.ExcelExporter.SetCell(Int32 col, Int32 row, Object value)
   в StockSharp.Algo.Reporting.ExcelStrategyReport.Generate()
   в SampleHistoryTesting.MainWindow.Report_Click(Object sender, RoutedEventArgs e) в d:\StockSharp\Project\SampleHistoryTesting\MainWindow.xaml.cs:строка 211

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Пробовал 4.0.19 и 4.0.18 - тоже самое. Работает только в 4.0.17&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2455/</id>
    <title type="text">Не работают правила BestAskPriceMore и BestAskPriceLess</title>
    <published>2012-03-02T12:31:02Z</published>
    <updated>2012-03-02T12:31:02Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">&lt;p&gt;Не работают правила BestAskPriceMore и BestAskPriceLess.
Создал их относительно одной цены - ни одно из них не сработало.
При этом MarketDepthChanged.&lt;/p&gt;
&lt;p&gt;Версия S# - исправленная версия 4.0.20.&lt;/p&gt;
</content>
  </entry>
</feed>