S#.Data и запрос к базе данных извне

S#.Data и запрос к базе данных извне
Atom
10/6/2016
Rebelion


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

Спасибо.


Tags:


Thanks:


< 1 2 
Rebelion

Avatar
Date: 10/7/2016
Reply


Разобрался как подключить. При попытке экспорта для имеющегося с инструмента в 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, TaskCompletionSource1 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, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean asyncWrite) в System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) в System.Data.SqlClient.SqlCommand.ExecuteNonQuery() в StockSharp.Algo.Export.Database.DbProviders.MSSQLDbProvider.InsertBatch(Table table, IEnumerable1 parameters) в StockSharp.Algo.Export.DatabaseExporter.Do[TValue,TTable](IEnumerable1 values, Func1 getTable) в Ecng.Common.Converter.<>c__DisplayClassf.b__e() в Ecng.Common.Converter.DoInCulture[T](CultureInfo cultureInfo, Func`1 func) в StockSharp.Hydra.Tools.ExportTask.OnProcess()

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

Thanks:

JaguarFX

Avatar
Date: 10/8/2016
Reply


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

Thanks: Mikhail Sukhov

Rebelion

Avatar
Date: 10/8/2016
Reply


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

Thanks:

JaguarFX

Avatar
Date: 10/9/2016
Reply


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

Thanks:
< 1 2 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy