예제 #1
0
            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);
            }
예제 #2
0
 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);
         }
     }
 }