Решил попробовать библиотеку S# в действии. В C# это мой первый опыт, до этого занимался Delphi, поэтому возможно что-то делаю не так. Подключаюсь стандартно к событию получения портфелей из S# 4.0.23. Появляется только портфель XXX-MS-01. Портфеля ХХХ-RF-01 (FORTS) нет. Посмотрел пример из 4.0.22. Там все работает и портфель ХХХ-RF-01 появляется Я подключаюсь:
//Определяем, есть ли загруженные соединения
if (STCCollection.Count > 0)
{
connectBox.Text += " Производим подключение... \r\n";
connectBox.Refresh();
//Отключаем кнопку соединения
connectButton.Enabled = false;
// Определяем, какая строка таблицы соединений выделена
int tmp = connectGrid.CurrentRow.Index;
//Загружаем из коллекции соединений нужное соединение
var temp = STCCollection.Get(tmp);
//Создаем шлюз
Trader = new SmartTrader(temp.Login, temp.Password, temp.IP);
//портфели
Trader.NewPortfolios += portfolios => portfolios.ForEach(Trader.RegisterPortfolio);
// подписываемся на событие успешного подключения
Trader.Connected += () => {arevntMain.Set();};
//Устанавливаем флаг ожидания соединения
arevntMain.Reset();
//Соединяемся
Trader.Connect();
//ожидаем события подключения
arevntMain.WaitOne();
connectBox.Text += "Подключение было произведено успешно. \r\n";
connectBox.Text += "Trader.IsConnected=" + Trader.IsConnected.ToString() + "\r\n";
connectBox.Refresh();
Trader.StartExport();
}
Результат на скриншоте. Кто-нибудь может объяснить причины отсутствия портфеля? Может быть причина в изменении этого (код из примера из 4.0.22):
Portfolios.Trader = _trader;
コメント (9)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Вообще-то должен быть. Попробуй
И выбрать не по бирже, а по имени:
Я в отладчике наличие портфеля смотрел, его в принципе нет. В событии приходит только один портфель. К таблице на скриншоте Trader.Portfolios привязан через BindingSource, поэтому на ней должно быть все, что есть...
Хм... Не хватает кода, чтобы понять
Ну, это практически весь код, связанный с получением портфелей. Даже securities не заказывал еще. На кнопке Дисконнект висит прекращение экспорта и отсоединение. И таблица формируется с доступными портфелями, и все.
В SampleSmart сколько портфелей?
Собрал SampleSmartSMA, показало два портфеля. Ищу ошибку у себя. Надеюсь она не связана с тем, что используется WinForm.
Конечно не связано :)
Все работает. Моя ошибка. Почему-то думал, что событие получения портфелей приходит одно с пачкой портфелей, а судя по всему их приходит столько, сколько всего портфелей в сумме. Отсюда ошибка в логике. Отладчик VS2010 великая вещь. Спасибо за библиотеку, едем дальше.