private void OnAddPortfolio(AccountVM acct) { PortfolioVM portf = new PortfolioVM(this); portf.Id = NextPortfId(); EditPortfolioDlg dlg = new EditPortfolioDlg(); dlg.Owner = System.Windows.Application.Current.MainWindow; dlg.Portfolio = portf; bool?res = dlg.ShowDialog(); if (res ?? false) { portf.SetHedgeFlag(HedgeFlag); PTEntity.PortfolioItem portfolioItem = dlg.Portfolio.GetEntity(); AddPorfolio(portf); if (_client.IsConnected) { _client.AddPortfolio(portfolioItem); } PublishChanged(); } }
private void SyncToHost() { List <PTEntity.PortfolioItem> portfItems = new List <PTEntity.PortfolioItem>(); foreach (var portf in _acctPortfolios) { PTEntity.PortfolioItem portfolioItem = portf.GetEntity(); portfItems.Add(portfolioItem); } _client.AddPortfCollection(portfItems.ToArray()); }
private void btnAddPortf_Click(object sender, RoutedEventArgs e) { portfolioItem = new PTEntity.PortfolioItem(); portfolioItem.ID = Guid.NewGuid().ToString(); //portfolioItem.Diff = 2; portfolioItem.Quantity = 1; PTEntity.LegItem leg1 = new PTEntity.LegItem(); leg1.Symbol = "cu1212"; leg1.Side = PTEntity.PosiDirectionType.LONG; leg1.Ratio = 1; portfolioItem.Legs.Add(leg1); PTEntity.LegItem leg2 = new PTEntity.LegItem(); leg2.Symbol = "cu1301"; leg2.Side = PTEntity.PosiDirectionType.SHORT; leg2.Ratio = 1; portfolioItem.Legs.Add(leg2); _client.AddPortfolio(portfolioItem); }
public PTEntity.PortfolioItem GetEntity() { PTEntity.PortfolioItem portfolioItem = new PTEntity.PortfolioItem(); portfolioItem.ID = Id; portfolioItem.Quantity = Quantity; portfolioItem.MaxOpenPerStart = MaxOpenPerStart; portfolioItem.MaxCancel = MaxCancel; portfolioItem.TotalOpenLimit = TotalOpenLimit; portfolioItem.HedgeFlag = HedgeFlag; foreach (var legVm in _legs) { PTEntity.LegItem leg = new PTEntity.LegItem(); leg.Symbol = legVm.Symbol; leg.Side = (PTEntity.PosiDirectionType)legVm.Side; leg.Ratio = legVm.Ratio; leg.IsPreferred = legVm.IsPreferred; leg.MinPriceChange = legVm.MinPriceChange; portfolioItem.Legs.Add(leg); } if (!string.IsNullOrEmpty(_endTimePointsExpr)) { string[] tps = _endTimePointsExpr.Split(','); foreach (string s in tps) { if (!string.IsNullOrWhiteSpace(s)) { portfolioItem.EndTimePoints.Add(s.Trim()); } } } portfolioItem.Strategy = StrategySetting.GetEntity(); return(portfolioItem); }