public SortedPosList Clone() { SortedPosList s = new SortedPosList(); PositionList.ForEach(s.Add); return(s); }
public void ProcessMarketData(List <IMarketData> data) { PositionList.ForEach(v => v.ProcessMarketData(data)); if (PositionList.Count > 0) { LastMarketDataTime = PositionList.Max(v => v.DataTime); } }
public Dictionary <string, double> GetWeightList() { var wl = new Dictionary <string, double>(); if (PositionCapital.Number == 0) { return(wl); } PositionList.ForEach(v => { wl.Add(v.InstrumentTicker, v.CurrentValue.Number / PositionCapital.Number); }); return(wl); }
public Dictionary <IInstrument, double> GetWeight() { var totle = new Money() { FxCode = CurrentCurrency }; PositionList.ForEach(v => { totle += v.CurrentValue; }); var d = new Dictionary <IInstrument, double>(); PositionList.ForEach(v => { d.Add(new Instrument() { Ticker = v.InstrumentTicker, Name = v.InstrumentName }, v.CurrentValue / totle); }); return(d); }
public void PrepareWork() { PositionList.ForEach(v => v.TradeTrace.Clear()); }