﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Проблема с ExtensionInfo Binding</title>
  <id>~/topic/811/problema-s-extensioninfo-binding/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-08T10:19:13Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=811" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/980/</id>
    <title type="text">Встречался с таким во время тестов 1-2 раза, подумал что глюк у меня =) </title>
    <published>2010-08-17T09:34:00Z</published>
    <updated>2010-08-17T09:34:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Встречался с таким во время тестов 1-2 раза, подумал что глюк у меня&lt;br /&gt;=)&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/979/</id>
    <title type="text">Забавно, но только перед отпуском я как раз думал, что надо всегда обновлять все поля у инструмента....</title>
    <published>2010-08-16T21:13:00Z</published>
    <updated>2010-08-16T21:13:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Забавно, но только перед отпуском я как раз думал, что надо всегда&lt;br /&gt;обновлять все поля у инструмента. Просто иногда бывают такие ситуации&lt;br /&gt;(редко, но бывают), когда сначала приходит по дде сделка, а затем уже&lt;br /&gt;инструмент. И тогда в системе начинает обитать пустой инструмент а&lt;br /&gt;минимум заполненных полей.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/978/</id>
    <title type="text">Отлично. Тогда пока MarginBuy\MarginSell буду использовать, а с MinPrice\MaxPrice подожду 2.3 :) </title>
    <published>2010-08-16T20:10:00Z</published>
    <updated>2010-08-16T20:10:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Отлично. Тогда пока MarginBuy\MarginSell буду использовать, а с&lt;br /&gt;MinPrice\MaxPrice подожду 2.3 :)&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/977/</id>
    <title type="text">Все, понял. Я поля QuikTrader заполняет один раз, при создании инструмента. Делал первоначально для ...</title>
    <published>2010-08-16T18:57:00Z</published>
    <updated>2010-08-16T18:57:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Все, понял. Я поля QuikTrader заполняет один раз, при создании&lt;br /&gt;инструмента. Делал первоначально для мамбы, а там деривативов нет.&lt;br /&gt;Потом уже ФОРЦ прикрутил.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/976/</id>
    <title type="text">Через NewSecurities: const string workInstrument = &amp;quot;RTS-9.10&amp;quot;; var riFut = _securities.FirstOrDefaul...</title>
    <published>2010-08-16T18:17:00Z</published>
    <updated>2010-08-16T18:17:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Через NewSecurities:&lt;br /&gt;            const string workInstrument = &amp;quot;RTS-9.10&amp;quot;;&lt;br /&gt;            var riFut = _securities.FirstOrDefault(s =&amp;gt; s.Name ==&lt;br /&gt;workInstrument);&lt;br /&gt;&lt;br /&gt;где _securities как раз заполняется внутри обработчика NewSecurities.&lt;br /&gt;Первоначально все поля прописаны верно - как раз совпадает с таблицей&lt;br /&gt;в квике, после клиринга изменилось как ГО, так и MinPrice \ MaxPrice \&lt;br /&gt;MinStepPrice. Почему-то они вот и не обновились&lt;br /&gt;&lt;br /&gt;Вот сейчас:&lt;br /&gt;  MinPrice=137475.0 (должно быть 136130)&lt;br /&gt;  MinStepPrice=3.05495 (должно быть 3.05254)&lt;br /&gt;  MaxPrice=148815.0 (должно быть 147470)&lt;br /&gt;  MarginBuy=7483.52 (всё верно, как раз изменилось после клиринга, до&lt;br /&gt;клиринга - было 7489.43)&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/975/</id>
    <title type="text">Security - что был получен через NewSecurities или ручками создан? </title>
    <published>2010-08-16T18:01:00Z</published>
    <updated>2010-08-16T18:01:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Security - что был получен через NewSecurities или ручками создан?&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/974/</id>
    <title type="text">1) Обновилось точно - смотрю по таблице в квике, данные другие чем по дебагеру ловлю. Только что про...</title>
    <published>2010-08-16T17:50:00Z</published>
    <updated>2010-08-16T17:50:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">1) Обновилось точно - смотрю по таблице в квике, данные другие чем по&lt;br /&gt;дебагеру ловлю.&lt;br /&gt;Только что проверил ещё раз - остановил стратегию, посмотрел Security&lt;br /&gt;в стратегии в вижуал студии, не обновилось.&lt;br /&gt;3) нет, ни одного сообщения не поступало&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/973/</id>
    <title type="text">1. Так может и не обновилось? 2. (double)Security.ExtensionInfo Так нельзя. Все таки надо через отде...</title>
    <published>2010-08-16T17:33:00Z</published>
    <updated>2010-08-16T17:33:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">1. Так может и не обновилось?&lt;br /&gt;2. (double)Security.ExtensionInfo[DdeSecurityColumns.MarginBuy]  Так&lt;br /&gt;нельзя. Все таки надо через отдельное свойство Security.MarginBuy .&lt;br /&gt;3. ProcessDataError ничего не пишет?&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/972/</id>
    <title type="text">Кажется я немного не понимаю как должны обновляться дополнительные поля у Security... Для каждого из...</title>
    <published>2010-08-16T15:25:00Z</published>
    <updated>2010-08-16T15:25:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Кажется я немного не понимаю как должны обновляться дополнительные&lt;br /&gt;поля у Security...&lt;br /&gt;&lt;br /&gt;Для каждого из QuikTrader, входящих в MultiTrader я добавил нужные мне&lt;br /&gt;поля:&lt;br /&gt;&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MarginBuy);&lt;br /&gt;&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MarginSell);&lt;br /&gt;&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);&lt;br /&gt;&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);&lt;br /&gt;&lt;br /&gt;quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinStepPrice);&lt;br /&gt;(Все эти поля есть в таблице квика.)&lt;br /&gt;&lt;br /&gt;Пробую печатать из стратегии:&lt;br /&gt;            AddLog(StrategyErrorStates.None, &amp;quot;ГО ({0}), minPrice&lt;br /&gt;({1}), minStepPrice ({2})&amp;quot;,&lt;br /&gt;                   new object[]&lt;br /&gt;                       {&lt;br /&gt;                           Security.MarginBuy,&lt;br /&gt;                           Security.MinPrice,&lt;br /&gt;                           Security.MinStepSize,&lt;br /&gt;                       });&lt;br /&gt;&lt;br /&gt;Сегодня после клиринга изменилась печать лишь для ГО, для MinPrice и&lt;br /&gt;для MinStepPrice осталась прежней.&lt;br /&gt;Печать через&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                AddLog(StrategyErrorStates.None, &amp;quot;ГО_2 ({0})&amp;quot;, new&lt;br /&gt;object[]&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;(double)Security.ExtensionInfo[DdeSecurityColumns.MarginBuy]&lt;br /&gt;                                                                            });&lt;br /&gt;            }&lt;br /&gt;            catch (Exception)&lt;br /&gt;            {&lt;br /&gt;&lt;br /&gt;               AddLog(StrategyErrorStates.None, &amp;quot;Не удалось получить&lt;br /&gt;ГО_2&amp;quot;, new object());&lt;br /&gt;            }&lt;br /&gt;выбрасывает exception.&lt;br /&gt;&lt;br /&gt;Как сделать так, чтоб автоматически обновлялись и MinPrice,&lt;br /&gt;MinStepPrice, ...? &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/971/</id>
    <title type="text">Да, это только для формы, поэтому не к спеху, пока хватает и таймера. </title>
    <published>2010-07-13T20:53:00Z</published>
    <updated>2010-07-13T20:53:00Z</updated>
    <author>
      <name>Александр Сопов</name>
      <uri>https://stocksharp.com/users/28297/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Да, это только для формы, поэтому не к спеху, пока хватает и таймера. &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/970/</id>
    <title type="text">Просто то просто, только все равно фичи раньше след. версии не смогу выпустить. А к следующей версии...</title>
    <published>2010-07-13T12:57:00Z</published>
    <updated>2010-07-13T12:57:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Просто то просто, только все равно фичи раньше след. версии не смогу&lt;br /&gt;выпустить. А к следующей версии лучше сделать по правильному (как пока&lt;br /&gt;не знаю). Вам это только для обновления данных на форме?&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/969/</id>
    <title type="text">Михаил, Вы правы, дикшенари ничего не знает о интерфейсе, и реализовать дифференцированный отклик на...</title>
    <published>2010-07-12T18:40:00Z</published>
    <updated>2010-07-12T18:40:00Z</updated>
    <author>
      <name>Александр Сопов</name>
      <uri>https://stocksharp.com/users/28297/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Михаил, Вы правы, дикшенари ничего не знает о интерфейсе, и&lt;br /&gt;реализовать дифференцированный отклик на изменение каждой записи не&lt;br /&gt;так просто. Но ведь можно сделать &amp;quot;компромиссный&amp;quot; вариант - код,&lt;br /&gt;который заполняет или изменяет дикшенари, может отправлять&lt;br /&gt;RaisedPropertyChanged(&amp;quot;ExtensionInfo&amp;quot;). То есть форма будет обновлять&lt;br /&gt;все поля при изменении какой-либо записи в ExtensionInfo. Не так чтобы&lt;br /&gt;очень сильно нужно, но это ведь просто реализовать. Поправте меня,&lt;br /&gt;если ошибаюсь. Идея с  VisualSecurity тоже не очень удобно, сильно&lt;br /&gt;запутывает код. &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/968/</id>
    <title type="text">ExtensionInfo не могло генерировать RaisedPropertyChanged - это Dictionary из .NET, который ничего н...</title>
    <published>2010-07-12T12:20:00Z</published>
    <updated>2010-07-12T12:20:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">ExtensionInfo не могло генерировать RaisedPropertyChanged - это&lt;br /&gt;Dictionary из .NET, который ничего не знает о INotifyPropertyChanged.&lt;br /&gt;&lt;br /&gt;Сильно неудобно? Посмотрю, что можно сделать. Но это будет не раньше&lt;br /&gt;новой версии. Как обходной путь сейчас, не использовать таймер, а&lt;br /&gt;использовать ITrader.SecuritiesChanged. Из него заполнять структуру&lt;br /&gt;VisualSecurity через нужное свойство. Которой в свою очередь бросает&lt;br /&gt;событие PropertyChanged. И форма преспокойно это отображает. Это более&lt;br /&gt;правильно чем через таймер.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/967/</id>
    <title type="text">Но ведь класс Security уже реализует INotifyPropertyChanged, и при изменении всех полей кроме Extens...</title>
    <published>2010-07-10T16:09:00Z</published>
    <updated>2010-07-10T16:09:00Z</updated>
    <author>
      <name>Александр Сопов</name>
      <uri>https://stocksharp.com/users/28297/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Но ведь класс Security уже реализует INotifyPropertyChanged, и при&lt;br /&gt;изменении всех полей кроме ExtensionInfo соответствующие события&lt;br /&gt;посылаются. В версии 2.01 ExtensionInfo также генерировало&lt;br /&gt;RaisedPropertyChanged... Почему в 2.1 этого больше не происходит?&lt;br /&gt;Сейчас приходится опрашивать ExtensionInfo по таймеру, как в подходе с&lt;br /&gt;SampleQuote, что не есть гуд. &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/966/</id>
    <title type="text">Я думаю Вы правы. Это сложна структура и с ней такой простой ход как INotifyPropertyChanged не пройд...</title>
    <published>2010-07-09T10:00:00Z</published>
    <updated>2010-07-09T10:00:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Я думаю Вы правы. Это сложна структура и с ней такой простой ход как&lt;br /&gt;INotifyPropertyChanged не пройдет. Используйте подход как с&lt;br /&gt;SampleQuote (который читает данные из Quote.ExtensionInfo ).&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/965/</id>
    <title type="text">Михал, вечер добрый. В примере с экспортом инструментов волатильность и теор цена не обновляются в р...</title>
    <published>2010-07-08T21:00:00Z</published>
    <updated>2010-07-08T21:00:00Z</updated>
    <author>
      <name>Александр Сопов</name>
      <uri>https://stocksharp.com/users/28297/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Михал, вечер добрый.&lt;br /&gt;&lt;br /&gt;В примере с экспортом инструментов волатильность и теор цена не&lt;br /&gt;обновляются в реальном времени. Думаю дело в том, что они биндятся к&lt;br /&gt;объекту Security, а не к полю. Если их забиндить через&lt;br /&gt;Path=ExtensionInfo и написать конвертер, то данные все равно не&lt;br /&gt;обновляются в реальном времени, хотя на ранних версиях S# это&lt;br /&gt;работало.... В чем может быть причина? ExtensionInfo больше не&lt;br /&gt;свойство зависимости? или не реализует INotifyPropertyChanged? &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>