получение позиции~/topic/2633/poluchenie-pozitsii/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T00:59:00Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/posts/m/20030/ Position GetPosition() { Position result = Trader.GetPosition(Portfolio, Security); if (result != n...2012-06-26T18:10:29Z2012-06-26T18:10:29ZFinDirectorhttps://stocksharp.ru/users/473/info@stocksharp.ru<div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
Position GetPosition()
{
Position result = Trader.GetPosition(Portfolio, Security);
if (result != null)
return result;
ManualResetEvent manualResetEvent = new ManualResetEvent(false);
Action<IEnumerable<Position>> onNewPositions = p =>
{
if (Trader.GetPosition(Portfolio, Security) != null)
manualResetEvent.Set();
};
Trader.NewPositions += onNewPositions;
manualResetEvent.WaitOne(TimeSpan.FromSeconds(30));
Trader.NewPositions -= onNewPositions;
result = Trader.GetPosition(Portfolio, Security);
return result;
}</pre>
</div></div>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/20029/Если вы подразумераете под размером позиции количество купленных или проданных вами контрактов по оп...2012-06-26T17:14:40Z2012-06-26T17:18:37ZДоктор Сальваторhttps://stocksharp.ru/users/28547/info@stocksharp.ruЕсли вы подразумераете под размером позиции количество купленных или проданных вами контрактов по определённому инструменту, значение которых отображается в таблице "Позиции по деривативам", то это значение можно получить следующим образом:<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
decimal PositionPoInstrumentu = _trader.GetPosition(portfolio, security).CurrentValue;</pre>
</div></div><br /><br />Результатом будет число контрактов со знаком. Если "+" - значит куплено, а если "-" - значит продано.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/18596/Позиция равна 0 даже тогда, когда строчки нет. GetPosition возвращает null2012-04-25T13:11:01Z2012-04-25T13:11:01Zfreelancerhttps://stocksharp.ru/users/28572/info@stocksharp.ruПозиция равна 0 даже тогда, когда строчки нет. GetPosition возвращает nullCopyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/18595/_trader.NewPositions += positions => this.GuiAsync(() => { if (_position == null) _position = positi...2012-04-25T12:59:59Z2012-04-25T12:59:59ZManiachttps://stocksharp.ru/users/613/info@stocksharp.ru<div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
_trader.NewPositions += positions => this.GuiAsync(() =>
{
if (_position == null)
_position = positions.FirstOrDefault(p => p.Security == _sec);
});</pre>
</div></div><br />_sec - не должна быть null, и в таблице Позиции по бумагам или Позиции по деривативам должна быть строчка с данной бумагой _sec.<br />Если нужна позиция по RIM2, например, то да, нужно добавить для экспорта _trader.DerivativePortfoliosTable (как в примере).<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/18584/У меня так: _trader.StartExport(new DdeTable { _trader.SecuritiesTable, _trader.DerivativePortfolios...2012-04-25T08:39:47Z2012-04-25T08:39:47Zfreelancerhttps://stocksharp.ru/users/28572/info@stocksharp.ruУ меня так:<br />_trader.StartExport(new DdeTable[] { _trader.SecuritiesTable, _trader.DerivativePortfoliosTable, _trader.DerivativePositionsTable, _trader.MyTradesTable, _trader.OrdersTable, _trader.StopOrdersTable, _trader.TradesTable });<br /><br />и всё работаетCopyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/18583/) пробовал, выдает 02012-04-25T08:37:36Z2012-04-25T08:37:36Zfinisshttps://stocksharp.ru/users/363/info@stocksharp.ru) пробовал, выдает 0Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/18576/Trader.GetPosition2012-04-25T04:57:11Z2012-04-25T04:57:11Zfreelancerhttps://stocksharp.ru/users/28572/info@stocksharp.ruTrader.GetPositionCopyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/18573/Здравствуйте. Подскажите, как получить в quik размер позиции? пробовал на примере sample console доп...2012-04-24T22:56:20Z2012-04-24T22:56:20Zfinisshttps://stocksharp.ru/users/363/info@stocksharp.ruЗдравствуйте. Подскажите, как получить в quik размер позиции? <br />пробовал на примере sample console дописать следующее<br /><br /><span class="highlight"><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
private static Positions _position
trader.NewPositions += positions =>
{
_position =positions.FirstOrDefault(p => p.portfolio =_portfolio);
или
_position =positions.FirstOrDefault(p => p.security =_lkoh);
}</pre>
</div></div></span><br />но _position остается равен null<br /><br />что делать?<br />и по аналогии как получить значения из "позиции по деривативам"?<br />как я понимаю в StartExport(...) надо добавить (..., trader.DerivatePositionsTable), но как потом обращаться к этим значениям?<br /><br />если кто сталкивался, помогите пожалуйста с кодомCopyright @ StockSharp Platform LLC 2010 - 2024