Здравствуйте!
Пытаюсь импортировать исторические данные по трейдам из csv в Гидру. Формат csv: date;time;price;volume Пример строки: 14.08.2011;14:14:40;10.400000000000;0.779000000000
Перепробовал все варианты настроек импорта - не хочет. Стандартная ошибка:
19:00:45 System.InvalidCastException: Cannot convert 14:14:00 with format hh:mm:ss to TimeSpan. ---> System.FormatException: Входная строка имела неверный формат. в System.Globalization.TimeSpanParse.TimeSpanResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName) в System.Globalization.TimeSpanParse.TryParseByFormat(String input, String format, TimeSpanStyles styles, TimeSpanResult& result) в System.Globalization.TimeSpanParse.ParseExact(String input, String format, IFormatProvider formatProvider, TimeSpanStyles styles) в Ecng.Common.TimeHelper.ToTimeSpan(String value, String format) --- Конец трассировки внутреннего стека исключений --- в Ecng.Common.TimeHelper.ToTimeSpan(String value, String format) в StockSharp.Hydra.Panes.ImportPane.FieldMapping.ApplyValue(Object instance, Object value) в StockSharp.Hydra.Panes.ImportPane.<>c__DisplayClass18d.<OnDoWork>b__18c() в Ecng.Common.Converter.<>c__DisplayClassf.<DoInCulture>b__e() в Ecng.Common.Converter.DoInCulture(CultureInfo cultureInfo, Func`1 func) в StockSharp.Hydra.Panes.ImportPane.OnDoWork(Object sender, DoWorkEventArgs e) в System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
Прилагаю скрин настроек импорта.
Помогите победить проблему, пожалуйста!
评论 (6)
登录 或 创建账户, 登录或注册以发表评论
Вот так попробуй - dd.MM.yyyy HH:mm:ss https://msdn.microsoft.com/ru-ru/library/8kb3ddd4(v=vs.110).aspx
Спасибо, но я это пробовал тоже... не помогает.
string datestring = "03.06.2015 +03"; string timestring = "12:05:36";
string dateformat = "dd.MM.yyyy zz";
Но Гидра не понимает такой записи..
DateTimeOffset date = DateTimeOffset.ParseExact(datestring, dateformat, null); TimeSpan time = TimeSpan.ParseExact(timestring, timeformat, null);
http://stackoverflow.com/questions/11719055/why-does-timespan-parseexact-not-work
когда указал формат времени 'с' то все заработало...
Спасибо! 'C'работало... :) Кстати, дату у меня приняло без указания сдвига в csv. Но Гидра таки сама добавила +03 в поле TimeSpan в импортированных сделках. И это при том, что часовой пояс в настройках у меня без сдвига был указан = UTC.
Отсюда несколько уточняющих вопросов, если можно:
Еще раз спасибо!
Значение имеет не то в какой Вы зоне, а в какой зоне находится биржа, где данные были записаны... Кстати зона относится к типу DateTime или сдвиг к DateTimeOffset, а не к TimeSpan..
Уяснил. Спасибо! :)