int GetPositionT2(Quik _quik, Tool instrument, string clientCode) { // возвращает чистую позицию по инструменту // для срочного рынка передаем номер счета, для спот-рынка код-клиента int qty = 0; if (instrument.ClassCode == "SPBFUT") { // фьючерсы try { FuturesClientHolding q1 = _quik.Trading.GetFuturesHolding(instrument.FirmID, instrument.AccountID, instrument.SecurityCode, 0).Result; if (q1 != null) { qty = Convert.ToInt32(q1.totalNet); } } catch (Exception e) { Console.WriteLine("GetPositionT2: SPBFUT, ошибка - " + e.Message); } } else { // акции try { DepoLimitEx q1 = _quik.Trading.GetDepoEx(instrument.FirmID, clientCode, instrument.SecurityCode, instrument.AccountID, 2).Result; if (q1 != null) { qty = Convert.ToInt32(q1.CurrentBalance); } } catch (Exception e) { Console.WriteLine("GetPositionT2: ошибка - " + e.Message); } } return(qty); }
void OnFuturesClientHoldingDo(FuturesClientHolding futPos) { if (futPos.secCode == tool.SecurityCode) { futuresPosition = futPos; } }
private void EventsOnOnFuturesClientHolding(FuturesClientHolding futPos) { lock (changeFutPosLocker) { if (_portfolios != null && _portfolios.Count != 0) { Portfolio needPortfolio = _portfolios.Find(p => p.Number == futPos.trdAccId); if (needPortfolio == null) { return; } PositionOnBoard newPos = new PositionOnBoard(); newPos.PortfolioName = futPos.trdAccId; newPos.SecurityNameCode = futPos.secCode; newPos.ValueBegin = Convert.ToDecimal(futPos.startNet); newPos.ValueCurrent = Convert.ToDecimal(futPos.totalNet); newPos.ValueBlocked = 0; needPortfolio.SetNewPosition(newPos); if (PortfolioEvent != null) { PortfolioEvent(_portfolios); } } } }
internal void OnFuturesClientHoldingCall(FuturesClientHolding futPos) { OnFuturesClientHolding?.Invoke(futPos); }
public void OnFuturesClientHolding(FuturesClientHolding futPos) { FuturesClientHolding?.Invoke(_quik, futPos); }
private void Events_OnFuturesClientHolding(FuturesClientHolding futPos) // Позиции по клиентским счетам (фьючерсы) { Log("Изменилась таблица Позиций по клиентским счетам (фьючерсы): " + futPos.ToString()); //throw new NotImplementedException(); }