воскресенье, 27 апреля 2014 г.

Update 140427

1. Нагрузил Приложение большим кол-вом систем.
При этом происходит длительная регистрация систем в БазеДанных в TradeContext.TradeStorage.Register(Strategy).
Появляется Окно MDA debug helper.
http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=RU-RU&k=k(EHMDA);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5)&rd=true
Лечится очисткой флага "ContextSwithDeadLock"

 В 140427_001 - этого не происходило
Последний Релиз 140427_002.

Сделал Копии vspr12_140427 и vspr13_140427 на Новый DVD

пятница, 25 апреля 2014 г.

Quik. Dde

Необходимо фильтровать нули и прочую грязь, при получении котировок из Quik по DDE.

На картинке синими прямоугольниками выделены нули.

Update 140425. Dde OnPocked.

Dde2 имеет выбор Mode.
Задается в xml
<?xml version="1.0" encoding="utf-8" ?>
<DdeServer>
  <Dde2 enabled="true" ns="GS.Trade.Dde" as="GS.Trade.Dde">
    <Mode>1</Mode>
    <IsEnabled>true</IsEnabled>
    <Name>Dde Server</Name>
    <Code>QUIKInfoF</Code>
    <XPath>DdeTopicList</XPath>
  </Dde2>
  <DdeTopicList>
    <TopicItem ns="GS.Trade.Dde" as="GS.Trade.Dde">
      <TopicItemKey>[Forts]1</TopicItemKey>
    </TopicItem>
    <TopicItem ns="GS.Trade.Dde" as="GS.Trade.Dde">
      <TopicItemKey>[Micex]1</TopicItemKey>
    </TopicItem>
  </DdeTopicList>
</DdeServer>
if Mode == 1 - обработку строк осуществляет OnPocked1()
if Mode == 2 - обработку строк осуществляет OnPocked2()
OnPocked1:
Выгребает одну строкy и отправляет Подписчикам string.
То есть выборка и отправка построчно в цикле.
Подписчики обрабатывают строки в DdeProcess1()
OnPocked2:
Выгребает все строки и
собирает их в StringBuilder.Appendline()
Отправляет Подписчикам StringBuilder.ToString - strings разделенные \r\n
Подписчики обрабатывает входную строку в DdeProcess2()
string sr = new StringReader(strList);
while( sr.ReadLine() != null)
{...}

среда, 23 апреля 2014 г.

RtsMargin

Проекты:

D:\vspr12\Trade\GS\Trade\GS.Trade.Web\WebApi_01\ - Web_Api Project
D:\vspr12\Trade\GS\Trade\GS.Trade.WebClient\RtsMarginUpdate_01\ - WebClient

БД:
GS.Trade.DataBase.Dal.DbTradeContext

четверг, 17 апреля 2014 г.

Updates 140417_001

1. GS.Trade.Strategies
Ввел мультифайловость для файлов стратегий.
Стратегии группируются по группам и размещаются в соответствующих файлах.
Имена этих файлов Стратегий указываются в Общем файле Стратегий.
Общий Файл Стратегий Strategies\StratFiles.xml:
<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <string>Strategies\Train\Tr_Z705_02F1.xml</string>
  <string>Strategies\Test\Test_Z707_002.xml</string>
  <string>Strategies\Simulate\S_Z705_02FR.xml</string>
</ArrayOfString>
Имя Общего файла Стратегий указывается в SpsInit:
<SyncPositionsInit>
 <Strategies_XmlFileName>Strategies\StratFiles.xml</Strategies_XmlFileName>
</SyncPositionsInit>
Пример использования Builder.Build<T>(string uri, string xpath);

Десериализует простой список.

<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <string>String 1</string>
  <string>String 2</string>
</ArrayOfString>

var StringArray = Builder.Build<List<string>>(@"Directory\Strings.xml", "ArrayOfString");