В 4.0.23 не появляется портфель ХХХ-RF-01 для FORTS

В 4.0.23 не появляется портфель ХХХ-RF-01 для FORTS
Atom
19.04.2012
karellin


Решил попробовать библиотеку 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;
Portfolio.JPG 30 KB (250)

Теги:


Спасибо:


Кот Матроскин

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


Вообще-то должен быть. Попробуй
Код

foreach (var portf in portfolios)
                            {
                                Console.WriteLine(portf);
                            }

И выбрать не по бирже, а по имени:
Код
_portfolio = portfolios.FirstOrDefault(p => p.Name == account);

Спасибо:

karellin

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


Я в отладчике наличие портфеля смотрел, его в принципе нет. В событии приходит только один портфель.
К таблице на скриншоте Trader.Portfolios привязан через BindingSource,
поэтому на ней должно быть все, что есть...
Спасибо:

Кот Матроскин

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


Хм... Не хватает кода, чтобы понять
Спасибо:

karellin

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


Ну, это практически весь код, связанный с получением портфелей.
Даже securities не заказывал еще. На кнопке Дисконнект висит прекращение экспорта и отсоединение.
И таблица формируется с доступными портфелями, и все.
Спасибо:

Кот Матроскин

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


karellin

Может быть причина в изменении этого (код из примера из 4.0.22):
Код

		Portfolios.Trader = _trader;


Portfolios - это из PortfolioComboBox?
Если да, то все-таки мало кода...
Спасибо:

Alexander

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


В SampleSmart сколько портфелей?
Спасибо:

karellin

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


Собрал SampleSmartSMA, показало два портфеля.
Ищу ошибку у себя. Надеюсь она не связана с тем, что используется WinForm.
Спасибо:

Alexander

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


Конечно не связано :)
Спасибо:

karellin

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


Все работает. Моя ошибка. Почему-то думал, что событие получения портфелей приходит одно с пачкой портфелей, а судя по всему их приходит столько, сколько всего портфелей в сумме. Отсюда ошибка в логике.
Отладчик VS2010 великая вещь.
Спасибо за библиотеку, едем дальше.
Спасибо:


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

loading
clippy