← Voltar

В каком объекте можно получить значение из таблицы "Позиции по деривативам"?

Хотелось бы получить количество Активных покупок и Активных продаж по инструменту. Скажите пожалуйста, как это сделать? Полем или свойством какого класса являются эти данные? Доку читал, там не нашел.

Este tópico foi útil?

Compartilhar tópico

Comentários (13)

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

Alexander
Alexander

Экспортируйте сами как доп. столбец в таблице инструментов

vader
vader Autor

Извините, не нашел в таблице инструментов.

Alexander
Alexander

vader: Извините, не нашел в таблице инструментов.

Когда в последний раз смотрел - оно там было где-то.

Если вдруг его там нет - то соответственно и экспортировать нечего, в S# взяться ему неоткуда. Считайте по стакану тогда сами - сумма по бидам, сумма по аскам.

vader
vader Autor

а из самой таблицы "Позиции по деривативам"?

Alexander
Alexander

Сразу вопроса не понял. Это всё пишется в position.ExtensionInfo

vader
vader Autor

Такой код MessageBox.Show(Trader.GetPosition(Portfolio, Security).CurrentValue.ToString()); Работает отлично и выдает верный результат.

Такой код кидает и исключение, и говорить ,что ссылка на объект не указывает на экземпляр объекта. Trader.GetPosition(Portfolio, Security).ExtensionInfo[DdeDerivativePositionColumns.CurrentBidsVolume].ToString()

При попытке добавить столбцы Акт.Покупки и продажы говорит, что они уже добавлены.

Alexander
Alexander

vader: Такой код MessageBox.Show(Trader.GetPosition(Portfolio, Security).CurrentValue.ToString()); Работает отлично и выдает верный результат.

Такой код кидает и исключение, и говорить ,что ссылка на объект не указывает на экземпляр объекта. Trader.GetPosition(Portfolio, Security).ExtensionInfo[DdeDerivativePositionColumns.CurrentBidsVolume].ToString()

При попытке добавить столбцы Акт.Покупки и продажы говорит, что они уже добавлены.

если не указывает на экземпляр объекта - значит GetPosition возвращает null пройдитесь дебаггером и посмотрите что возвращает GetPosition и каков размер ExtensionInfo

vader
vader Autor

Position pos = Trader.GetPosition(Portfolio, Security);
MessageBox.Show(pos.CurrentValue.ToString());
MessageBox.Show(pos.ExtensionInfo[DdeDerivativePositionColumns.CurrentAsksVolume].ToString());
MessageBox.Show(pos.ExtensionInfo[DdeDerivativePositionColumns.CurrentBidsVolume].ToString());

сама позиция не null, т.к. вторая строчка выводит верный результат.

ExtensionInfo - оказалось что null. нужно подключить какой-то доп.столбец?

Alexander
Alexander

Оказалось, что мы сумма сразу считаем и пишем в BlockedValue А для чего понадобилось по отдельности считать?

vader
vader Autor

не очень понял вопрос. Почему по отдельности?

Alexander
Alexander

vader: не очень понял вопрос. Почему по отдельности?

для чего понадобилось знать активные покупки и активные продажи? как эта информация используется?

в общем придётся вам создавать отдельную таблицу и экспортировать её отдельно.

vader
vader Autor

я хотел использовать эту инфу для слежения за корректностью работы стратегии.

Alexander
Alexander

vader: я хотел использовать эту инфу для слежения за корректностью работы стратегии.

Неправильный подход. Могут быть несколько стратегий по одному инструменту - тогда не сможете понять

Смотрите по заявкам стратегии, те которые активны. И суммируйте объём.

Или, как я написал - в BlockedValue записывается сумма покупок и продаж.