Alexander
|
Date: 2/21/2011
esper:
Всем добрый день. Возникла следующая ситауция, мне необходимо получить данные из талицы "Портфель по деривативам" с добавленными колонками.
Код примерно следующий:
//добавляем столбцы
trader.DerivativePortfoliosTable.Columns.Insert(2, DdeDerivativePortfolioColumns.CurrentLimitPositionsPrice);
trader.DerivativePortfoliosTable.Columns.Insert(5, DdeDerivativePortfolioColumns.ACI);
trader.DerivativePortfoliosTable.Columns.Add(DdeDerivativePortfolioColumns.MarketCommission);
//обработчик получения новых записей
trader.NewPortfolios += obj =>
{
};
В обработчик приходит список объектов BusinessEntities.Portfolio, но в свойстве ExtensionInfo нет данных по дополнительным полям, каким образом можно их получить?
Аналогичная проблема была вчера. Версия 3.0.5.
Ожидание не помогло (ждал, может вначале портфели приходят из другого места, потом обновляется...).
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/21/2011
Alexander:
Аналогичная проблема была вчера. Версия 3.0.5.
Ожидание не помогло (ждал, может вначале портфели приходят из другого места, потом обновляется...).
Да, во первых надо ждать и в NewPortolios и в PortfoliosChanged, так как ExtensionInfo может и позднее заполниться. А вот вторых подтверждаю багу с Insert. С Add у меня работает. Буду фиксить.
|
|
|
|
Thanks:
|
|
|
|
|
|
esper
|
Date: 2/21/2011
Спасибо.
Попутно возник еще такой вопрос, в таблице "Портфель по деривативам" есть поле "Тип лимита" и ряд других, но в объекте BusinessEntities.Portfolio таких полей нет, их ожидать тоже в ExtensionInfo?
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/21/2011
esper:
Спасибо.
Попутно возник еще такой вопрос, в таблице "Портфель по деривативам" есть поле "Тип лимита" и ряд других, но в объекте BusinessEntities.Portfolio таких полей нет, их ожидать тоже в ExtensionInfo?
Тип лимита нет. Смотрится только тип лимита Деньги. Другие - это какие?
|
|
|
|
Thanks:
|
|
|
|
|
|
esper
|
Date: 2/21/2011
Mikhail Sukhov:
Другие - это какие?
Если я правильно понял, то поля отображаются следующим образом.
Портфель по деривативам:
Торговый счет - Name
Предыд. лимит откр. поз. - BeginAmount
Тек. чист. поз. - CurrentAmount
Вариац. маржа - ?
Тип лимита - опускаем
Позиции по деривативам:
Торговый счет - Portfolio
Код инструмента - Security
Вход. чист. поз. - BeginValue
Тек. чист. поз. - CurrentValue
Акт. покупка - ?
Акт. продажа - ?
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/21/2011
esper:
Вариац. маржа - ?
Да, это недоделка. Было желание вычислять текущее значение денег на ФОРТС, но не потом сдался. Надо это куда-то деть. Предлагаю в Portfolio.Leverage.
esper:
Акт. покупка - ?
Акт. продажа - ?
Их сумма записывается в Position.BlockedValue
|
|
|
|
Thanks:
|
|
|
|
|
|
a.dobryn
|
Date: 2/21/2011
а что произойдет, если пробовать снять заявку, у которой статус Done? кроме сообщения о невозможности сделать это. Как можно отловить подобное событие?
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/21/2011
D_Alex:
а что произойдет, если пробовать снять заявку, у которой статус Done? кроме сообщения о невозможности сделать это. Как можно отловить подобное событие?
ITrader.OrdersFailed
|
|
|
|
|
|
|
skuvv
|
Date: 2/21/2011
После вызова _trader.ReRegisterOrder
при изменении заявки, TraderHelper.IsCanceled = true.
Собственно вопрос как можно различить отмененный ордер от замененного?
В обоих OrderStates.Done и order.Balance > 0
Можно конечно last message смотреть как вариант.
PS На игровом сервере поле "снята(время)" пустое
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/21/2011
skuvv:
Собственно вопрос как можно различить отмененный ордер от замененного?
Во-первых, это плохой подход, когда требуется такое различать. Потому что не существует такого понятия в бирже как "замененный ордер". Во вторых, успешно замененный ордер можно так же отменить. Какая логика должна быть в этом случае?
|
|
|
|
Thanks:
|
|
|
|
|