← Atrás

Простая работа с хранилищем

Хочу все сделки сохранять в базу SQLite (ту что в гидре). Но не могу!

TradingStorage storage = new TradingStorage(new Database("MyRobot", "Data Source=" + dbPath + ";Version=3;") { Provider = new SQLiteDatabaseProvider() });

И пошло:

storage.Securities.Save(sec);

   Вылетает: Знак "#", шестнадцатеричное значение 0x23, не может стоять в начале имени.
2. ```csharp
storage.Orders.Save(o);

Вылетает: Ссылка на объект не указывает на экземпляр объекта. 3. ```csharp storage.MyTrades.Add(trade)

   Вылетает: Instance value for field 'Exchange' is null. Имя параметра: instance

¿Le resultó útil este tema?

Compartir tema

Comentarios (5)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Mikhail Sukhov
Mikhail Sukhov

Гидра использует 1-ый вариант без проблем. Что там с инструментом, который вызывает ошибку? Варианты 2 и 3 вообще не тестированы.

freelancer
freelancer Autor
_trader.NewSecurities += securities => securities.ForEach(sec =>
{
	storage.Securities.Save(sec);
});

Да просто инструмент...

freelancer
freelancer Autor

А так добавилось:

Security sClone = sec.Clone();
sClone .ExtensionInfo = new Dictionary<object, object>();
storage.Securities.Save(sClone);
Mikhail Sukhov
Mikhail Sukhov

freelancer: А так добавилось:

Security sClone = sec.Clone(); sClone .ExtensionInfo = new Dictionary<object, object>(); storage.Securities.Save(sClone);


Значит что-то в ExtensionInfo недопустимое.
freelancer
freelancer Autor

Вот