﻿<?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">SDataExtract - API для работы с данными в хранилище S#.Data из внешних приложений</title>
  <id>~/topic/6943/sdataextract---api-dlya-raboty-s-dannymi-v-hranilishshe-s_data-iz-vneshnih-prilozhenii/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-04T09:24:04Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=6943" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/37182/</id>
    <title type="text">Можно сохранять историю в CSV формат. Тогда и обращение к АПИ не нужно. Про оболочку знаю, у нас же ...</title>
    <published>2016-10-09T14:06:50Z</published>
    <updated>2024-01-21T13:51:14Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Можно сохранять историю в CSV формат. Тогда и обращение к АПИ не нужно.&lt;/p&gt;
&lt;p&gt;Про оболочку знаю, у нас же сам [product]12[/product] построен на оболочке.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/37191/</id>
    <title type="text">Конечно пост Rebelion насчет ODBC у S#.Data смахивает на детский лепет, но как известно устами младе...</title>
    <published>2016-10-12T22:38:12Z</published>
    <updated>2016-10-12T22:38:12Z</updated>
    <author>
      <name>JaguarFX</name>
      <uri>https://stocksharp.com/users/49779/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Конечно пост Rebelion насчет ODBC у S#.Data смахивает на детский лепет, но как известно устами младенца глаголет истина - с &amp;quot;потребительской&amp;quot; точки зрения системе S#.Data не хватает полноценного COM/API для раздачи данных во внешние приложения как локально, так и как по сети. В иделе конечно был бы еще и собтственый ODBC драйвер)
При этом у S#.Data заявлен некий режим работы S#.DataServer но в чем он заключается нигде толком не описано, может быть сделаете на сайте статью по использоваию этого режима или хотя бы раздел в Справке?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/37186/</id>
    <title type="text">Гидра хранит данные как файлы. Обращаться через драйвера баз данных не нужно. </title>
    <published>2016-10-10T23:17:22Z</published>
    <updated>2016-10-10T23:17:22Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Гидра хранит данные как файлы. Обращаться через драйвера баз данных не нужно.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/37183/</id>
    <title type="text">Я вставлю свои 3 копейки - вызовы S#.API могут быть реализованы только через rClr библиотеку, но нас...</title>
    <published>2016-10-09T21:38:50Z</published>
    <updated>2016-10-09T21:38:50Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.com/users/28840/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Я вставлю свои 3 копейки - вызовы S#.API могут быть реализованы только через rClr библиотеку, но насколько она адекватно пашет - хз. Прямых же методов работы с базой S#.Data просто нет, насколько я понимаю. Т.е. если мне нужно, я не могу подключиться к S#.Data базе через ODBC или напрямую.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/37181/</id>
    <title type="text">Могу сказать только за Matlab: прямая работа с компонентами S#.API там конечно возможна, но в реальн...</title>
    <published>2016-10-09T13:58:28Z</published>
    <updated>2016-10-09T14:02:39Z</updated>
    <author>
      <name>JaguarFX</name>
      <uri>https://stocksharp.com/users/49779/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Могу сказать только за Matlab: прямая работа с компонентами S#.API там конечно возможна, но в реальности оболочка NET.invokeGenericMethod подглючивает и часто его не дает результатов при обращении к NET объектам, которые должны быть и которые нормально получаются при работе внутри проектов VisualStudio.  Кстати, наткнулся на это еще в [url=http://stocksharp.ru/forum/4203/smatlab---poluchenie-istoricheskih-dannyh/#m30616] 2013 [/url], 3 года прошло, но пробелема с NET.invokeGenericMethod так и остается))
Поэтому получается, что в конечном итоге проше завернуть всю работу с S#.API в промежуточную библиотеку, оставив на стороне пакета только вызов простейщих функций и конечную конвертацию из NET в свой внутренний формат.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/37176/</id>
    <title type="text">Составной частью алготрейлдинга является создание прибыльных торговых стратегий, дизайн и математиче...</title>
    <published>2016-10-09T11:24:40Z</published>
    <updated>2016-10-09T13:44:08Z</updated>
    <author>
      <name>JaguarFX</name>
      <uri>https://stocksharp.com/users/49779/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Составной частью алготрейлдинга является  создание прибыльных торговых стратегий, дизайн и математическое содержание которых части бывает достаточно сложным. И прежде чем их кодить на S# важно исследовать лежащие в основе стратегии идеи на предмет их пригодности к реальной жизни. Для этого чаще всего используются внешние математические/статистические пакеты - Matlab, R и иные.
Однако существенной проблемой при реальных исследованиях, например проведении WalkForward тестирования, является оперативная подгрузка необходимых данных в такие пакеты по ценных бумагам российского рынка.
Для решения данной пробемы было создано простое API  SDataExtract, которое позволяет работать с данными в хранилище S#.Data из внешних приложений, поддерживающих интеграцию с .NET
API  расположено в общем репозитарии &lt;a href="https://github.com/lebedevsrg/SDataExtract/" target="_blank"&gt;https://github.com/lebedevsrg/SDataExtract/&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/37180/</id>
    <title type="text">Можно для непосвященных? А в чем трабла то работа с хранилищем из МатЛаб, R и Python? </title>
    <published>2016-10-09T13:21:06Z</published>
    <updated>2016-10-09T13:21:06Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Можно для непосвященных? А в чем трабла то работа с хранилищем из МатЛаб, R и Python?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/37178/</id>
    <title type="text">Для тестирования решение содержит два дополнительных проекта: WPFtest - проект для тестирования чере...</title>
    <published>2016-10-09T11:52:28Z</published>
    <updated>2016-10-09T11:52:28Z</updated>
    <author>
      <name>JaguarFX</name>
      <uri>https://stocksharp.com/users/49779/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Для тестирования решение содержит два дополнительных проекта:
WPFtest - проект для тестирования через простое приложение
MTBtest -  пустой проект, содержащий в качестве ресурсов две m-функции для получения данных в среде Matlab&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/37177/</id>
    <title type="text">В настоящее время API способна предоставить в внешнее приложение 2 вида данных: список инструментов ...</title>
    <published>2016-10-09T11:40:49Z</published>
    <updated>2016-10-09T11:45:36Z</updated>
    <author>
      <name>JaguarFX</name>
      <uri>https://stocksharp.com/users/49779/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В настоящее время API способна предоставить в внешнее приложение 2 вида данных: список инструментов в хранилище и торговые данные по сохраненным данным (HLOCV) за указаный пользователем промежуток времени и по указанному тайм-фрейму&lt;/p&gt;
&lt;p&gt;[u]1. Получение списка бумаг[/u]
Происходит путем первичного вызова функции GetList() и последующим считыванием массива строк из переменной SecArray. Далее полученный в внешнем приложении массив строк необходимо привести к внутреннему формату строковых массивов.&lt;/p&gt;
&lt;p&gt;[u]2. Получение торговых данных [/u]
Шаг-1: вначале необходимо задать 5 переменных:
Code - код инструмента из хралища S#.Data,
DType - состав необходимых данных&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;'ALL','A'   -  полный состав HLOCV&lt;/li&gt;
&lt;li&gt;'CLOSE','C' - только значения Close&lt;/li&gt;
&lt;li&gt;'OPEN','O'  - только значения Open&lt;/li&gt;
&lt;li&gt;'VOL','V'  - только значения Volume
TimeFrame - тайм-фрейм запрашиваемых данных (должен соответствовать тому что есть в локальном хранилище)
From - указать на начало периода получения данных
To - указать на начало периода получения данных
Шаг2: затем необходимо вызвать функцию GetData(), которая как раз и считает данные в внутренний массив библиотеки.
Шаг3: на последнем шаге данные получаются путем считывания из объекта следуюдих двух переменных:&lt;/li&gt;
&lt;li&gt;dlDates - массив со значениями дата-время по каждой записи&lt;/li&gt;
&lt;li&gt;dlInfo - массив со значениями запрашиваемых торговых данных.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>