← Voltar

Торговый счет и код фирмы

Доброй пятницы всем)

Столкнулся с проблемкой.

Торговый счет (счет депо) начинается с Y02... Код фирмы начинается с MC...

Торговый счет отображается в таблице позиции по бумагам, а код фирмы в портфеле по бумагам.

Экспортируем эти таблицы: _quik.Terminal.StartDde(_quik.SecuritiesTable, _quik.MyTradesTable, _quik.EquityPortfoliosTable, _quik.EquityPositionsTable);

В событии _quik.NewPortfolios получаем наш портфель, но его имя начинается с MC, т.е. это код фирмы.

Дальше начинаем выставлять заявку, заявка не проходит потому, что в тексте транзакции идет ACCOUNT=MC.. Т.е. вместо торгового счета указывается код фирмы.

Смотрел все примеры, что входят в поставку и документацию. Сам ответа не нашел, как исправить эту ситуацию. Была идея, изменить свойство Name у объекта Portolio на Y02, заявка прошла, однако функция GetPosition(Portfolio, security) по возвращает null

Брокер УралСиб, ММВБ, Quik 5.21.021, Верификатор говорит что все.

Este tópico foi útil?

Compartilhar tópico

Comentários (12)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

Mikhail Sukhov
Mikhail Sukhov

KAX: В событии _quik.NewPortfolios получаем наш портфель, но его имя начинается с MC, т.е. это код фирмы.

А если чуть подождать? Y02 может прийти позднее MC.

KAX
KAX Autor

Ну если я правильно понимаю, то Номер торгового счета берется из таблицы "Портфель по бумагам", если да то он никогда не появиться, ибо в квике в этой таблице только одна запись - "МС..."

Запустил приложения, жду.

Mikhail Sukhov
Mikhail Sukhov

KAX: Ну если я правильно понимаю, то Номер торгового счета берется из таблицы "Портфель по бумагам"

  • позиции по бумагам.
KAX
KAX Autor

не помогло ничего. Как не приходил торговый счет так и не приходит.


_quik.NewPortfolios += portfolios => 
                        {
                            if (_portfolio == null)
                            {
                                _portfolio = portfolios.FirstOrDefault(p => p.Name.Contains("Y02"));
                                if (_portfolio != null)
                                {
                                    log(String.Format("Испольуем портфель {0}", _portfolio.Name));
                                    if (_tool != null) { waitHandle.Set(); }
                                }                            
                            }
                        };
_quik.Terminal.StartDde();
//_quik.Terminal.StartDde(_quik.SecuritiesTable, _quik.MyTradesTable, _quik.EquityPositionsTable, _quik.EquityPortfoliosTable);

Открытые позиции по торговому счету есть

Mikhail Sukhov
Mikhail Sukhov

KAX: Открытые позиции по торговому счету есть

Пример Sample показывает нужный порфтель?

KAX
KAX Autor

нет не показывает.

Версия s# 3.0.19

Mikhail Sukhov
Mikhail Sukhov

KAX: нет не показывает.

Так, а позиция по этому счету есть хоть одна? ProcessDataError?

KAX
KAX Autor

ProcessDataError: Инструмент с кодом LKOH для бумажной позиции не найден.

Mikhail Sukhov
Mikhail Sukhov

KAX: Позиции есть, но они на счету Y02...

Так ведь и нужен этот портфель? Вы же в начале топике указывали на это. Что пишет ProcessDataError?

KAX
KAX Autor

ProcessDataError: Инструмент с кодом LKOH для бумажной позиции не найден.

KAX
KAX Autor

Опана!

Добавил в таблицу Quik инструменты бумагу LKOH и все встало на свои места! Позицию определяет!

UPD. Кажется до петрил я до истины! В таблице Инструменты должны быть все инструменты по которым предполагается торговля, тогда все счета определяются нормально.

Serg
Serg

Сегодня тоже столкнулся с этим))) Portfolios QUIK