void _client_OnPortfolioItemUpdated(entity.PortfolioItem obj) { string info = string.Format("Porf: {0}\t{1}\t{2}", obj.ID, obj.Quantity, obj.Diff); Debug.WriteLine(info); OutputMessage(info); }
public entity.PortfolioItem GetEntity() { entity.PortfolioItem portfolioItem = new entity.PortfolioItem(); portfolioItem.ID = Id; portfolioItem.AutoOpen = AutoOpen; portfolioItem.AutoStopGain = AutoStopGain; portfolioItem.AutoStopLoss = AutoStopLoss; portfolioItem.AutoTrack = AutoTracking; portfolioItem.EnablePrefer = EnablePrefer; portfolioItem.Quantity = Quantity; portfolioItem.MaxPosition = MaxPosition; portfolioItem.OpenTimes = OpenTimes; portfolioItem.CloseTimes = 0; portfolioItem.CurrentPosition = Position; portfolioItem.AvgCost = AvgCost; foreach (var legVm in _legs) { entity.LegItem leg = new entity.LegItem(); leg.Symbol = legVm.Symbol; leg.Side = legVm.Side; leg.Ratio = legVm.Ratio; leg.IsPreferred = legVm.IsPreferred; portfolioItem.Legs.Add(leg); } portfolioItem.StrategyName = StrategySetting.Name; portfolioItem.StrategyData = StrategySetting.Serialize(); return(portfolioItem); }
private void SyncToHost() { List <entity.PortfolioItem> portfItems = new List <entity.PortfolioItem>(); foreach (var portf in _acctPortfolios) { entity.PortfolioItem portfolioItem = portf.GetEntity(); portfItems.Add(portfolioItem); } _client.AddPortfCollection(portfItems); }
void _client_OnPortfolioItemUpdated(entity.PortfolioItem obj) { string info = string.Format("Porf: {0}\t{1}\t{2}", obj.ID, obj.Quantity, obj.Diff); Debug.WriteLine(info); var portf = Get(obj.ID); if (portf != null) { DispatcherHelper.Current.BeginInvoke(new Action(() => portf.Update(obj))); } }
private void btnAddPortf_Click(object sender, RoutedEventArgs e) { portfolioItem = new entity.PortfolioItem(); portfolioItem.ID = Guid.NewGuid().ToString(); portfolioItem.Diff = 2; portfolioItem.Quantity = 1; entity.LegItem leg1 = new entity.LegItem(); leg1.Symbol = "cu1212"; leg1.Side = entity.PosiDirectionType.LONG; leg1.Ratio = 1; portfolioItem.Legs.Add(leg1); entity.LegItem leg2 = new entity.LegItem(); leg2.Symbol = "cu1301"; leg2.Side = entity.PosiDirectionType.SHORT; leg2.Ratio = 1; portfolioItem.Legs.Add(leg2); _client.AddPortf(portfolioItem); }
public void Update(entity.PortfolioItem item) { Diff = ToDecimal(item.Diff); LongDiff = ToDecimal(item.LongDiff); ShortDiff = ToDecimal(item.ShortDiff); LongSize = item.LongSize; ShortSize = item.ShortSize; OpenTimes = item.OpenTimes; DoneTimes = item.CloseTimes; Position = item.CurrentPosition; Gain = item.Profit; Quantity = item.Quantity; MaxPosition = item.MaxPosition; AvgCost = item.AvgCost; IsRunning = item.StrategyRunning; for (int i = 0; i < item.Legs.Count; ++i) { _legs[i].Update(item.Legs[i]); } }
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) { entity.PortfolioItem portfolioItem = dlg.Portfolio.GetEntity(); AddPorfolio(portf); if (_client.IsConnected) { _client.AddPortf(portfolioItem); } PublishChanged(); } }