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


Хочу все сделки сохранять в базу 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

Теги:


Спасибо:



Скидка 15% на все продукты до 5 апреля (осталось 3 дней).

5 Ответов
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