public OpenInterestSummary GetAccountSummayItem(OpenInterestSummary groupSummaryItem, Guid accountId) { return groupSummaryItem.ChildSummaryItems.SingleOrDefault(P => P.Id == accountId); }
public void ResetChildItem(OpenInterestSummary summayItem) { summayItem.ChildSummaryItems.Clear(); }
//账户组排除汇总 public void ExcludeGroupSummary(OpenInterestSummary groupSummaryItem,bool isExclude) { OpenInterestSummary instrumentSummaryItem = this.GetInstrumentSummaryItem(groupSummaryItem.InstrumentId); foreach (OpenInterestSummary accountItem in groupSummaryItem.ChildSummaryItems) { accountItem.IsExclude = isExclude; } if (isExclude) { instrumentSummaryItem.SetItem(groupSummaryItem, false); groupSummaryItem.Exclude(); } else { foreach (OpenInterestSummary accountItem in groupSummaryItem.ChildSummaryItems) { groupSummaryItem.SetItem(accountItem, true); } groupSummaryItem.SetAvgPrice(); instrumentSummaryItem.SetItem(groupSummaryItem, true); } instrumentSummaryItem.SetAvgPrice(); }
public OpenInterestSummary GetAccountGroupSummayItem(OpenInterestSummary parentSummayItem,Guid groupId) { return parentSummayItem.ChildSummaryItems.SingleOrDefault(P => P.GroupId == groupId); }
public void AddInstrumentItem(OpenInterestSummary SummaryItem) { this.InstrumentSummaryItems.Add(SummaryItem); }
//账户排除汇总 public void ExcludeAccountSummary(OpenInterestSummary accountSummaryItem, bool isExclude) { OpenInterestSummary instrumentSummaryItem = this.GetInstrumentSummaryItem(accountSummaryItem.InstrumentId); OpenInterestSummary groupSummaryItem = this.GetAccountGroupSummayItem(instrumentSummaryItem,accountSummaryItem.GroupId); if (isExclude) { groupSummaryItem.SetItem(accountSummaryItem, false); instrumentSummaryItem.SetItem(accountSummaryItem, false); } else { groupSummaryItem.SetItem(accountSummaryItem, true); instrumentSummaryItem.SetItem(accountSummaryItem, true); } groupSummaryItem.SetAvgPrice(); instrumentSummaryItem.SetAvgPrice(); }
internal void SetItem(OpenInterestSummary childItem, bool inCrease) { if (inCrease) { this.BuyLot += childItem.BuyLot; this._BuyLotMultiplyAvgPriceSum += childItem.BuyLot * decimal.Parse(childItem.BuyAvgPrice); this.BuyContractSize += childItem.BuyContractSize; this.SellLot += childItem._SellLot; this._SellLotMultiplyAvgPriceSum += childItem.SellLot * decimal.Parse(childItem.SellAvgPrice); this.SellContractSize += childItem.SellContractSize; this.NetLot += childItem.NetLot; this._NetLotMultiplyAvgPriceSum += childItem.NetLot * decimal.Parse(childItem.NetAvgPrice); this.NetContractSize += childItem.NetContractSize; } else { this.BuyLot -= childItem.BuyLot; this._BuyLotMultiplyAvgPriceSum -= childItem.BuyLot * decimal.Parse(childItem.BuyAvgPrice); this.BuyContractSize -= childItem.BuyContractSize; this.SellLot -= childItem._SellLot; this._SellLotMultiplyAvgPriceSum -= childItem.SellLot * decimal.Parse(childItem.SellAvgPrice); this.SellContractSize -= childItem.SellContractSize; this.NetLot -= childItem.NetLot; this._NetLotMultiplyAvgPriceSum -= childItem.NetLot * decimal.Parse(childItem.NetAvgPrice); this.NetContractSize -= childItem.NetContractSize; } }
internal void UpdateOrderFromAccountItem(OpenInterestSummary accountSumamryItem) { this._GroupId = accountSumamryItem.GroupId; this._GroupCode = accountSumamryItem.GroupCode; this._MinNumeratorUnit = accountSumamryItem._MinNumeratorUnit; this._MaxDenominator = accountSumamryItem._MaxDenominator; }
private void QueryOrderSummary(OpenInterestSummary accountSumamry, string[] blotterCodes) { ConsoleClient.Instance.GetOpenInterestOrderSummary(this._CurrentExchangeCode, accountSumamry, blotterCodes, this.GetOrderSummaryCallback); }
internal void CreateEmptySummary() { OpenInterestSummary emptyEntity = new OpenInterestSummary(null,OpenInterestSummaryType.Group); emptyEntity.Code = "Loading..."; this.ChildSummaryItems.Add(emptyEntity); }
private void GetOrderSummaryCallback(OpenInterestSummary accountSumamry, List<CommonOpenInterestSummary> openInterestSummarys) { this.Dispatcher.BeginInvoke((Action)delegate() { if (openInterestSummarys == null) return; accountSumamry.ChildSummaryItems.Clear(); foreach (CommonOpenInterestSummary openInterestSummary in openInterestSummarys) { OpenInterestSummary entity = new OpenInterestSummary(openInterestSummary, OpenInterestSummaryType.Order); accountSumamry.ChildSummaryItems.Add(entity); } }); }
private void GetInstrumentSummaryCallback(List<CommonOpenInterestSummary> openInterestSummarys) { this.Dispatcher.BeginInvoke((Action)delegate() { if (openInterestSummarys == null) return; foreach (CommonOpenInterestSummary openInterestSummary in openInterestSummarys) { OpenInterestSummary entity = new OpenInterestSummary(openInterestSummary,OpenInterestSummaryType.Instrument); this._OpenInterestSummarys.Add(entity); } this.BindingSummaryGridData(); }); }
private void GetAccountSummaryCallback(Guid instrumentId, List<CommonOpenInterestSummary> openInterestSummarys) { this.Dispatcher.BeginInvoke((Action)delegate() { if (openInterestSummarys == null) return; ExchangeSettingManager settingManager = this._App.ExchangeDataManager.GetExchangeSetting(this._CurrentExchangeCode); ObservableCollection<OpenInterestSummary> accountGroupSummarys = new ObservableCollection<OpenInterestSummary>(); foreach (CommonOpenInterestSummary openInterestSummary in openInterestSummarys) { OpenInterestSummary entity = new OpenInterestSummary(openInterestSummary, OpenInterestSummaryType.Account); entity.InstrumentId = instrumentId; Guid accountId = entity.Id; Account account = settingManager.GetAccount(accountId); if (account != null) { entity.Code = account.Code; } accountGroupSummarys.Add(entity); } OpenInterestSummary instrumentSummary = this._OpenInterestSummarys.SingleOrDefault(P => P.Id == instrumentId); instrumentSummary.ChildSummaryItems.Clear(); IEnumerable<IGrouping<string, OpenInterestSummary>> query = accountGroupSummarys.GroupBy(P => P.GroupCode, P => P); foreach (IGrouping<string, OpenInterestSummary> group in query) { OpenInterestSummary groupSummary = new OpenInterestSummary(OpenInterestSummaryType.Group); Guid accountId = accountGroupSummarys[0].Id; Guid accountGroupId = Guid.Empty; Account account = settingManager.GetAccount(accountId); if (account != null) { accountGroupId = account.GroupId; } AccountGroup accountGroup = settingManager.GetAccountGroup(accountGroupId); if (accountGroup != null) { groupSummary.Code = accountGroup.Code; } groupSummary.Id = accountGroupId; List<OpenInterestSummary> accountSummarys = group.ToList<OpenInterestSummary>(); foreach (OpenInterestSummary item in accountGroupSummarys) { groupSummary.SetItem(item,true); groupSummary.ChildSummaryItems.Add(item); } groupSummary.SetAvgPrice(); instrumentSummary.ChildSummaryItems.Add(groupSummary); } }); }
private void GetInstrumentSummaryCallback(List<CommonOpenInterestSummary> openInterestSummarys) { this.Dispatcher.BeginInvoke((Action)delegate() { this._BusyDecorator.Stop(); if (openInterestSummarys == null) return; foreach (CommonOpenInterestSummary item in openInterestSummarys) { OpenInterestSummary SummaryItem = new OpenInterestSummary(item,OpenInterestSummaryType.Instrument); this._OpenInterestSummaryModel.AddInstrumentItem(SummaryItem); } this.BindingSummaryGridData(); if (!this._ReportDataManager.OpenInterestSummaryModels.ContainsKey(this._CurrentExchangeCode)) { this._ReportDataManager.OpenInterestSummaryModels.Add(this._CurrentExchangeCode, this._OpenInterestSummaryModel); } }); }
private void GetAccountSummaryCallback(Guid instrumentId, List<CommonOpenInterestSummary> openInterestSummarys) { this.Dispatcher.BeginInvoke((Action)delegate() { if (openInterestSummarys == null) return; OpenInterestSummary instrumentSummary = this._OpenInterestSummaryModel.GetInstrumentSummaryItem(instrumentId); this._OpenInterestSummaryModel.ResetChildItem(instrumentSummary); ExchangeSettingManager settingManager = this._App.ExchangeDataManager.GetExchangeSetting(this._CurrentExchangeCode); ObservableCollection<OpenInterestSummary> accountItemList = new ObservableCollection<OpenInterestSummary>(); foreach (CommonOpenInterestSummary commonEntity in openInterestSummarys) { OpenInterestSummary accountSummaryItem = new OpenInterestSummary(commonEntity,OpenInterestSummaryType.Account); accountSummaryItem.InstrumentId = instrumentId; Guid accountId = accountSummaryItem.Id; Account account = settingManager.GetAccount(accountId); if (account == null) continue; accountSummaryItem.GroupId = account.GroupId; accountSummaryItem.Code = account.Code; AccountGroup accountGroup = settingManager.GetAccountGroup(account.GroupId); accountSummaryItem.GroupCode = accountGroup.Code; accountItemList.Add(accountSummaryItem); } IEnumerable<IGrouping<string, OpenInterestSummary>> query = accountItemList.GroupBy(P => P.GroupCode, P => P); foreach (IGrouping<string, OpenInterestSummary> group in query) { OpenInterestSummary accountItem = group.First(); OpenInterestSummary groupSummary = new OpenInterestSummary(null,OpenInterestSummaryType.Group); groupSummary.UpdateGroupFromAccountItem(accountItem);//更新分子分母 List<OpenInterestSummary> accountSummarys = group.ToList<OpenInterestSummary>(); foreach (OpenInterestSummary item in accountSummarys) { groupSummary.SetItem(item, true); groupSummary.ChildSummaryItems.Add(item); } groupSummary.SetAvgPrice(); instrumentSummary.ChildSummaryItems.Add(groupSummary); } }); }