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


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

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


И пошло:

1.
Код
storage.Securities.Save(sec);

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

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

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

Теги:


Спасибо:


Mikhail Sukhov

Фотография
Дата: 23.01.2012
Ответить


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

freelancer

Фотография
Дата: 23.01.2012
Ответить


Код
_trader.NewSecurities += securities => securities.ForEach(sec =>
{
	storage.Securities.Save(sec);
});

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

freelancer

Фотография
Дата: 23.01.2012
Ответить


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

Код
Security sClone = sec.Clone();
sClone .ExtensionInfo = new Dictionary<object, object>();
storage.Securities.Save(sClone);
Спасибо:

Mikhail Sukhov

Фотография
Дата: 23.01.2012
Ответить


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

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


Значит что-то в ExtensionInfo недопустимое.
Спасибо:

freelancer

Фотография
Дата: 23.01.2012
Ответить


Вот
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy