﻿<?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. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=stocksharp&amp;type=forum&amp;page=5</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-07T17:47:45Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=stocksharp&amp;type=forum&amp;page=5" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/5073/</id>
    <title type="text">Ошибка при добавлении элементов в CartArea</title>
    <published>2015-09-18T12:43:52Z</published>
    <updated>2015-09-18T12:43:52Z</updated>
    <author>
      <name>YaMolekula</name>
      <uri>https://stocksharp.ru/users/39410/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Добрый день.&lt;br /&gt;Я изучаю пример SampleSmartSMA из текущей версии API (4.3.10). Я поменял коннектор с smartCOM на Oanda. Конект проиходит успешно, находит мой портфель. Но после нажатия кнопки &amp;quot;Start&amp;quot; из App.xaml.cs стало вылетать исключение:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;System.Windows.Markup.XamlParseException: Initialization of &amp;#39;StockSharp.Xaml.PropertyGrid.PropertyGridEx&amp;#39; threw an exception. ---&amp;gt; System.Xaml.XamlObjectWriterException: Initialization of &amp;#39;Xceed.Wpf.Toolkit.Core.VersionResourceDictionary&amp;#39; threw an exception. ---&amp;gt; System.IO.IOException: Cannot locate resource &amp;#39;xceed.wpf.toolkit;v2.4.0.0;themes/xceed.wpf.toolkit;v2.4.0.0;component/themes/aero/brushes_normalcolor.xaml&amp;#39;.&lt;br /&gt;   at MS.Internal.AppModel.ResourcePart.GetStreamCore(FileMode mode, FileAccess access)&lt;br /&gt;   at System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access)&lt;br /&gt;   at System.IO.Packaging.PackWebResponse.CachedResponse.GetResponseStream()&lt;br /&gt;   at System.IO.Packaging.PackWebResponse.get_ContentType()&lt;br /&gt;   at MS.Internal.WpfWebRequestHelper.GetContentType(WebResponse response)&lt;br /&gt;   at MS.Internal.WpfWebRequestHelper.GetResponseStream(WebRequest request, ContentType&amp;amp; contentType)&lt;br /&gt;   at System.Windows.ResourceDictionary.set_Source(Uri value)&lt;br /&gt;   at Xceed.Wpf.Toolkit.Core.VersionResourceDictionary.System.ComponentModel.ISupportInitialize.EndInit()&lt;br /&gt;   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)&lt;br /&gt;   --- End of inner exception stack trace ---&lt;br /&gt;   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)&lt;br /&gt;   at System.Xaml.XamlObjectWriter.Logic_EndInit(ObjectWriterContext ctx)&lt;br /&gt;   at System.Xaml.XamlObjectWriter.WriteEndObject()&lt;br /&gt;   at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)&lt;br /&gt;   at System.Windows.SystemResources.ResourceDictionaries.LoadDictionary(Assembly assembly, String assemblyName, String resourceName, Boolean isTraceEnabled)&lt;br /&gt;   at System.Windows.SystemResources.ResourceDictionaries.LoadThemedDictionary(Boolean isTraceEnabled)&lt;br /&gt;   at System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean&amp;amp; canCache)&lt;br /&gt;   at System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)&lt;br /&gt;   at System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)&lt;br /&gt;   at System.Windows.FrameworkElement.UpdateThemeStyleProperty()&lt;br /&gt;   at System.Windows.FrameworkElement.OnInitialized(EventArgs e)&lt;br /&gt;   at System.Windows.FrameworkElement.TryFireInitialized()&lt;br /&gt;   at Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid.EndInit()&lt;br /&gt;   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)&lt;br /&gt;   --- End of inner exception stack trace ---&lt;br /&gt;   at System.Windows.Markup.XamlReader.RewrapException(Exception e, Uri baseUri)&lt;br /&gt;   at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlReader templateReader, XamlObjectWriter currentWriter)&lt;br /&gt;   at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlObjectWriter objectWriter)&lt;br /&gt;   at System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(DependencyObject container, IComponentConnector componentConnector, IStyleConnector styleConnector, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)&lt;br /&gt;   at System.Windows.FrameworkTemplate.LoadContent(DependencyObject container, List`1 affectedChildren)&lt;br /&gt;   at System.Windows.StyleHelper.ApplyTemplateContent(UncommonField`1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate)&lt;br /&gt;   at System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField`1 templateDataField, FrameworkElement container)&lt;br /&gt;   at System.Windows.FrameworkElement.ApplyTemplate()&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.StackPanel.StackMeasureHelper(IStackMeasure measureElement, IStackMeasureScrollData scrollData, Size constraint)&lt;br /&gt;   at System.Windows.Controls.StackPanel.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)&lt;br /&gt;   at System.Windows.Controls.ItemsPresenter.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)&lt;br /&gt;   at System.Windows.Controls.ScrollContentPresenter.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean&amp;amp; hasDesiredSizeUChanged)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Border.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Control.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)&lt;br /&gt;   at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean&amp;amp; hasDesiredSizeUChanged)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Control.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean&amp;amp; hasDesiredSizeUChanged)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)&lt;br /&gt;   at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Border.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Control.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean&amp;amp; hasDesiredSizeUChanged)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean&amp;amp; hasDesiredSizeUChanged)&lt;br /&gt;   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)&lt;br /&gt;   at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Decorator.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Controls.Border.MeasureOverride(Size constraint)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.Window.MeasureOverrideHelper(Size constraint)&lt;br /&gt;   at System.Windows.Window.MeasureOverride(Size availableSize)&lt;br /&gt;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&lt;br /&gt;   at System.Windows.UIElement.Measure(Size availableSize)&lt;br /&gt;   at System.Windows.ContextLayoutManager.UpdateLayout()&lt;br /&gt;   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)&lt;br /&gt;   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()&lt;br /&gt;   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)&lt;br /&gt;   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)&lt;br /&gt;   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&lt;br /&gt;   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Код я изменил только MainWindow.xaml.cs и то это замена коннектора с smartCOM на Oanda и закоменчивание проверок на пустые логин и пароль, так как в Оанда доступ по токену:&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;
namespace SampleSmartSMA
{
	using System;
	using System.Collections.Generic;
	using System.ComponentModel;
	using System.Diagnostics;
	using System.Linq;
	using System.Windows;
	using System.Windows.Controls;
	using System.Windows.Media;

	using MoreLinq;

	using Ecng.Collections;
	using Ecng.Common;
	using Ecng.Xaml;

	using StockSharp.Algo;
	using StockSharp.Algo.Candles;
	using StockSharp.Algo.Strategies.Reporting;
	using StockSharp.Algo.Indicators;
	using StockSharp.Logging;
	using StockSharp.BusinessEntities;
	using StockSharp.Messages;
	//using StockSharp.SmartCom;
	using StockSharp.Xaml;
	using StockSharp.Xaml.Charting;
	using StockSharp.Localization;
    using StockSharp.Oanda;

	public partial class MainWindow
	{
		private bool _isConnected;
        private readonly TimeSpan _timeFrame = new TimeSpan(0,5,0);//SmartComTimeFrames.Minute5;
		private readonly SynchronizedList&amp;lt;TimeFrameCandle&amp;gt; _historyCandles = new SynchronizedList&amp;lt;TimeFrameCandle&amp;gt;();
		private readonly LogManager _logManager = new LogManager();
		private CandleManager _candleManager;
        //private SmartTrader _trader;
        private OandaTrader _trader;
		private SmaStrategy _strategy;
		private DateTime _lastHistoryCandle;
		private Security _lkoh;
		private readonly ChartArea _area;
		private ChartCandleElement _candlesElem;
		private ChartIndicatorElement _longMaElem;
		private ChartIndicatorElement _shortMaElem;
        
		public MainWindow()
		{
			InitializeComponent();

			_logManager.Listeners.Add(new GuiLogListener(LogControl));

			_area = new ChartArea();
			_chart.Areas.Add(_area);
		}

		private void OrdersOrderSelected(object sender, SelectionChangedEventArgs e)
		{
			CancelOrders.IsEnabled = !_orders.SelectedOrders.IsEmpty();
		}

		protected override void OnClosing(CancelEventArgs e)
		{
			if (_trader != null)
				_trader.Dispose();

			base.OnClosing(e);
		}

		private void ConnectClick(object sender, RoutedEventArgs e)
		{
			if (!_isConnected)
			{
				//if (Login.Text.IsEmpty())
				//{
				//	MessageBox.Show(this, LocalizedStrings.Str2974);
				//	return;
				//}
				//else if (Password.Password.IsEmpty())
				//{
				//	MessageBox.Show(this, LocalizedStrings.Str2975);
				//	return;
				//}

				if (_trader == null)
				{
                    // создаем подключение
                    _trader = new OandaTrader();//new SmartTrader();
                    _trader.Token = new System.Security.SecureString();
                    _trader.Server = OandaServers.Practice;
                    foreach (char c in &amp;quot;не хочу светить свой токен&amp;quot;)
                    {
                        _trader.Token.AppendChar(c);
                    }
                    _logManager.Sources.Add(_trader);

					Portfolios.Connector = _trader;

					// подписываемся на событие успешного соединения
					_trader.Connected += () =&amp;gt;
					{
						// возводим флаг, что соединение установлено
						_isConnected = true;

						// разблокируем кнопку Экспорт
						this.GuiAsync(() =&amp;gt; ChangeConnectStatus(true));

						_candleManager = new CandleManager(_trader);

						_trader.NewCandles += (series, candles) =&amp;gt; _historyCandles.SyncDo(col =&amp;gt;
						{
							_historyCandles.AddRange(candles.Cast&amp;lt;TimeFrameCandle&amp;gt;());

							foreach (var candle in candles)
								ProcessCandle(candle);
						});

						_trader.NewSecurities += securities =&amp;gt;
						{
                            // находим нужную бумагу
                            var lkoh = securities.FirstOrDefault( s =&amp;gt; s.Code == &amp;quot;GBP/ZAR&amp;quot;);//&amp;quot;LKOH&amp;quot;);

							if (lkoh != null)
							{
								_lkoh = lkoh;

								this.GuiAsync(() =&amp;gt;
								{
									Start.IsEnabled = true;
                                    MessageBox.Show(lkoh.Code);
								});
							}
						};

						_trader.NewMyTrades += trades =&amp;gt;
						{
							if (_strategy != null)
							{
								// найти те сделки, которые совершила стратегия скользящей средней
								trades = trades.Where(t =&amp;gt; _strategy.Orders.Any(o =&amp;gt; o == t.Order));

								_trades.Trades.AddRange(trades);
							}
						};

						// подписываемся на событие о неудачной регистрации заявок
						//_trader.OrdersRegisterFailed += OrdersFailed;

						_candleManager.Processing += (s, candle) =&amp;gt;
						{
							// выводим только те свечи, которые не были отрисованы как исторические
							if (candle.OpenTime &amp;gt; _lastHistoryCandle)
								ProcessCandle(candle);
						};

						this.GuiAsync(() =&amp;gt;
						{
							ConnectBtn.IsEnabled = false;
						});
					};

					// подписываемся на событие разрыва соединения
					_trader.ConnectionError += error =&amp;gt; this.GuiAsync(() =&amp;gt;
					{
						// заблокируем кнопку Экспорт (так как соединение было потеряно)
						ChangeConnectStatus(false);

						MessageBox.Show(this, error.ToString(), LocalizedStrings.Str2959);
					});

					_trader.Disconnected += () =&amp;gt; this.GuiAsync(() =&amp;gt; ChangeConnectStatus(false));

					// подписываемся на ошибку обработки данных (транзакций и маркет)
					//_trader.Error += error =&amp;gt; this.GuiAsync(() =&amp;gt; MessageBox.Show(this, error.ToString(), &amp;quot;Ошибка обработки данных&amp;quot;));

					// подписываемся на ошибку подписки маркет-данных
					_trader.MarketDataSubscriptionFailed += (security, type, error) =&amp;gt;
						this.GuiAsync(() =&amp;gt; MessageBox.Show(this, error.ToString(), LocalizedStrings.Str2956Params.Put(type, security)));
				}

				//_trader.Login = Login.Text;
				//_trader.Password = Password.Password;
				//_trader.Address = Address.SelectedAddress;

				// очищаем из текстового поля в целях безопасности
				//Password.Clear();

				_trader.Connect();
			}
			else
			{
				_trader.Disconnect();
			}
		}

		//private void OrdersFailed(IEnumerable&amp;lt;OrderFail&amp;gt; fails)
		//{
		//	this.GuiAsync(() =&amp;gt;
		//	{
		//		foreach (var fail in fails)
		//			MessageBox.Show(this, fail.Error.ToString(), &amp;quot;Ошибка регистрации заявки&amp;quot;);
		//	});
		//}

		private void ChangeConnectStatus(bool isConnected)
		{
			_isConnected = isConnected;
			ConnectBtn.Content = isConnected ? LocalizedStrings.Disconnect : LocalizedStrings.Connect;
		}

		//private void OnLog(LogMessage message)
		//{
		//	// если стратегия вывела не просто сообщение, то вывести на экран.
		//	if (message.Level != LogLevels.Info &amp;amp;&amp;amp; message.Level != LogLevels.Debug)
		//		this.GuiAsync(() =&amp;gt; MessageBox.Show(this, message.Message));
		//}

		private void OnStrategyPropertyChanged(object sender, PropertyChangedEventArgs e)
		{
			this.GuiAsync(() =&amp;gt;
			{
				Status.Content = _strategy.ProcessState;
				PnL.Content = _strategy.PnL;
				Slippage.Content = _strategy.Slippage;
				Position.Content = _strategy.Position;
				Latency.Content = _strategy.Latency;
			});
		}

		private void CancelOrdersClick(object sender, RoutedEventArgs e)
		{
			_orders.SelectedOrders.ForEach(_trader.CancelOrder);
		}

		private void StartClick(object sender, RoutedEventArgs e)
		{
			// если были получены и инструмент, и портфель
			if (_strategy == null)
			{
				if (Portfolios.SelectedPortfolio == null)
				{
					MessageBox.Show(this, LocalizedStrings.Str3009);
					return;
				}
                //MessageBox.Show(&amp;quot;!!&amp;quot;);
                // создаем скользящие средние, на 80 5-минуток и 10 5-минуток
                var longSma = new SimpleMovingAverage { Length = 80 };
				var shortSma = new SimpleMovingAverage { Length = 10 };
                
                // регистрируем наш тайм-фрейм
                var series = new CandleSeries(typeof(TimeFrameCandle), _lkoh, _timeFrame);
                
                // создаем торговую стратегию
                _strategy = new SmaStrategy(series, longSma, shortSma)
				{
					Volume = 1,
					Security = _lkoh,
					Portfolio = Portfolios.SelectedPortfolio,
					Connector = _trader,
				};
				_logManager.Sources.Add(_strategy);
				//_strategy.Log += OnLog;
				_strategy.PropertyChanged += OnStrategyPropertyChanged;
                
                _candlesElem = new ChartCandleElement();
				_area.Elements.Add(_candlesElem);

				_longMaElem = new ChartIndicatorElement
				{
					Title = LocalizedStrings.Long,
					Color = Colors.OrangeRed
				};
				_area.Elements.Add(_longMaElem);
                
                _shortMaElem = new ChartIndicatorElement
				{
					Title = LocalizedStrings.Short,
					Color = Colors.RoyalBlue
				};
				_area.Elements.Add(_shortMaElem);
                
                var marketTime = _lkoh.ToExchangeTime(_trader.CurrentTime);

				// начинаем получать свечи за период в 5 дней
				_candleManager.Start(series, DateTime.Today - TimeSpan.FromDays(5), marketTime);

				_lastHistoryCandle = _timeFrame.GetCandleBounds(marketTime).Min;

				Report.IsEnabled = true;
			}

			if (_strategy.ProcessState == ProcessStates.Stopped)
			{
				// запускаем процесс получения стакана, необходимый для работы алгоритма котирования
				_trader.RegisterMarketDepth(_strategy.Security);
				_strategy.Start();
				Start.Content = LocalizedStrings.Str242;
			}
			else
			{
				_trader.UnRegisterMarketDepth(_strategy.Security);
				_strategy.Stop();
				Start.Content = LocalizedStrings.Str2421;
			}
		}

		private void ProcessCandle(Candle candle)
		{
			var longValue = candle.State == CandleStates.Finished ? _strategy.LongSma.Process(candle) : null;
			var shortValue = candle.State == CandleStates.Finished ? _strategy.ShortSma.Process(candle) : null;

			_chart.Draw(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;
			{
				{ _candlesElem, candle },
				{ _longMaElem, longValue },
				{ _shortMaElem, shortValue },
			});
		}

		private void ReportClick(object sender, RoutedEventArgs e)
		{
			// сгерерировать отчет по прошедшему тестированию
			new ExcelStrategyReport(_strategy, &amp;quot;sma.xlsx&amp;quot;).Generate();

			// открыть отчет
			Process.Start(&amp;quot;sma.xlsx&amp;quot;);
		}
	}
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Посоветуйте в чем может быть ошибка?&lt;br /&gt;Я не нашел где вставить AccountId и запускаю прям без него. Может ошибка в этом? Хотя конектится же он без ошибок.&lt;br /&gt;&lt;br /&gt;---------------update---------------&lt;br /&gt;Опытным путем я обнаружил, что ошибка возникает в конце процедуры StartClick, в следующих строчках:&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;

                _candlesElem = new ChartCandleElement();
                //_area.Elements.Add(_candlesElem);

                _longMaElem = new ChartIndicatorElement
                {
                    Title = LocalizedStrings.Long,
                    Color = Colors.OrangeRed
                };
                _area.Elements.Add(_longMaElem);

                _shortMaElem = new ChartIndicatorElement
                {
                    Title = LocalizedStrings.Short,
                    Color = Colors.RoyalBlue
                };
                _area.Elements.Add(_shortMaElem);

                var marketTime = _lkoh.ToExchangeTime(_trader.CurrentTime);

                // начинаем получать свечи за период в 5 дней
                _candleManager.Start(series, DateTime.Today - TimeSpan.FromDays(5), marketTime);

                _lastHistoryCandle = _timeFrame.GetCandleBounds(marketTime).Min;

                Report.IsEnabled = true;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Даже если закмоентить все эти строчки и оставить только 2 из них:&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;

                _candlesElem = new ChartCandleElement();
                _area.Elements.Add(_candlesElem);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;То ошибка будет. Похоже проблема в библиотеке, точнее с объектом ChartArea.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5072/</id>
    <title type="text">S# 4.3.10 QuikTerminal.IsConnected некорректна</title>
    <published>2015-09-18T06:54:27Z</published>
    <updated>2015-09-18T06:54:27Z</updated>
    <author>
      <name>syuriv</name>
      <uri>https://stocksharp.ru/users/51261/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Если я правильно понял, QuikTerminal.IsConnected для определения состояния подключения использует состояние иконки с &amp;quot;ключом&amp;quot;. Но в Quik при активном окошке ввода пользователя и пароля состояние иконки = disabled, что для IsConnected = true. Окно ввода пользователя и пароля появляется автоматически при запуске терминала. Видимо, если успеть запросить состояние после запуска терминала, но перед появлением окошка, то ошибка не будет обнаружена.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5070/</id>
    <title type="text">Не работает событие появление новых заявок</title>
    <published>2015-09-17T07:09:24Z</published>
    <updated>2015-09-17T07:09:24Z</updated>
    <author>
      <name>dron3333</name>
      <uri>https://stocksharp.ru/users/73020/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Всем привет! Не работает событие появление новых заявок. &lt;br /&gt;&lt;br /&gt;вот код&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

trader.NewOrders += orders =&amp;gt;
{
    Console.WriteLine(&amp;quot;Новая заявка&amp;quot;);
};
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Должно выводить в консоли &amp;quot;Новая заявка&amp;quot;, но не выводит. Что подскажете?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5061/</id>
    <title type="text">IndicatorPainter</title>
    <published>2015-09-04T11:24:39Z</published>
    <updated>2015-09-04T11:24:39Z</updated>
    <author>
      <name>kiaveryanov</name>
      <uri>https://stocksharp.ru/users/83610/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Добрый день! Не получается решить проблему отрисовки самописного индикатора, т.к. видимо для него нужен собственный IndicatorPainter. Кто-нить может подсказать в какую сторону копать, чтобы написать свой или вообще обойтись без IndicatorPainter?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5059/</id>
    <title type="text">Plaza2 стакан котировок по инструменту</title>
    <published>2015-08-27T13:10:10Z</published>
    <updated>2015-08-27T13:10:10Z</updated>
    <author>
      <name>sievs</name>
      <uri>https://stocksharp.ru/users/93910/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Доброго времени суток!&lt;br /&gt;Занимаюсь разработкой робота для торговли через шлюз Plaza2.&lt;br /&gt;Робот работает со стаканами котировок.&lt;br /&gt;Возникает следующая проблема:&lt;br /&gt;после запуска программы стакан начинает строится только исходя из новых данных.&lt;br /&gt;старые данные при этом не учитываются.&lt;br /&gt;Хотелось бы узнать может есть какая-то реальная возможность построить стакан с теми заявками, которые были до запуска программы?&lt;br /&gt;Возможно нужно какой то поток со шлюза дополнительно подгрузить?&lt;br /&gt;Спасибо.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5055/</id>
    <title type="text">Программа падает после отключения Квика</title>
    <published>2015-08-21T17:11:49Z</published>
    <updated>2015-08-21T17:11:49Z</updated>
    <author>
      <name>Валентин Лебедев</name>
      <uri>https://stocksharp.ru/users/50045/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">S# v.4.3.9&lt;br /&gt;Пытаюсь обработать случай отключения Квика от сервера. Воспроизвести очень просто - нажимаю кнопку отсоединения в Квике.&lt;br /&gt;В этом случае соединение переходит в состояние Failed.&lt;br /&gt;&lt;br /&gt;При попытке повторного соединения выдается ошибка:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;2015/08/21 17:22:22.504|Error  |BasketMessageAdapter|Ошибка подключения для ChannelMessageAdapter: StockSharp.Quik.Native.ApiException: Код ошибки QuikDisconnected Сообщение Net error: &amp;#91;10054&amp;#93; Connection reset by peer&lt;br /&gt;2015/08/21 17:22:22.504|       |QuikTrader|Connect&lt;br /&gt;2015/08/21 17:22:22.504|Error  |QuikTrader|System.InvalidOperationException: Процесс подключения был прервал из-за неожиданного отключения. ---&amp;gt; StockSharp.Quik.Native.ApiException: Код ошибки QuikDisconnected Сообщение Net error: &amp;#91;10054&amp;#93; Connection reset by peer&lt;br /&gt;   --- Конец трассировки внутреннего стека исключений ---&lt;br /&gt;2015/08/21 17:22:22.660|Error  |QuikTrans2QuikAdapter|System.ArgumentException: Не удалось подключиться к Quik. Возможно, в Quik-е не включена обработка внешних транзакций.&lt;br /&gt;Имя параметра: path ---&amp;gt; StockSharp.Quik.Native.ApiException: Код ошибки Failed Сообщение Connection failed at step 4 with error 233.&lt;br /&gt;   в StockSharp.Quik.Native.ApiResultHelper.ThrowIfNeed(Int32 res, StringBuilder msg)&lt;br /&gt;   в StockSharp.Quik.Native.ApiWrapper.Connect(String path)&lt;br /&gt;   --- Конец трассировки внутреннего стека исключений ---&lt;br /&gt;   в StockSharp.Quik.Native.ApiWrapper.Connect(String path)&lt;br /&gt;   в StockSharp.Quik.QuikTrans2QuikAdapter.OnSendInMessage(Message message)&lt;br /&gt;   в StockSharp.Messages.MessageAdapter.SendInMessage(Message message)&lt;br /&gt;2015/08/21 17:22:22.660|Error  |BasketMessageAdapter|Ошибка подключения для ChannelMessageAdapter: System.ArgumentException: Не удалось подключиться к Quik. Возможно, в Quik-е не включена обработка внешних транзакций.&lt;br /&gt;Имя параметра: path ---&amp;gt; StockSharp.Quik.Native.ApiException: Код ошибки Failed Сообщение Connection failed at step 4 with error 233.&lt;br /&gt;   в StockSharp.Quik.Native.ApiResultHelper.ThrowIfNeed(Int32 res, StringBuilder msg)&lt;br /&gt;   в StockSharp.Quik.Native.ApiWrapper.Connect(String path)&lt;br /&gt;   --- Конец трассировки внутреннего стека исключений ---&lt;br /&gt;   в StockSharp.Quik.Native.ApiWrapper.Connect(String path)&lt;br /&gt;   в StockSharp.Quik.QuikTrans2QuikAdapter.OnSendInMessage(Message message)&lt;br /&gt;   в StockSharp.Messages.MessageAdapter.SendInMessage(Message message)&lt;br /&gt;2015/08/21 17:22:22.660|Error  |QuikTrader|System.ArgumentException: Не удалось подключиться к Quik. Возможно, в Quik-е не включена обработка внешних транзакций.&lt;br /&gt;Имя параметра: path ---&amp;gt; StockSharp.Quik.Native.ApiException: Код ошибки Failed Сообщение Connection failed at step 4 with error 233.&lt;br /&gt;   в StockSharp.Quik.Native.ApiResultHelper.ThrowIfNeed(Int32 res, StringBuilder msg)&lt;br /&gt;   в StockSharp.Quik.Native.ApiWrapper.Connect(String path)&lt;br /&gt;   --- Конец трассировки внутреннего стека исключений ---&lt;br /&gt;   в StockSharp.Quik.Native.ApiWrapper.Connect(String path)&lt;br /&gt;   в StockSharp.Quik.QuikTrans2QuikAdapter.OnSendInMessage(Message message)&lt;br /&gt;   в StockSharp.Messages.MessageAdapter.SendInMessage(Message message)&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В Квике в это время вылезает сообщение, что слишком много клиентов пытаются выполнять внешние транзакции.&lt;br /&gt;Но самое главное - падает все приложение (останавливается процесс vshost32.exe), единственное сообщение в окне Output - The program &amp;#39;[2936] my.vshost.exe&amp;#39; has exited with code -1073741819 (0xc0000005) &amp;#39;Access violation&amp;#39;.&lt;br /&gt;&lt;br /&gt;Если же после отсоединения Квика не пытаться соединиться снова, а просто закрыть Квик или отключить в нем внешние транзакции, приложение опять падает с той же ошибкой.&lt;br /&gt;В версии 4.2.75 та же проблема была, но решалась закрытием Квика и открытием его снова, ничего не падало, а в новой версии проблему таким образом решить не удалось.&lt;br /&gt;&lt;br /&gt;Проблема важная, т.к. Квики время от времени отключаются, и при этом падает все приложение, причем в непонятном месте.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5051/</id>
    <title type="text">S#.API</title>
    <published>2015-08-19T05:20:56Z</published>
    <updated>2015-08-19T05:20:56Z</updated>
    <author>
      <name>robot.sv</name>
      <uri>https://stocksharp.ru/users/39504/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">В версии 4.3.9 и выше EmulationConnector неправильно формирует свечи (TimeFrameCandle). Лои и Хаи абсурдны. В CandleBuilder появляются неверные значения цен тиковых сделок. Глюки очевидны в стандартном Sample.  В релизе 4.3.8 на тех же хранилищах данных формирование свечей корректно</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5049/</id>
    <title type="text">Примеры.</title>
    <published>2015-08-18T11:23:43Z</published>
    <updated>2015-08-18T11:23:43Z</updated>
    <author>
      <name>nuan</name>
      <uri>https://stocksharp.ru/users/6492/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Добрый день! &lt;br /&gt;Прошу всех у кого есть примеры работы с S# API ( не те что поставляются с API [lol] )&lt;br /&gt;Поделится  :) я начинающий и хочу лучше вникнуть в вопросы, но на обучение денег пока нет:)&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5046/</id>
    <title type="text">Данные из информационного окна Quik-а</title>
    <published>2015-08-14T08:18:23Z</published>
    <updated>2015-08-14T08:18:23Z</updated>
    <author>
      <name>dron3333</name>
      <uri>https://stocksharp.ru/users/73020/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Всем привет! Подскажите как получить данные из информационного окна Quik-а</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5044/</id>
    <title type="text">S#.API</title>
    <published>2015-08-10T08:13:54Z</published>
    <updated>2015-08-10T08:13:54Z</updated>
    <author>
      <name>robot.sv</name>
      <uri>https://stocksharp.ru/users/39504/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">обнаружена ошибка в файле CandleBulder.cs в выделенной строчке:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;		protected virtual void UpdateCandle(CandleSeries series, TCandle candle, ICandleBuilderSourceValue value)&lt;br /&gt;		{&lt;br /&gt;			if (candle == null)&lt;br /&gt;				throw new ArgumentNullException(&amp;quot;candle&amp;quot;);&lt;br /&gt;&lt;br /&gt;			if (value == null)&lt;br /&gt;				throw new ArgumentNullException(&amp;quot;value&amp;quot;);&lt;br /&gt;&lt;br /&gt;			if (value.Price &amp;lt; candle.LowPrice)&lt;br /&gt;			{&lt;br /&gt;				candle.LowPrice = value.Price;&lt;br /&gt;				candle.LowTime = value.Time;&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;			if (value.Price &amp;gt; candle.HighPrice)&lt;br /&gt;			{&lt;br /&gt;				candle.HighPrice = value.Price;&lt;br /&gt;				candle.HighTime = value.Time;&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;			candle.ClosePrice = value.Price;&lt;br /&gt;			candle.TotalPrice += value.Price * value.Volume;&lt;br /&gt;&lt;br /&gt;			candle.LowVolume = (candle.LowVolume ?? 0m).Min(value.Volume);&lt;br /&gt;			candle.HighVolume = (candle.HighVolume ?? 0m).Max(value.Volume);&lt;br /&gt;			candle.CloseVolume = value.Volume;&lt;br /&gt;			candle.TotalVolume += value.Volume;&lt;br /&gt;&lt;br /&gt;            if (value.OrderDirection != null)&lt;br /&gt;            {&lt;br /&gt;               &lt;u&gt;&lt;em&gt;&lt;b&gt; candle.RelativeVolume += value.OrderDirection == Sides.Buy ? value.Volume : -value.Volume;&lt;/b&gt;&lt;/em&gt;&lt;/u&gt;&lt;br /&gt;            }&lt;br /&gt;				&lt;br /&gt;&lt;br /&gt;			candle.CloseTime = value.Time;&lt;br /&gt;&lt;br /&gt;			if (series.IsCalcVolumeProfile)&lt;br /&gt;				candle.VolumeProfileInfo.Update(value);&lt;br /&gt;		}&lt;br /&gt;&lt;span style="font-size:120%"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;candle.RelativeVolume всегда будет null&lt;br /&gt;у себя переделал код:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;            if (value.OrderDirection != null)&lt;br /&gt;            {&lt;br /&gt;                var volumeDirect = value.OrderDirection == Sides.Buy ? value.Volume : -value.Volume;&lt;br /&gt;                candle.RelativeVolume = candle.RelativeVolume != null ? candle.RelativeVolume.Value + volumeDirect : volumeDirect;&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Теперь candle.RelativeVolume заполняется корректно&lt;br /&gt; </content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5043/</id>
    <title type="text">terminal.GetMessages() некорректно работает</title>
    <published>2015-08-05T10:46:20Z</published>
    <updated>2015-08-05T10:46:20Z</updated>
    <author>
      <name>dron3333</name>
      <uri>https://stocksharp.ru/users/73020/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <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;

foreach (string element in terminal.GetMessages())
{
    System.Console.WriteLine(element);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;и получаю вот такой вывод:&lt;br /&gt;MN&lt;br /&gt;W&lt;br /&gt;D&lt;br /&gt;H4&lt;br /&gt;H2&lt;br /&gt;M60&lt;br /&gt;M30&lt;br /&gt;M20&lt;br /&gt;M15&lt;br /&gt;M10&lt;br /&gt;M6&lt;br /&gt;M5&lt;br /&gt;M4&lt;br /&gt;M3&lt;br /&gt;M2&lt;br /&gt;M1&lt;br /&gt;Tick&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Откуда здесь период графиков вообще не понял...  Подскажите в чем здесь дело кто знает</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5042/</id>
    <title type="text">Как получить ответ после авторизации</title>
    <published>2015-08-04T20:14:25Z</published>
    <updated>2015-08-04T20:14:25Z</updated>
    <author>
      <name>dron3333</name>
      <uri>https://stocksharp.ru/users/73020/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Всем привет! Я новичек, только начал разбираться с стокшарпом...&lt;br /&gt;Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается &amp;quot;Ок&amp;quot; - попытка залогиниться. Но как&lt;br /&gt;мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

private void login_ok_Click(object sender, RoutedEventArgs e)
{
    if (!terminal.IsConnected)
    {
        terminal.Login(login.Text, password.Password);
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5037/</id>
    <title type="text">помогите подключиться к Quik</title>
    <published>2015-07-28T17:44:44Z</published>
    <updated>2015-07-28T17:44:44Z</updated>
    <author>
      <name>fdmitry</name>
      <uri>https://stocksharp.ru/users/50617/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Использую quik 6.17.1.17 и s# 4.3.6&lt;br /&gt;настроил StockSharp.Quik.lua :&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;--  Настройки логирования&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;-- Уровень логирования.&lt;br /&gt;LogLevel=2&lt;br /&gt;&lt;br /&gt;LogFile=&amp;quot;StockSharp.QuikLua&amp;quot;&lt;br /&gt;-- Адрес, на котором FIX сервер будет обрабатывать транзакции.&lt;br /&gt;TransactionAddress=&amp;quot;127.0.0.1:5001&amp;quot;&lt;br /&gt;&lt;br /&gt;-- Адрес, на котором FIX сервер будет рассылать маркет-данные.&lt;br /&gt;MarketDataAddress=&amp;quot;127.0.0.1:5001&amp;quot;&lt;br /&gt;&lt;br /&gt;-- Логин, с которым разрешено подключение к FIX серверу.&lt;br /&gt;-- Если логин не указан, разрешаются подключения с любым&lt;br /&gt;-- пользователем и паролем (включая нескольких пользователей).&lt;br /&gt;-- ServerLogin=&amp;quot;quik&amp;quot;&lt;br /&gt;&lt;br /&gt;-- Пароль, с которым разрешено подключение к FIX серверу.&lt;br /&gt;-- ServerPassword=&amp;quot;quik&amp;quot;&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;--  Настройки маркет-данных&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;-- Отправлять изменения по стакану. Если выключено, отправляется&lt;br /&gt;-- стакан целиком.&lt;br /&gt;-- По умолчанию, включено.&lt;br /&gt;-- IncrementalDepthUpdates=false&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;--  Общие настройки Lua (не изменять)&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;package.path = &amp;quot;&amp;quot;&lt;br /&gt;package.cpath = getScriptPath() .. &amp;quot;\\StockSharp.QuikLua.dll&amp;quot;&lt;br /&gt;&lt;br /&gt;require(&amp;quot;StockSharp&amp;quot;)&lt;br /&gt;&lt;br /&gt;Скрипт запустил.&lt;br /&gt;Скомпилировал Verifier под vs2013.&lt;br /&gt;Запустил Quik&lt;br /&gt;Загрузил StockSharp_4.3.6\Samples\Quik\info_lua.wnd &lt;br /&gt;Запустил Verifier , нажал кнопку Check  и получил ответ:&lt;br /&gt;&lt;br /&gt;Error.	Table все сделки. Window not found.&lt;br /&gt;Error.	Table заявки. Window not found.&lt;br /&gt;Error.	Table стоп-заявки. Window not found.&lt;br /&gt;Error.	Table портфель по бумагам. Window not found.&lt;br /&gt;Error.	Table портфель по деривативам. Window not found.&lt;br /&gt;Error.	Table позиции по бумагам. Window not found.&lt;br /&gt;Error.	Table позиции по деривативам. Window not found.&lt;br /&gt;&lt;br /&gt;Если загрузить настроенный файл wnd для dde, то получаю такой же ответ. &lt;br /&gt;Подскажите, где искать ошибку...&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5034/</id>
    <title type="text">не находит портфель</title>
    <published>2015-07-21T08:12:12Z</published>
    <updated>2015-07-21T08:12:12Z</updated>
    <author>
      <name>buker</name>
      <uri>https://stocksharp.ru/users/50556/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Добрый день всем!&lt;br /&gt;перешел недавно на библиотеку 4.2.75 и столкнулся с очень интересной проблемой - робот не находит портфель. А точнее событие появления новотго портфеля не срабатывает. При чем не срабатывает ТОЛЬКО если в таблице моих заявок есть заявки по этому портфелю. Если таковых нет - то все прекрасно. Для примера - у меня два портфеля ФОРТС и акции. Если есть заявка по акции, то портфель по акции не находится, а по ФОРТСу есть. и наоборот. Далее, если заявки по акциям есть, но они не отображаются в таблице (отключил, например, заявки по акциям в настройках таблицы), то портфель тоже обнаруживается на раз. В общем чувствую какую-то неправильную магию (((. Да, если это важно, то использую DDE&lt;br /&gt;&lt;br /&gt;спасибо за любую информацию</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5032/</id>
    <title type="text">Получить свечи со срочного рынка</title>
    <published>2015-07-15T14:48:21Z</published>
    <updated>2015-07-15T14:48:21Z</updated>
    <author>
      <name>kiaveryanov</name>
      <uri>https://stocksharp.ru/users/83610/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Конструктор CandleSeries выдает только 1 свечу, если в Security выбран любой инструмент срочного рынка!&lt;br /&gt;Для инструментов ММВБ CandleSeries выдает нормальный массив =( &lt;br /&gt;&lt;br /&gt;В SampleCandles тоже не удалось загрузить график с SiU5... Зато с ММВБ - легко.&lt;br /&gt;&lt;br /&gt;В чем может быть проблема?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5031/</id>
    <title type="text">Получение позиции по инструменту до создания стратегии.</title>
    <published>2015-07-15T06:47:59Z</published>
    <updated>2015-07-15T06:47:59Z</updated>
    <author>
      <name>kiaveryanov</name>
      <uri>https://stocksharp.ru/users/83610/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Подключение через QuikLua.&lt;br /&gt;Портфель, заявки, стакан и прочее зарегистрированы на получения для конкретного инструмента.&lt;br /&gt;Фактически на бирже (ММВБ, не срочка) висит сделка в N контрактов, открытая в ручную ранее.&lt;br /&gt;&lt;br /&gt;Connector.GetPositions(portfolio, security) с возвращает 0 и не краснеет...&lt;br /&gt;&lt;br /&gt;Как получить эти самые N контрактов?&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5026/</id>
    <title type="text">Лицензия не поддерживает QUIK</title>
    <published>2015-07-07T08:07:18Z</published>
    <updated>2015-07-07T08:07:18Z</updated>
    <author>
      <name>buker</name>
      <uri>https://stocksharp.ru/users/50556/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Добрый день!&lt;br /&gt;вот такая беда у меня приключается - выписываю себе лицензию на сайте (с привязкой к железу), но при попытке подключения - получаю ошибку &amp;quot;Лицензия не поддерживает QUIK&amp;quot;. Разворачиваю робота на виртуальном сервере - может быть с этим возникает проблема? &lt;br /&gt;в дополнение еще такой вопрос - отсутствие брокера &amp;quot;Открытие&amp;quot; в перечне брокеров, к которым можно привязать лицензию - это случайность или тут есть глобальный смысл?&lt;br /&gt;&lt;br /&gt;спасибо за любую информацию</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5023/</id>
    <title type="text">Экспорт стакана по lua</title>
    <published>2015-07-03T13:56:49Z</published>
    <updated>2015-07-03T13:56:49Z</updated>
    <author>
      <name>LeonidIlych</name>
      <uri>https://stocksharp.ru/users/83711/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Привет всем.&lt;br /&gt;Встал вопрос о экспорте стакана через lua.&lt;br /&gt;Кто может объяснить, как это лучше сделать?&lt;br /&gt;&lt;br /&gt;Надо, чтобы по нажатию на кнопку на форме, я мог получить стакан. Но не по дде, а по луа.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

private void ExportMarket_Click(object sender, RoutedEventArgs e)
        {
            trader.GetMarketDepth((Security)Securities.SelectedItem);
            trader.RegisterMarketDepth((Security)Securities.SelectedItem);

        }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Что дальше?</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5019/</id>
    <title type="text">Error loading module &amp;apos;StockSharp&amp;apos; from file</title>
    <published>2015-06-30T05:58:18Z</published>
    <updated>2015-06-30T05:58:18Z</updated>
    <author>
      <name>AlexZZZ</name>
      <uri>https://stocksharp.ru/users/28606/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">Добрый день!Есть такая проблема.&lt;br /&gt;error loading module &amp;#39;StockSharp&amp;#39; from file &amp;#39;E:\LUA\StockSharp.QuikLua.dll&amp;#39;:&lt;br /&gt;	Не найден указанный модуль.&lt;br /&gt;dll лежит  в папке E:\LUA\,а LUA его не видит.</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/5017/</id>
    <title type="text">BestBid.Price равна 0</title>
    <published>2015-06-16T08:42:01Z</published>
    <updated>2015-06-16T08:42:01Z</updated>
    <author>
      <name>COBRA</name>
      <uri>https://stocksharp.ru/users/28262/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="StockSharp" />
    <content type="html">видимо это ошибка.&lt;br /&gt;&lt;br /&gt;после подписки,&lt;br /&gt;Security.BestBid.Price и Security.BestAsk.Price&lt;br /&gt;равны 0, вместо последней лучшей цены.&lt;br /&gt;&lt;br /&gt;цена появляется в момент увеличения или уменьшения цены сделки.&lt;br /&gt;что не правильно.цена должна появляться сразу.</content>
  </entry>
</feed>