S#.Data и запрос к базе данных извне
Atom Ответить
06.10.2016


День добрый. Встала задача получения данных из S#.Data во внешний источник (реализовать аналог getSymbols из quantmod package). Подскажите, возможно ли это? Если "да", то какая из таблиц содержит данные по тикерам/сделкам/свечам?

Спасибо.

Теги:


Спасибо:




14 Ответов
Rebelion

Фотография
Курсы
Дата: 07.10.2016
Ответить


Ок, тогда другой вопрос - есть ли где внятный мануал по созданию задания автоматического экспорта тикеров во внешнюю базу данных? Какие таблицы и как нужно создать в базе, как правильно по шагам прописать пункты в настройках автоэкспорта и т.п.

Спасибо.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 07.10.2016
Ответить


Инструменты хранятся в обычной SQLite базе.

Данные хранятся ввиде файлов. Подробнее в разделе https://doc.stocksharp.ru...fe-a829-fa6c40e5fabd.htm
Спасибо:

Rebelion

Фотография
Курсы
Дата: 07.10.2016
Ответить


Хм. Михаил, а есть ли какой-либо способ получить данные запросом к базе извне? Или только создание собственной SQL-базы и автоэкспорт поможет коммунизму победить?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 07.10.2016
Ответить


Я не понимаю до конца, что вы пытаетесь сделать, но уверен, что проблема куда проще в решение. Попробуйте обратиться к Python программисту какому-то. Уверен, там решение на час работы и пары тысяч рублей. Рекомендую Upwork сайт.
Спасибо:

Rebelion

Фотография
Курсы
Дата: 07.10.2016
Ответить


Да мне по сути нужно иметь возможность получать данные из Гидры посредством SQL-запросов к базе (сейчас основной код пишу на R, т.к. мне временно не нужна скорость, а нужно оттестировать компоненты R скриптов, которые потом к боту на S# прикручу). SQLite-база не хранит данные, как я понял, - они хранятся в отдельных файлах. Но из Гидры возможен автоэкспорт получаемых данных в SQL базу внешнюю. Я пытаюсь создать базу и настроить автоматический экспорт в неё из Гидры информации (теперь, раньше же хотел напрямую тащить информацию из SQLite-базы по незнанке). Пытаюсь подружить ужа с ежом - Гидру и MSSQL Express 2016. Если бы был какой видеомануал или хотя бы пошаговая инструкция For dummies - было бы зашибись.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 07.10.2016
Ответить


Напишите на lesson@stocksharp.com Купите тех поддержку и вам помогут подружить. Мануалов нет, видео тем более. С радостью примем в дар подобное от пользователейBigGrin
Спасибо:

Rebelion

Фотография
Курсы
Дата: 07.10.2016
Ответить


Видимо, придётся. Скажите, а сколько будет стоить настройка автоэкспорта из гидры в MSSQL базу удалённо через TeamViewer (ну, я хочу 600 рублей сэкономить, задавая это вопрос, а то на 1 вопрос больше получается. :-) )
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 07.10.2016
Ответить


Rebelion Перейти
Видимо, придётся. Скажите, а сколько будет стоить настройка автоэкспорта из гидры в MSSQL базу удалённо через TeamViewer (ну, я хочу 600 рублей сэкономить, задавая это вопрос, а то на 1 вопрос больше получается. :-) )


Сервис вопрос-ответ в вашем случае вряд ли подойдет. Здесь вы уже задали вопросов на пару тысяч.Laugh

Вопрос-ответ - это именно простые вопросы с простыми ответами. У вас же вопросы пока более абстрактные. Возможно из-за того, что вы пока сами не понимаете, что вам нужно и как именно.

Хозяин-барин. Можете и попробовать через простые вопросы. Но думаю будет дороже, чем месячный пакет.
Спасибо:

Rebelion

Фотография
Курсы
Дата: 07.10.2016
Ответить


А цены где есть на месяц техподдержки? Я просто на сайте смотрю - там только за вопрос деньги предлагают заплатить. Вот и решил спросить, мол, сколько будет стоить мне подключение специалиста по teamviewer'у к моему серверу и настройка экспорта данных по тикерам в автоматическом режиме из Гидры в базу на MASSQL Express...
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 07.10.2016
Ответить


Rebelion Перейти
А цены где есть на месяц техподдержки? Я просто на сайте смотрю - там только за вопрос деньги предлагают заплатить. Вот и решил спросить, мол, сколько будет стоить мне подключение специалиста по teamviewer'у к моему серверу и настройка экспорта данных по тикерам в автоматическом режиме из Гидры в базу на MASSQL Express...


Если вам нужна именно работа ввиде подключение к вашему серверу и настройка оборудования, то это уже не техническая поддержка, а заказ работы - https://stocksharp.ru/robot/
Спасибо:

Rebelion

Фотография
Курсы
Дата: 07.10.2016
Ответить


Разобрался как подключить. При попытке экспорта для имеющегося с инструмента в S#.Data получаю сообщение вида:
13:35:54.598| |Экспорт (авто)|SPFB.SI@FORTS. Экспорт ExecutionMessage в Sql.
13:35:54.599| |Экспорт (авто)|SPFB.SI@FORTS. Экспорт ExecutionMessage в Sql. Дата 05.01.2015 0:00:00.
13:35:54.603|Error |Экспорт (авто)|System.Data.SqlTypes.SqlTypeException: Переполнение SqlDateTime. Должно находиться в пределах от 1/1/1753 12:00:00 AM и 12/31/9999 11:59:59 PM.
в System.Data.SqlClient.TdsParser.TdsExecuteRPC(SqlCommand cmd, _SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc, Boolean sync, TaskCompletionSource`1 completion, Int32 startRpc, Int32 startParam)
в System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
в System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
в System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
в System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
в StockSharp.Algo.Export.Database.DbProviders.MSSQLDbProvider.InsertBatch(Table table, IEnumerable`1 parameters)
в StockSharp.Algo.Export.DatabaseExporter.Do[TValue,TTable](IEnumerable`1 values, Func`1 getTable)
в Ecng.Common.Converter.<>c__DisplayClassf.<DoInCulture>b__e()
в Ecng.Common.Converter.DoInCulture[T](CultureInfo cultureInfo, Func`1 func)
в StockSharp.Hydra.Tools.ExportTask.OnProcess()

В чём может быть проблема? Я понимаю, что скорее всего вопрос в несовпадении форматов дат. Хотелось бы понять, как это подправить в базе - какие форматы для соответствующих полей *Date и *Time выставить.
Автор топика
Спасибо:

JaguarFX

Фотография
Курсы
Дата: 08.10.2016
Ответить


Была похожая ситуация, только данные мне нужны в Матлабе.
В итоге сделал дллку с функциями для работы с хранилищем S#.Data из внешних приложений (получение списка инструментов, временных рядов hloc и пр). Это решило проблему без всякого sql-сервера.
Спасибо: Mikhail Sukhov

Rebelion

Фотография
Курсы
Дата: 08.10.2016
Ответить


Да видимо придётся писать. Просто не так удобно, конечно, - думал, что быстренько сделаю мостик между гидрой и R-клиентом через промежуточную базу. А не поделитесь dll'кой? Blushing
Автор топика
Спасибо:

JaguarFX

Фотография
Курсы
Дата: 09.10.2016
Ответить


Выложил в репозитарий: https://github.com/lebedevsrg/SDataExtract/ забирай.
Там в проекте MTBtest забиты как ресурсы два m-файла, можешь посмотреть как идет вызов из Matlab. Для R скорее всего как-то по аналогии.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy