private void CalculateSumFund() { FundData sumFund = FundDataPool.Default.Get(_account, _account.Setting().CurrencyId); bool hasPosition = _account.HasPosition(); foreach (var eachFund in _funds.Values) { var fund = _account.GetOrCreateFund(eachFund.CurrencyId); fund.ResetRiskData(eachFund); sumFund.Add(eachFund); } _account.SumFund.Reset(sumFund); }
private void CalculateSubFunds(DateTime baseTime, CalculateType calculateType, IQuotePolicyProvider quotePolicyProvider) { if (_instrumentManager.Count > 0) { foreach (var instrument in _instrumentManager.Instruments) { if (instrument.GetTransactions().Count == 0) { continue; } instrument.Calculate(baseTime, calculateType, instrument.GetQuotation(quotePolicyProvider)); FundData fund = this.GetOrCreateFund(instrument.CurrencyId); fund.Add(instrument.RiskRawData, null); } } }