← Zurück

Гидра и Finam

Установил себе гидру-база встала нормально. Запросил бумаги с Finam-все нормально, но число сделок стоит равное 0, решил запросить сделки за последние дни-ничего, как будто бы не было. Нажал старт экспорта-тоже молчок.

War dieses Thema hilfreich?

Thema teilen

Kommentare (67)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Андрей Ефимов: Установил себе гидру-база встала нормально. Запросил бумаги с Finam-все нормально, но число сделок стоит равное 0, решил запросить сделки за последние дни-ничего, как будто бы не было. Нажал старт экспорта-тоже молчок.

А лог файл что пишет?

anothar
anothar Autor

А ничего не пишет(( Снес базу прогнал скрипт еще раз та же история-правда добавился еще один баг:посмотрите на последнюю строчку: вместо Gazp стоит АО)-опять же везде число сделок стоит равное 0. релиз последний-3.1.10

Mikhail Sukhov
Mikhail Sukhov

Андрей Ефимов: А ничего не пишет((

Запустите Гидру под отладчиком. Что-то с логом. Он как минимум должен написать пару строчек.

anothar
anothar Autor

Вот лог с парой строчек-после запуска экспорта:

Mikhail Sukhov
Mikhail Sukhov

Андрей Ефимов: Вот лог с парой строчек-после запуска экспорта:

Что за инструмент?

anothar
anothar Autor

А и еще-копался в коде, искал где и как гидра получает данные с финама-потому что косяк то явно где-то тут, но так и не нашел, если подскажете, то может я и сам найду причину багов. А и еще вопрос в догонку: гидра скачивает сделки, а почему не скачивает свечки?

Mikhail Sukhov
Mikhail Sukhov

Андрей Ефимов: А и еще-копался в коде, искал где и как гидра получает данные с финама-потому что косяк то явно где-то тут, но так и не нашел, если подскажете, то может я и сам найду причину багов. А и еще вопрос в догонку: гидра скачивает сделки, а почему не скачивает свечки?

Все сосредоточено в одном месте - Worker.

anothar
anothar Autor

SBER

Mikhail Sukhov
Mikhail Sukhov

Андрей Ефимов: SBER

Под отладчиком можете вывести его поля? Особенно интересно значение свойства ExtensionInfo.

Dmitriy Klimov
Dmitriy Klimov

У меня тоже не качает, и в логе не пишутся сообщения. Из-за чего такое может быть?

Еще вопрос: не смог в списке инструменов найти индекс на фьючерс РТС. Через Гидру инструменты ФОРТС можно подгрузить?

hobo
hobo

Dmitriy Klimov: Еще вопрос: не смог в списке инструменов найти индекс на фьючерс РТС. Через Гидру инструменты ФОРТС можно подгрузить?Можно. Не через финам только, а через РТС. Загрузятся сделки по всем инструментам, отдельно фьюч какой-либо не загрузить.

Dmitriy Klimov
Dmitriy Klimov

hobo: Можно. Не через финам только, а через РТС. Загрузятся сделки по всем инструментам, отдельно фьюч какой-либо не загрузить.

Для РТС не отображается ни один инструмент. При попытке обновить инструменты вылетает ошибка: http://screencast.com/t/xfxz89NNqU Но для Finam инструменты показывает...

Mikhail Sukhov
Mikhail Sukhov

Dmitriy Klimov:

hobo: Можно. Не через финам только, а через РТС. Загрузятся сделки по всем инструментам, отдельно фьюч какой-либо не загрузить.

Для РТС не отображается ни один инструмент. При попытке обновить инструменты вылетает ошибка: http://screencast.com/t/xfxz89NNqU Но для Finam инструменты показывает...

Потому что РТС-ный провайдер сам подтягивает инструменты. Для него не нужно выбирать инструменты.

Dmitriy Klimov
Dmitriy Klimov

Mikhail Sukhov: Потому что РТС-ный провайдер сам подтягивает инструменты. Для него не нужно выбирать инструменты.

Михаил, а как тогда начать загрузку истории с РТС, не указав инструмента?

Dmitriy Klimov
Dmitriy Klimov

Ребята, выручайте! Как загрузить историю фьючерса на индекс РТС? Что где выбрать и нажать, чтобы началась загрузка?

Mikhail Sukhov
Mikhail Sukhov

Dmitriy Klimov: Ребята, выручайте! Как загрузить историю фьючерса на индекс РТС? Что где выбрать и нажать, чтобы началась загрузка?

В том то и дело, что для РТС выбирать ничего не нужно. Только кнопка Старт.

Dmitriy Klimov
Dmitriy Klimov

Mikhail Sukhov: В том то и дело, что для РТС выбирать ничего не нужно. Только кнопка Старт.

Нажал кнопку старт. В логе появились строчки:

Finam 13:12:37.0923676 Стартовал для 0 инструментов. RTS 13:12:37.1763724 Стартовал. RTS 13:12:41.1345988 Загружено 0 сделок.

И все! Все стоит, и ничего не происходит...

Mikhail Sukhov
Mikhail Sukhov

Mikhail Sukhov: В том то и дело, что для РТС выбирать ничего не нужно. Только кнопка Старт.

Нажал кнопку старт. В логе появились строчки:

Finam 13:12:37.0923676 Стартовал для 0 инструментов. RTS 13:12:37.1763724 Стартовал. RTS 13:12:41.1345988 Загружено 0 сделок.

И все! Все стоит, и ничего не происходит...

Настройки такие. В доке написано про время работы и интервал у источников.

Dmitriy Klimov
Dmitriy Klimov

Mikhail Sukhov: Настройки такие. В доке написано про время работы и интервал у источников.

Вот скрин окна настроек: http://screencast.com/t/l6JqPrtk

Что-то не так?

AlexK2
AlexK2

у меня такая же проблема, свечи качаются а сделки - нет. (финам (квик) + ртс). как-то решилась у Вас данная проблема?

foRs
foRs

Хелп!

Finam 21:43:24.2421754 System.InvalidOperationException: Файл '7_MINISANDP500\2011_01_01.txt' не был успешно распарсен и будет удален. ---> System.IndexOutOfRangeException: Индекс находился вне границ массива. в StockSharp.Algo.History.Finam.FinamHistorySource.#=qlB0M9uQDPwVAIXz5AbQc65LSarl5M0QezLqHZLo$55E=.#=q8fwjV7716bC2HEuYKVeXiXgPBDTA0javJnhIQdjOMFs=(String[] #=qntuF$Wc9jhDoYbgoFnPHLg==) в System.Linq.Enumerable.<>c__DisplayClass123.<CombineSelectors>b__11(TSource x) в System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в StockSharp.Algo.History.Finam.FinamHistorySource.#=qm3V9Kfo72M8TE2px_zLo91NUNwX1DFHZXooim2Xfrb4=.#=qSgEbel5tmQf9uxhh2RLotg==() в Ecng.Common.Converter.DoInCulture(CultureInfo cultureInfo, Func1 func) в StockSharp.Algo.History.Finam.FinamHistorySource.#=q6BlK78NbMWT5va2jgD3c1w==(String #=qeFGr0rUvPsRTAEsilaxrAw==, Func1 #=qPgI9IanAZbPzdneS8Dmo$Q==, Func2 #=quNBr9F2HX1FjRdXv3fo9cg==) --- Конец трассировки внутреннего стека исключений --- в StockSharp.Algo.History.Finam.FinamHistorySource.#=q6BlK78NbMWT5va2jgD3c1w==(String #=qeFGr0rUvPsRTAEsilaxrAw==, Func1 #=qPgI9IanAZbPzdneS8Dmo$Q==, Func2 #=quNBr9F2HX1FjRdXv3fo9cg==) в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time) в StockSharp.Hydra.Finam.FinamTradeSource.Load(IDictionary2 trades) в F:\Sources\StockSharpReleases\StockSharp_4.0.5\Hydra\Plugins\Finam\FinamTradeSource.cs:строка 201 в StockSharp.Hydra.Worker.Load[TData](IMarketDataSource source, IEnumerable1 securities, Func3 getStorage, Func2 getLog, Func2 orderBy, Action2 updateCount) в F:\Sources\StockSharpReleases\StockSharp_4.0.5\Hydra\Hydra\Worker.cs:строка 242 в StockSharp.Hydra.Worker.<>c__DisplayClass19.<Download>b__e(IMarketDataSource source) в F:\Sources\StockSharpReleases\StockSharp_4.0.5\Hydra\Hydra\Worker.cs:строка 177

Mikhail Sukhov
Mikhail Sukhov

foRs: Finam 21:43:24.2421754 System.InvalidOperationException: Файл '7_MINISANDP500\2011_01_01.txt' не был успешно распарсен и будет удален. --->

Пришлите этот файл.

foRs
foRs

Mikhail Sukhov:

foRs: Finam 21:43:24.2421754 System.InvalidOperationException: Файл '7_MINISANDP500\2011_01_01.txt' не был успешно распарсен и будет удален. --->

Пришлите этот файл. А файла и нету, только папка есть 7_MINISANDP500. Сделки не качаются с финама ((

Mikhail Sukhov
Mikhail Sukhov

foRs: А файла и нету, только папка есть 7_MINISANDP500. Сделки не качаются с финама ((

А вы пробовали скачать с сайта Финам сделки?

foRs
foRs

А если SP500 убираю то, Finam 21:49:48.3551454 Инициализируется. Finam 21:49:48.3561454 Стартовал для 2 инструментов. Finam 21:49:48.3561454 Старт с 02.01.2011 для MXZ1@RTS. Finam 21:49:48.3651459 Старт с 02.01.2011 для RIZ1@RTS. Finam 21:49:48.3721463 Для инструмента 'MXZ1@RTS' загружено 0. Finam 21:49:48.3721463 Для инструмента 'RIZ1@RTS' загружено 0.

не качается, где искать ошибку? в настройках все как справке

AlexK2
AlexK2

Народ, если у кого-то качались сделки по квику, скиньте пожалуйста мне файлик настроек (*.wnd) для акций и фьючерсов. (или может кто ковырялся в исходниках сток шарпа и знает где копать?)

Mikhail Sukhov
Mikhail Sukhov

AlexK2: Народ, если у кого-то качались сделки по квику

А в Гидре вообще есть такая функциональность? Сделки, вроде как, из Финама и РТс качаются.

AlexK2
AlexK2

меня интресует вопрос - как через DDE из таблицы квика "все сделки" закачать данные по сделкам?

судя по UI, когда выбирается инструмент, то в качестве источника по стаканам можно выбрать (quik, plaza, smart), а по сделкам можно выбрать (finam, plaza, quik, smart, rts, ux). стаканы закачиваются нормально, а вот сделки только по ртс и ux кажется. в коде гидры для сделок используется метод _storage.GetTradeStorage а для стаканов _storage.GetMarketDepthStorage. я правильно понимаю, что и стаканы и сделки закачиваются через DDE?

Mikhail Sukhov
Mikhail Sukhov

AlexK2: меня интресует вопрос - как через DDE из таблицы квика "все сделки" закачать данные по сделкам?

В документации про это написано куча разделов. А уж сколько примеров.

AlexK2: я правильно понимаю, что и стаканы и сделки закачиваются через DDE?

Квик работает только через ДДЕ

foRs
foRs

Скачал новую версию для sqlite, скачал к нему sqllite.dll. запустил, настройках выставил нужные параметры, минутки, начало даты поставил 1 ноября 2011. время с 10:10 до 18:20 обновил инструменты, выбрал нужный RIZ1 , выставил параметры класс WIDX шаг 0,0001 лот 1 биржа РТС (тестовая биржа) и так пробовал Сделки Финам.

Вот в графе сделки и стаканы там нули стоят. После старта файлы создаются но пустые сделок нету. С финама пробовал качать - все качается на данном промежутке.

Скажите где я что упустил и почему сделки не качаются?

Alexander
Alexander

foRs: Скачал новую версию для sqlite, скачал к нему sqllite.dll. запустил, настройках выставил нужные параметры, минутки, начало даты поставил 1 ноября 2011. время с 10:10 до 18:20 обновил инструменты, выбрал нужный RIZ1 , выставил параметры класс WIDX шаг 0,0001 лот 1 биржа РТС (тестовая биржа) и так пробовал Сделки Финам.

Вот в графе сделки и стаканы там нули стоят. После старта файлы создаются но пустые сделок нету. С финама пробовал качать - все качается на данном промежутке.

Скажите где я что упустил и почему сделки не качаются?

Класс SPBFUT Шаг 5 Лот 1

Почему гидра закачивает новые инструменты, если я выбрал нужные(см. скрин). И в конце вылетает опять ошибка про шаг цены для MICEX@RTSIND..(я же его не просил закачивать). Во временной директории создаются папки для нужных интсрументов (из источника Finam), но все файлы пустые.

Finam 19:31:16.1670868 Инициализируется. Quik 19:31:16.1680868 Инициализируется. Finam 12:32:06.7649808 Старт с 11.01.2001 для SBER1@Finam. Finam 12:32:07.3740157 Старт с 11.01.2001 для SBERP1@Finam. Finam 12:32:07.5510258 Старт с 06.01.2001 для АО)@Finam. Quik 12:32:08.4450769 Получены новые инструменты: Quik 12:32:08.4450769 MICEX@RTSIND Quik 12:32:08.4450769 RTS2@RTSIDX

... ...

Quik 12:32:08.4700783 SR10500BO2@RTS Quik 12:32:08.4710784 RI155000BM2@RTS Quik 12:32:08.4710784 RU000A0JQ9U9@EQOB Quik 12:32:08.4710784 Si35000BC2@RTS Quik 12:32:08.4710784 RU000A0JR4J2@EQOB Quik 12:32:08.4710784 KLNA@EQNL Quik 12:32:08.4710784 RU000A0JQ136@EQNO Quik 12:32:08.4710784 SR8250BC2@RTS Quik 12:32:08.4710784 TGKN@EQNL Quik 12:32:08.4710784 RU000A0JQ177@EQNO Quik 12:32:08.4710784 RU000A0JQ5E1@EQOB Quik 12:32:08.4710784 NKNC@EQBS Quik 12:32:08.4710784 GZ18000BB2@RTS Quik 12:32:08.4710784 RU000A0JR1F6@EQNO Quik 12:32:08.4710784 DLVB@EQNE Quik 12:32:08.4710784 RU000A0JPAZ0@EQNB Quik 12:32:08.4710784 RU000A0JP799@EQNE Quik 12:32:08.4710784 Si34000BC2@RTS Quik 12:32:08.4710784 Si33250BC2@RTS Quik 12:32:08.4710784 PBSBP@EQNE Quik 12:32:08.4710784 ARSB@EQNE Quik 12:32:08.4710784 RU000A0JR7S6@EQNB Quik 12:32:08.4710784 RU000A0JR5K7@EQOV Quik 12:32:08.4710784 SR7250BC2@RTS Quik 12:32:08.4710784 RU000A0JRYP7@EQNB Quik 12:32:08.4720785 PLSM@EQNE Quik 12:32:08.4720785 RU000A0JR9A0@EQOB Quik 12:32:08.4720785 RU000A0JRVZ2@EQNB Quik 12:32:08.4720785 RU000A0JQ656@EQNO Quik 12:32:08.4720785 MGNT-006D@EQNE Quik 12:32:08.4720785 RI170000BF2@RTS Quik 12:32:08.4720785 PHOR@EQLV Quik 12:32:08.4720785 RI180000BF2@RTS Quik 12:32:08.4720785 RI165000BC2@RTS Quik 12:32:08.4720785 MICEXEQRRON@INDX Quik 12:32:08.4720785 MICEXBORRON@INDX Quik 12:32:08.4720785 5449_101@FNT Quik 12:32:08.4720785 27026_101@FNT Quik 12:32:08.4720785 RU000A0JNPK5@EQOB Quik 12:32:08.4720785 59048_101@FNT Quik 12:32:08.4720785 GUMM@EQNE Quik 12:32:08.4720785 RU000A0JRN78@EQNO Quik 12:32:08.4720785 RU000A0JPTM8@EQOB Quik 12:32:08.4720785 24849_101@FNT Quik 12:32:08.4720785 IRKT@EQNE Quik 12:32:08.4720785 MTSS@RTS Quik 12:32:08.4720785 26911_101@FNT Quik 12:32:08.4730785 RU000A0JNYN1@EQOB Quik 12:32:08.4730785 RU000A0JNGU3@EQNB Quik 12:32:08.4730785 KZBE@EQNL Quik 12:32:08.4730785 RI125000BA2@RTS Quik 12:32:08.4730785 RI115000BO2@RTS Quik 12:32:08.4730785 RU000A0JNYP6@EQOB Quik 12:32:08.4730785 LK17500BB2@RTS Quik 12:32:08.4730785 RI135000BB2@RTS Quik 12:32:08.4730785 RU000A0E6TK0@EQOB Quik 12:32:08.4730785 RI185000BB2@RTS Quik 12:32:08.4730785 RU000A0JP6L5@EQNB Quik 12:32:08.4730785 RU000A0JPTS5@EQOB Quik 12:32:08.4730785 BEGYP@EQNE Quik 12:32:08.4730785 RU000A0JQ6S9@EQNO Quik 12:32:08.4730785 RI160000BM2@RTS Quik 12:32:08.4730785 VSMZ@EQNE Quik 12:32:08.4730785 RU000A0JQS74@EQOB Quik 12:32:08.4730785 RU000A0JQ6U5@EQOB Quik 12:32:08.4730785 RU000A0JR894@EQNB Quik 12:32:08.4730785 RU000A0JRJQ6@EQNO Quik 12:32:08.4730785 CHEP@EQNL Quik 12:32:08.4730785 RU000A0JR2H0@EQOB Quik 12:32:08.4730785 GZ15500BO2@RTS Quik 12:32:08.4730785 29937_101@FNT Quik 12:32:08.4740786 27039_101@FNT Quik 12:32:08.4740786 RU000A0JRKP6@EQOB Quik 12:32:08.4740786 59810_101@FNT Quik 12:32:08.4740786 FEES@RTS Quik 12:32:08.4740786 RU000A0JRJN3@EQNO Quik 12:32:08.4740786 RU000A0JRJP8@EQNO Quik 12:32:08.4740786 RU000A0JP1V5@EQOB Quik 12:32:08.4740786 RUGR@EQNE Quik 12:32:08.4740786 SR9000BB2@RTS Quik 12:32:08.4740786 RU000A0JRER5@EQOB Quik 12:32:08.4740786 MGNZ@EQNE Quik 12:32:08.4740786 RI90000BO2@RTS Quik 12:32:08.4740786 RU000A0JRUS9@EQNO Quik 12:32:08.4740786 DSF2@RTS Quik 12:32:08.4740786 UTAR@EQNE Quik 12:32:08.4740786 RU000A0JRK63@EQOV Quik 12:32:08.4740786 TZUM@EQNE Quik 12:32:08.4740786 RU000A0JRDR7@EQOB Quik 12:32:08.4740786 RU000A0JR209@EQNO Quik 12:32:08.4740786 RU000A0JQX85@EQNB Quik 12:32:08.4740786 RU000A0JRKL5@EQOB Quik 12:32:08.4740786 64971_101@FNT Quik 12:32:08.4740786 HIMCP@EQNE Quik 12:32:08.4750786 RU000A0JQT99@EQNB Quik 12:32:08.8210984 System.ArgumentException: Инструмент MICEX@RTSIND имеет нулевой шаг цены. Имя параметра: security в #=qsUVx8aLRZW_nZe5D2rHIDjSWtx8H21JA7pGfZaXzUs_1iM1dUtisk$bY5jcDdUgh..ctor(Security #=qlBP6yupZZVSXLkctl7rUhA==, String #=qCzo3nMW_JlV0IJEJaPSvPA==, String #=qCbtBugjG4cqjFPLcBYV0IA==, Int32 #=qlZczL7$jbEEEYJBYOmfQeg==, Func2 #=qoX6rrEX9k$zlmRnh44PzAQ==, Func2 #=qgK9EmHRMYnYAzQjELoCcpQ==, Func2 #=qjnQG2I6QVa6B9z174OOqyQ==) в #=q6FkNnwf6H5FK5pt8qPDKoNnFstKkC9oJpTePvzIyh3$XLQ0GDrA76BGwqDx_9O_p..ctor(Security #=q66j52dUChjMl7_$KByWHjQ==, String #=qYntznu1VHANwKtSOnlxy3g==) в StockSharp.Algo.Storages.TradingStorage.#=qPoqAmXL0e2JM_uhdJ0Lpi$yBZxNBOoNdnECVIwMCPsU=(Tuple2 #=qJOb7Ksnw3ptpN1E_lUot3w==) в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary2 dictionary, TKey key, Func2 handler) в StockSharp.Algo.Storages.TradingStorage.GetTradeStorage(Security security, String basePath) в StockSharp.Hydra.Core.BaseMarketDataSource.SaveTrades(Security security, IEnumerable1 trades) в D:\work\Economic\S#\TradeMaxProject\Hydra\Core\BaseMarketDataSource.cs:строка 185 в StockSharp.Hydra.Core.BaseMarketDataSource.SaveTrades(IDictionary2 allTrades) в D:\work\Economic\S#\TradeMaxProject\Hydra\Core\BaseMarketDataSource.cs:строка 174 в StockSharp.Hydra.Core.TraderMarketDataSource.Load() в D:\work\Economic\S#\TradeMaxProject\Hydra\Core\TraderMarketDataSource.cs:строка 68 в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в D:\work\Economic\S#\TradeMaxProject\Hydra\Hydra\Worker.cs:строка 187 Finam 19:33:31.8308463 Останавливается. Finam 19:33:31.8308463 Остановлен. Quik 19:33:31.8308463 Останавливается. Quik 19:33:32.1178627 Остановлен. Finam 19:47:29.5557614 Инициализируется. Quik 19:47:29.5557614 Инициализируется.

Mikhail Sukhov
Mikhail Sukhov

Максим Пыж: Почему гидра закачивает новые инструменты, если я выбрал нужные(см. скрин).

Посмотрите настройки источника внимательнее.

Все так??

Mikhail Sukhov
Mikhail Sukhov

Максим Пыж: Все так??

Да, фильтр включен. Надо посмотреть под отладчиком почему так.

Поменял свою базу SQL Server на стандартную обратно(видимо какие то ошибки в моей). Загрузка не нужных инструментов пропала. Загрузка с Quik работает.. С finama нет. В логе пишет :

Finam 20:23:38.7239858 Старт с 07.01.2006 для NKEL@Finam. - и все..данные не поступают. Запускал после 19 00. Есть разница во сколько запускать Гидру для источника Finam ??

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

	}

Поменял инструмент на LKOH@EQBR.. и все заработало.. Почему тогда интересно не качаются с финама инструменты с индексом @Finam ??

Может кто объяснить, почему когда я переключаюсь с БД SQLLite на БД SQL Server с QUIK начинают загружаться "левые" инструменты: (Я начал отладку после того как был запущен экспорт данных из таблиц "Инструменты" и "Сделки"). Так вот по событию OnNewTrades (см. скрин 1) начинают добавляться новые инструменты (хотя фильтр на источнике QUIK выставлен).Появляются новые инструменты (это все пишется в лог) и гидра выдает исключение, когда натыкается на первый инструмент у которого не выставлен шаг цены(список инструментов - скрин 2)..

Mikhail Sukhov
Mikhail Sukhov

Максим Пыж: Может кто объяснить, почему когда я переключаюсь с БД SQLLite на БД SQL Server с QUIK начинают загружаться "левые" инструменты: (Я начал отладку после того как был запущен экспорт данных из таблиц "Инструменты" и "Сделки"). Так вот по событию OnNewTrades (см. скрин 1) начинают добавляться новые инструменты (хотя фильтр на источнике QUIK выставлен).Появляются новые инструменты (это все пишется в лог) и гидра выдает исключение, когда натыкается на первый инструмент у которого не выставлен шаг цены(список инструментов - скрин 2)..

А если попытаться прогнать Гидру под отладчиком? Понять очень сложно. Могу лишь сказать, что дело точно не в базе данных.

VladOA
VladOA

Закачивал GAZP. До 31.05.2010 все было нормально. Теперь пишет:

Finam 13:39:10.2871000 Старт с 31.05.2010 для GAZP@EQNE. Finam 13:39:10.7371000 System.NotImplementedException: Сохранение дробного объема 157,90000 не реализовано. в #=qIvfb0KaoLZHJwbwdmyUYG0aYBGwmZUZpaA8XWd7TzmFZlIvGXBdcGcbQ_azEKiMv.#=qPLZ4Br16ROnPUsLhEbyWJeb8asqLR_khBRwIVWuxdlc=(List1 #=qHaHP4WZSVdKz53Hwzy$ekw==, Decimal #=qhu4vhr1MHD80bbKU0aTtKg==) в #=qBqzAfx4eX6jbAhjwSd62HO7JRaSexID1AIl5WmXAy3S7x063IslpJU6PSmAY4K6e.OnSave(List1 #=qqyKsrFDqPQNf7clHmU6QKA==, IEnumerable1 #=qK6EdLnUkgp_KJy$hJ11a_w==, DateTime #=qSFAC$scRA4mWTzTNQChuoA==, #=qYNjvRXHQghRb5cWAIiLMPxObT5A_ll0ShaDoWeOCPo40g7vTN_D9$sRoNYtawAKR #=qCq$dYyBeVA4pLz$2xUo$IA==) в #=qIvfb0KaoLZHJwbwdmyUYG0aYBGwmZUZpaA8XWd7TzmFZlIvGXBdcGcbQ_azEKiMv.#=qbxwQorhTEVBrDX_KQPOpHQ==(DateTime #=quT0U3ebFiCvxBFlCJ5FPaw==, IEnumerable1 #=qcOtJ7PQfvVQNrynCnb33UA==, Boolean #=q2qnj8xtZHEt7km9X5YENcQ==) в #=qIvfb0KaoLZHJwbwdmyUYG0aYBGwmZUZpaA8XWd7TzmFZlIvGXBdcGcbQ_azEKiMv.Save(IEnumerable1 #=qnHQMv3JcZ9cSYcyXHIl8XQ==) в StockSharp.Hydra.Core.BaseMarketDataSource.SaveTrades(Security security, IEnumerable1 trades) в F:\Sources\StockSharpReleases\StockSharp_4.0.16\Hydra\Core\BaseMarketDataSource.cs:строка 185 в StockSharp.Hydra.Finam.FinamSource.Load() в F:\Sources\StockSharpReleases\StockSharp_4.0.16\Hydra\Plugins\Finam\FinamSource.cs:строка 151 в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в F:\Sources\StockSharpReleases\StockSharp_4.0.16\Hydra\Hydra\Worker.cs:строка 187

Что не так?

Mikhail Sukhov
Mikhail Sukhov

А какой у него минимальный шаг? Плюс покажите скаченный файл для этого тикера Гидрой (складывается во временную директорию).

VladOA
VladOA

Mikhail Sukhov: А какой у него минимальный шаг? Плюс покажите скаченный файл для этого тикера Гидрой (складывается во временную директорию).

Шаг установлен 0.01.

Mikhail Sukhov
Mikhail Sukhov

Что-то вы не то прислали.

VladOA
VladOA

Mikhail Sukhov: Что-то вы не то прислали.

Вот файл из временного каталога.

Mikhail Sukhov
Mikhail Sukhov

VladOA:

Mikhail Sukhov: Что-то вы не то прислали.

Вот файл из временного каталога.

Сейчас ошибка воспроизводиться?

VladOA
VladOA

Mikhail Sukhov:

VladOA:

Mikhail Sukhov: Что-то вы не то прислали.

Вот файл из временного каталога.

Сейчас ошибка воспроизводиться?

Скачал последнею версию, удалил временный файл и теперь закачка идет.

FiNick
FiNick

У меня вообще инструменты по Finam и RTS не обновляются. Нажимаю обновить, минут 10 жду, потом ошибка "Ожидание подключения превысило максимально допустимый интервал". В лог ничего не пишет. С квиком все нормально работает. А что за источник Stock#? C ним та же ерунда правда, обновляется бесконечное время

Mikhail Sukhov
Mikhail Sukhov

FiNick: У меня вообще инструменты по Finam и RTS не обновляются. Нажимаю обновить, минут 10 жду, потом ошибка "Ожидание подключения превысило максимально допустимый интервал".

По РТС обновлять не нужно инструменты. И да, в последней версии была бага для РТС источника. Залечена в 4.0.17.

FiNick
FiNick

Так а что на счет финама? Как с него тики RIH2 скачать? Или со Stock#? При попытке обновить инструменты Stock# вылетает: "There was no endpoint listening at http://stocksharp.com:8000/ that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 87.236.31.85:8000"

Mikhail Sukhov
Mikhail Sukhov

FiNick: Так а что на счет финама? Как с него тики RIH2 скачать?

У всех проблема с обновлением инструментов через Финам? У меня все ок.

FiNick: Или со Stock#? При попытке обновить инструменты Stock# вылетает:

Это вообще недоступно пока всем желающим.

FiNick
FiNick

Плохо, что в TradingStorage нельзя подать котировки, скачанные с финама вручную, например. Придется свой тестер писать

Mikhail Sukhov
Mikhail Sukhov

FiNick: Плохо, что в TradingStorage нельзя подать котировки, скачанные с финама вручную, например.

Можно.

FiNick: Придется свой тестер писать

Да, было бы интересно взглянуть на реализацию.

Mikhail Sukhov
Mikhail Sukhov

FiNick: Плохо, что в TradingStorage нельзя подать котировки, скачанные с финама вручную, например.

Подумал. Есть предложение. Если сделаете поддержку в Гидре скачивания готовых свечек ( http://stocksharp.com/doc/html/M_StockSharp_Algo_History_Finam_FinamHistorySource_GetCandles.htm ), то я сделаю поддержку тестирования по этим свечкам.

Версия Гидры 4.0.17. При попытке обновить инструменты вылетает ошибка.

Mikhail Sukhov
Mikhail Sukhov

Максим Пыж: Версия Гидры 4.0.17. При попытке обновить инструменты вылетает ошибка.

Можете посмотреть под отладчиком, что за инструмент такой и какие у него поля заполнены?

В каком объекте посмотреть текущий инструмент?? в newSecurities загружено 9037 объектов RTS.

Mikhail Sukhov
Mikhail Sukhov

Максим Пыж: Могу, где мне поставить breakpoint ??

По скрину не виден стек трейд весь. Ниже пролистайте, там будет написано.

Гидра выдает исключение после того как получила около 1000 новых инструментов и после этого пытается сохранить в storage ...

Этот код возвращает для _nonSavedSecurities ноль :

public Security[] GetNonSavedSecurities()
		{
			return _nonSavedSecurities.SyncGet(c => c.CopyAndClear());
		}

Затем этот ноль идет сюда :

using (var batch = _storage.Storage.BeginBatch())
			{
_securityStorage.GetNonSavedSecurities().ForEach(_storage.Securities.Save);
					batch.Commit();
				}

И вылетает вот такое исключение :

Instance value for field 'Class' is null. Имя параметра: instance.

Mikhail Sukhov
Mikhail Sukhov

Гидра выдает исключение после того как получила около 1000 новых инструментов и после этого пытается выполнить код...

using (var batch = _storage.Storage.BeginBatch()) { _securityStorage.GetNonSavedSecurities().ForEach(_storage.Securities.Save); batch.Commit(); }

Я это понял... Вот понять бы какой именно инструмент приводит к ошибке. Сделайте цикл вместо ForEach. И внутри него try catch

Метод _securityStorage.GetNonSavedSecurities() возвращает нулевой масссив инструментов.

Mikhail Sukhov
Mikhail Sukhov

Максим Пыж: Метод _securityStorage.GetNonSavedSecurities() возвращает нулевой масссив инструментов.

Тогда в какой момент ошибка?

Когда пытаемся сохранить нулевой элемент security массива:

_storage.Securities.Save(masssec[j]);

Могу прислать конфиг QUIK ... может получится воспроизвести??

Mikhail Sukhov
Mikhail Sukhov

Максим Пыж: Когда пытаемся сохранить нулевой элемент security массива:

_storage.Securities.Save(masssec[j]);

Так массив же пустой. Там не может быть нулевого элемента.

JackSparrow
JackSparrow

Для данных с Финама время от времени происходит ошибка см рис.1 и рис.2 Почему происходит непонятно а как лечить понятно - либо текстовый дамп руками поправить либо то что на рис 3 поменять на рис 4. Последний вариант вроде как не правильный т.к уменьшать шаг принудутельно не айс. Предложение - может вставить проверку и округлять данные до размерность шага? Проверка то уже есть раз в лог пишется, осталось только округление вставить.

Alexander
Alexander

Лучше напишите финаму, что у них косяк в данных. Помогает как показывает практика.

JackSparrow
JackSparrow

Alexander Mukhanchikov: Лучше напишите финаму, что у них косяк в данных. Помогает как показывает практика. Я конечно напишу. Но пожалуйста объясните мне на будущее, чего стоит ожидать от гидры и от S#, потому что не совсем понятен весь смысл Вашего ответа. Я могу использовать только лабораторно чистые проверенные данные и если они имею некую кривизну то выносить этот вопрос на обсуждение не стоит? Глядя на Ваш ответ со стороны он выглядит просто как - это не наши проблемы. Попрявьте если не прав.

Alexander
Alexander

JackSparrow:

Alexander Mukhanchikov: Лучше напишите финаму, что у них косяк в данных. Помогает как показывает практика. Я конечно напишу. Но пожалуйста объясните мне на будущее, чего стоит ожидать от гидры и от S#, потому что не совсем понятен весь смысл Вашего ответа. Я могу использовать только лабораторно чистые проверенные данные и если они имею некую кривизну то выносить этот вопрос на обсуждение не стоит? Глядя на Ваш ответ со стороны он выглядит просто как - это не наши проблемы. Попрявьте если не прав.

Можете выносить всё что угодно на обсуждение, но мы не можем закладываться и подстраиваться под любые кривые данные, которые будут подсунуты. Если косяк на стороне - лучше править там, где он возник.

Чего ждать от гидры - см. исходники. Чего ждать от S# - см. документацию.

Собственно держите в курсе. Мы пытаемся исправлять всё что находится.