← Zurück

Баги в новой гидре

Последняя версия текущего дня. При выключении коннектора к финаму вылетает без каких-либо сообщений.

Также был замечен баг, при включении новой гидры с параметром автостарт и неудаленной бд с прошлой версии, дальше загрузки коннекторов дело не идет, на обработке UX встает намертво.

War dieses Thema hilfreich?

Thema teilen

Kommentare (24)

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

Moadip
Moadip

При выключении коннектора к финаму вылетает без каких-либо сообщений. Проверил, останавливается нормально, не вылетает. Опишите по шагам что и как вы делаете, чтобы воспроизвести ошибку.

Также был замечен баг, при включении новой гидры с параметром автостарт и неудаленной бд с прошлой версии, дальше загрузки коннекторов дело не идет, на обработке UX встает намертво. Не понял как это у вас получилось сделать.

До этого все настройки хранились в config файле. Допустим у вас был включен автостарт. Изменилась БД - все настройки были перенесены в БД. Изменился и код в Гидре. Соответственно при запуске Гидра ищет настройки в БД, а не в config файле. А раз БД была старая, в ней не было настроек, то и автозапуск невозможен.

yammm
yammm Autor

Включаю гидру:

Перетаскиваю ползунок на коннекторе финама в положение I.

Гидра вылетает:

Настройки финама:

Общие настройки:

Ось Win 7 ultimate 64 eng

Moadip
Moadip

Попробовал еще раз на чистой Гидре. Выставил точно такие же настройки. Включаю источник Финам, предлагает обновить справочник. Ничего не вылетает.

Ось: Win 7 ultimate 64 ru.

Берите исходники, ставьте бряки и смотрите из за чего вылетает.

yammm
yammm Autor

На чистой win 8 русской идет, на чистой win 7 eng не идет. Кстати не первый раз такое замечаю, что под англ версиями все работает немного иначе :)

Mikhail Sukhov
Mikhail Sukhov

yammm: На чистой win 8 русской идет, на чистой win 7 eng не идет. Кстати не первый раз такое замечаю, что под англ версиями все работает немного иначе :)

Если Гидра вылетает молча, то это какой-то баг во фреймворке. Потому что обработчик ошибок есть, и он не может не сработать. Не срабатывает только если что-то критическое произошло (нехватка памяти, ее перезапись и прочее). Так что тут только дебаг.

VassilSanych
VassilSanych

Mikhail Sukhov: Если Гидра вылетает молча, то это какой-то баг во фреймворке. Это маловероятно Mikhail Sukhov: Потому что обработчик ошибок есть, и он не может не сработать. Стартовый файл Гидры выглядит так


namespace StockSharp.Hydra
{
 public partial class App
	{
	}
}

Обработки неотловленных ошибок потоков как-то не заметно. Любые другие обработчики обрабатывают только отдельные куски кода. Так что обработчик может и не сработать.

VassilSanych
VassilSanych

yammm: На чистой win 8 русской идет, на чистой win 7 eng не идет. Кстати не первый раз такое замечаю, что под англ версиями все работает немного иначе :) Под англ. версиями иначе работает то, что разрабатывалось под русской версией. Особенно если никто толком продукт не тестировал. Точнее с русскими настройками, потому что локальных версий уже вобщем-то уже и нет. Последняя моя "локальная" версия ОС была Win 98 SE. Все остальные изначально были многоязычными, но везде кнопка Пуск называлась "Пуск". Даже в Win 8 ;) Настройте параметры данных и интерфейса на русский язык, иначе у вас и Quik нормально работать не будет. Я не имею в виду даже Local pack, настройте хотя бы формат данных и шрифты по-умолчанию.

Mikhail Sukhov
Mikhail Sukhov

VassilSanych: Обработки неотловленных ошибок потоков как-то не заметно.

Это достаточно легко проверить.

Jeta
Jeta

Собрал гидру из транка (22848) Скачал тики с Финама. При генерации нестандартных свечек из тиков (например 4 мин) происходит следующее: Генерация свечек

Время первой сделки получается, происходит 10.28, цена соответствует первой сделки в 10.30 (цена 11250). По идее, время открытия свечек д.б. 10.30,10.34, 10.38 и т.д?! При генерации 1мин,5мин свечек время и цена правильная 10.30(11250)...

MenDel
MenDel

Гидра 4.1.7 выкидывает при запуске вот такую ошибку, а 4.1.6 запускается без проблем

А 4.1.6 когда нажимаю стоп, загрузка данных не останавливается

Moadip
Moadip

MenDel: Гидра 4.1.7 выкидывает при запуске вот такую ошибку, а 4.1.6 запускается без проблем

Попробуйте последнюю версию с codeplex, вроде как это проблема была решена.

Moadip
Moadip

jTr: Собрал гидру из транка (22848) Скачал тики с Финама. При генерации нестандартных свечек из тиков (например 4 мин) происходит следующее: Генерация свечек

Время первой сделки получается, происходит 10.28, цена соответствует первой сделки в 10.30 (цена 11250). По идее, время открытия свечек д.б. 10.30,10.34, 10.38 и т.д?! При генерации 1мин,5мин свечек время и цена правильная 10.30(11250)...

Гидра скорее всего не причем, бага в самом S#. Посмотрим.

MenDel
MenDel

Moadip: Попробуйте последнюю версию с codeplex, вроде как это проблема была решена.

Она там не скомпилирована? Я не могу ее на 2010 студии запустить, точнее запускаю, а она просит ссылку StockSharp.Hydra.Core.dll, я чет ее не найду

Moadip
Moadip

Commit 22603

Михаил фиксил проблему. Вроде как больше не появлялась. Сейчас последний коммит 22879 - codeplex

Она там не скомпилирована? Я не могу ее на 2010 студии запустить, точнее запускаю, а она просит ссылку StockSharp.Hydra.Core.dll, я чет ее не найду

Нет, там лежат исходники. StockSharp.Hydra.Core.dll - это скомпиленный проект Core в Гидре.

Запускайте проект целиком trunk\StockSharp.sln и собирайте его полностью. Так точно соберется все что нужно.

MenDel
Jeta
Jeta

Не понятно, как работает гидра в случае, когда гидра останавливается по причине нехватки места на диске. Как в этом случае происходит дальнейшее скачивание?

Moadip
Moadip

Хм. Интересный вопрос, надо будет проэкспериментировать. Думаю при нехватке места в логи будет писаться сообщение об ошибке, и при наборе определенного количества exceptions, источник будет остановлен. По крайней мере сейчас так.

Jeta
Jeta

Moadip: ...Думаю при нехватке места в логи будет писаться сообщение об ошибке, и при наборе определенного количества exceptions, источник будет остановлен. По крайней мере сейчас так. Сейчас так и есть, ничего фатального не происходит, но как в таком случае продолжить скачивание?

Jeta
Jeta

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

Jeta
Jeta

Собрал некоторое количество exceptions)) Запустить гидру на скачивание не получалось. Интересный момент в том, что гидра с каждым разом "пробегает" "все с начала" и дальше выход на эксепшн. Метод тыка))) Скачался полностью другой инструмент...Скачивание прерванного инструмента возобновилась...

  • такое чувство, что гидра "не знает" что скачала ранее.(проход по логам?)
Jeta
Jeta

Идем дальше! Выгрузка свечек в .txt формат, через раз.Не думаю что ограничение .txt формата 12-16 мб...

Moadip
Moadip

Собрал некоторое количество exceptions)) Запустить гидру на скачивание не получалось. Интересный момент в том, что гидра с каждым разом "пробегает" "все с начала" и дальше выход на эксепшн. Метод тыка))) Скачался полностью другой инструмент...Скачивание прерванного инструмента возобновилась...

  • такое чувство, что гидра "не знает" что скачала ранее.(проход по логам?) Какой источник? Что значит "пробегает все с начала"? Какая ошибка при скачивании?

Сейчас так и есть, ничего фатального не происходит, но как в таком случае продолжить скачивание? Да вроде как ответ очевиден. Если не хватает места, то наверное его надо освободить. Или вопрос в другом?

Идем дальше! Выгрузка свечек в .txt формат, через раз.Не думаю что ограничение .txt формата 12-16 мб... Приведите пошаговые действия, когда появляется данная ошибка.

Jeta
Jeta

Одна из последних ошибок Гидры... Задача: скачать данные за период 01.01.2009-08.02.2013 по SPFB.RTS@RTS. Скачивание прекращается (довольно продолжительное). Версия из транка (22848)

00:05:13.437|Error  |Finam     |System.Net.WebException: Сервер нарушил протокол. Section=ResponseStatusLine
   в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
   в System.Net.WebClient.DownloadString(Uri address)
   в StockSharp.Algo.History.Finam.FinamHistorySource.#=qJs$6$bo78j0D5KtkZiF2xA==(Uri #=qnS2IEguL$xmTNxXhz2pdMw==)
   в StockSharp.Algo.History.Finam.FinamHistorySource.#=qYY4_54y1TtpX1q44diOy0mOxY24_tsYSTKuZGgJLO8Q=.#=qKXc6$JrTvx4ucZEkz7PEuFNVrrpIRMJEMMmkj$NR67k=()
   в StockSharp.Algo.History.Finam.FinamHistorySource.#=qD9oAKJ$GEARGfcJzgMhM$g==[T](String #=qnO0Ips9PCGTHpJZLYngtIw==, Func`1 #=q4QaBVWbRJ6OXHOSbMPTJcQ==, Func`2 #=qMN_MvtLc_r$VTLD4lBmVbA==)
   в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
   в StockSharp.Hydra.Finam.FinamSource.LoadTrades(Security security, List`1 allDates) в M:\My Download\stocksharp-22848\trunk\Hydra\Plugins\Finam\FinamSource.cs:строка 195
   в StockSharp.Hydra.Finam.FinamSource.Load() в M:\My Download\stocksharp-22848\trunk\Hydra\Plugins\Finam\FinamSource.cs:строка 164
   в StockSharp.Hydra.Worker.Downloader.Download() в M:\My Download\stocksharp-22848\trunk\Hydra\Hydra\Worker.cs:строка 175

При последующем старте Гидры происходит следующее:

  • Гидра начинает "скачивание", с указанной даты в настройках источника (Finam), т.е. все сначала, . с 01.01.2009. По факту, происходит "верификация" данных с самого начала!?
  • как только гидра доходит до последнего скачанного дня, наблюдается следующее:
02:18:33.656|Error  |Finam     |System.OutOfMemoryException: Выдано исключение типа "System.OutOfMemoryException".
   в System.String.Split(String[] separator, Int32 count, StringSplitOptions options)
   в Ecng.Common.StringHelper.Split(String str, String separator)
   в StockSharp.Algo.History.Finam.FinamHistorySource.#=qJs$6$bo78j0D5KtkZiF2xA==(Uri #=qnS2IEguL$xmTNxXhz2pdMw==)
   в StockSharp.Algo.History.Finam.FinamHistorySource.#=qYY4_54y1TtpX1q44diOy0mOxY24_tsYSTKuZGgJLO8Q=.#=qKXc6$JrTvx4ucZEkz7PEuFNVrrpIRMJEMMmkj$NR67k=()
   в StockSharp.Algo.History.Finam.FinamHistorySource.#=qD9oAKJ$GEARGfcJzgMhM$g==[T](String #=qnO0Ips9PCGTHpJZLYngtIw==, Func`1 #=q4QaBVWbRJ6OXHOSbMPTJcQ==, Func`2 #=qMN_MvtLc_r$VTLD4lBmVbA==)
   в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
   в StockSharp.Hydra.Finam.FinamSource.LoadTrades(Security security, List`1 allDates) в M:\My Download\stocksharp-22848\trunk\Hydra\Plugins\Finam\FinamSource.cs:строка 195
   в StockSharp.Hydra.Finam.FinamSource.Load() в M:\My Download\stocksharp-22848\trunk\Hydra\Plugins\Finam\FinamSource.cs:строка 164
   в StockSharp.Hydra.Worker.Downloader.Download() в M:\My Download\stocksharp-22848\trunk\Hydra\Hydra\Worker.cs:строка 175

Дальше все сначала. Вопросы:

  • как в таком случае продолжить скачивание?
  • как Гидра запоминает текущий таск, т.е что уже скачано и что еще предстоит скачать? С чем это связано и как можно это решить?
Moadip
Moadip

как Гидра запоминает текущий таск, т.е что уже скачано и что еще предстоит скачать? С финама выкачиваются "сырцы" в формате txt(в папке с данными появляется папка TemporaryFiles, куда они складываются), затем сохраняются в формате bin. При новом старте, гидра проверяет, за какой период/по каким дням есть данные, если есть дырки в сохраненных данных, то по этим дням будет идти закачка.

К примеру стоит дата скачки по SPFB.RTS@RTS с 01.01.2009, но данные начинаются только с 11 числа, до этого приходят "пустые" txt. Соответственно и сохранятся данные в формате bin будут с 11 числа. Поэтому при следующем старте и проверке по каким дням нет данных, гидра посчитает что с 1 по 10 нет данных, и опять будут выкачиваться данные по этим дням.

Задача: скачать данные за период 01.01.2009-12.02.2013 по SPFB.RTS@RTS. При скачивании с финама надо знать несколько нюансов: Финам не дает скачивать большой объем тиков в торговое время. Данные с финама нередко "кривые", надо делать "верификацию", хотя бы визуальную по графику. Серваки финама не всегда доступны. И если не получается скачать, это не значит что проблема именно в Гидре.

Сегодня на ночь, для теста, поставил выкачивать SPFB.RTS@RTS за 01.01.2009-08.02.2013 В итоге выкачалось 3 года из 4. Была одна ошибка - сервер не доступен. "Сырцов" выкачалось 7,6 Гига. Это к тому, что надо заранееосвобождать место на винте, если планируется выкачивать большой объем.

как только гидра доходит до последнего скачанного дня, наблюдается следующее: Попробуйте удалить папку TemporaryFiles.

Jeta
Moadip
Moadip

Пофиксил баг. Наличие данных по дням проверялось не в алфавитных папках.