Добрый вечер,возник вопрос у меня есть данные сделок и стаканов, загруженные гидрой и хранящиеся в папке (допустим папка dates а в ней папки с ID инструментов) чтобы получить данные по какому-либо инструменту нужно использовать TradingStorage.GetTradeStorage(Security) а как мне получить список инструментов, по которым имеются данные в папке, чтобы предоставить пользователю выбор инструмента из имеющихся, на котором он будет тестировать стратегию?
я думал будет коллекция инструментов хранится в TradingStorage.Securities но при загрузке из данных RIU9@RTS (которые идут в стандартном архиве с s#) эта коллекция пуста может я чего не правильно делаю?
хранилище создаю так
storage = new TradingStorage(new InMemoryStorage())
{
BasePath = "путь к данным"
};
securityComboBox.ItemsSource = storage.Securities; //пусто (
Kommentare (11)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
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 подключить нужно)
Спасибо разобрался!
список инструментов можно получить например так: