Добрый вечер,возник вопрос у меня есть данные сделок и стаканов, загруженные гидрой и хранящиеся в папке (допустим папка dates а в ней папки с ID инструментов) чтобы получить данные по какому-либо инструменту нужно использовать TradingStorage.GetTradeStorage(Security) а как мне получить список инструментов, по которым имеются данные в папке, чтобы предоставить пользователю выбор инструмента из имеющихся, на котором он будет тестировать стратегию?
я думал будет коллекция инструментов хранится в TradingStorage.Securities но при загрузке из данных RIU9@RTS (которые идут в стандартном архиве с s#) эта коллекция пуста может я чего не правильно делаю?
хранилище создаю так
storage = new TradingStorage(new InMemoryStorage())
{
BasePath = "путь к данным"
};
securityComboBox.ItemsSource = storage.Securities; //пусто (
Комментарии (11)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
InMemoryStorage получает мета данные из памяти. Надо использовать Database
Database это класс поддерживающий интерфейс IStorage или что-то другое (физическая база данных в MS SQL?)
тоесть мне из гидры данные нужно не в файлы сохранять, а в базу данных? если с базой данных, то как при создании хранилища передать путь к базе данных
Все, ,большое спасибо, вроде разобрался, вместе InMemorySorage использовал FileStorage
ещё вопрос возник, гидра почему-то сохраняет тиковые сделки, и вот файл Security.xml не создает, и хранилище не может получить информацию об инструментах в опциях гидры не нашел ничего
Инструменты хранятся в БД
Я немного не понял принципа работы с БД
гидра при загрузке исторических данных автоматически загружает их в БД или она только сохраняет файлы (bin,xml)? (MS SQL SERVER ) если только файлы, то как мне в базу данных загнать инструменты? вручную? как мне из приложения обращятся к БД? (через TradingStorage? то какой в конструкторе указывать класс с IStorage ?)
для чего вообще нужна база данных? котировки же хранятся в файлах
(версия S# и гидры 4.0.21)
Для Гидры - хранения инструментов. Для роботов - там еще заявки со сделками хранятся (если не интрадей).
Присоединяюсь к вопросу, как получить список всех инструментов хранилища, созданного гидрой. При создании var storage = new TradingStorage(new FileStorage("c:\\tik\Hydra")) ;
ругается что не создан файл Security.xml. Если в качестве параметра IStorage указать InMemoryStorage(), то список пустой. Что указать в качестве параметра IStorage, или тут какая-то другая логика?
Тут логика как в Гидре. И работать надо с инструментами так, как в Гидре.
Инструменты гидра не сохраняет в файлы, она их в базу сохраняет (по умолчанию SQLite, можно в файле Hydra.exe.conf изменить базу на MS SQL) а потом уже из базы брать вместо FileStorage нужно Database создавать (вроде как Ecng.Data и Ecng.Data.Provider подключить нужно)
Спасибо разобрался!
список инструментов можно получить например так: