Здравствуйте. Подскажите, как получить в quik размер позиции? пробовал на примере sample console дописать следующее
<mark>```csharp private static Positions _position
trader.NewPositions += positions => { _position =positions.FirstOrDefault(p => p.portfolio =_portfolio); или _position =positions.FirstOrDefault(p => p.security =_lkoh); }
но _position остается равен null
что делать?
и по аналогии как получить значения из "позиции по деривативам"?
как я понимаю в StartExport(...) надо добавить (..., trader.DerivatePositionsTable), но как потом обращаться к этим значениям?
если кто сталкивался, помогите пожалуйста с кодом
Comentários (7)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
Trader.GetPosition
) пробовал, выдает 0
У меня так: _trader.StartExport(new DdeTable[] { _trader.SecuritiesTable, _trader.DerivativePortfoliosTable, _trader.DerivativePositionsTable, _trader.MyTradesTable, _trader.OrdersTable, _trader.StopOrdersTable, _trader.TradesTable });
и всё работает
_sec - не должна быть null, и в таблице Позиции по бумагам или Позиции по деривативам должна быть строчка с данной бумагой _sec. Если нужна позиция по RIM2, например, то да, нужно добавить для экспорта _trader.DerivativePortfoliosTable (как в примере).
Позиция равна 0 даже тогда, когда строчки нет. GetPosition возвращает null
Если вы подразумераете под размером позиции количество купленных или проданных вами контрактов по определённому инструменту, значение которых отображается в таблице "Позиции по деривативам", то это значение можно получить следующим образом:
Результатом будет число контрактов со знаком. Если "+" - значит куплено, а если "-" - значит продано.