コード例 #1
0
ファイル: Portfolio.cs プロジェクト: lynxliu/Backtesting
        void LoadData(object obj)
        {
            if (obj == null)
            {
                return;
            }

            var p = obj as IPortfolio;

            if (p == null)
            {
                return;
            }

            PositionList.Clear();
            p.PositionList.ForEach(v =>
            {
                PositionList.Add(v.Clone() as IPosition);
            });
            p.AccountList.ForEach(v =>
            {
                AccountList.Add(v.Clone() as Account);
            });
            Name = p.Name;
            Memo = p.Memo;

            LastMarketDataTime = p.LastMarketDataTime;
            CurrentCurrency    = p.CurrentCurrency;
        }
コード例 #2
0
        public void Refresh()
        {
            if (TargetObject == null)
            {
                return;
            }
            var o = TargetObject as IPortfolio;

            if (o == null)
            {
                return;
            }

            PositionList.Clear();
            AccountList.Clear();

            o.PositionList.ForEach(v =>
            {
                PositionList.Add(v);
            });

            o.AccountList.ForEach(v =>
            {
                AccountList.Add(v);
            });
        }
コード例 #3
0
 public new void Clear()
 {
     List.Clear();
     PositionList.Clear();
     PositionList.Add(StockPane);
     Layout();
 }
コード例 #4
0
        private bool Load()
        {
            bool result = false;

            if (Path != "")
            {
                if (FileHandler.FileExists(Path))
                {
                    string[] list = FileHandler.Load(Path);
                    result = list.Length > 0;
                    PositionList.Clear();
                    foreach (string pos in list)
                    {
                        Add(FileHandler.ParseToPosition(pos));
                    }
                }
            }

            return(result);
        }
コード例 #5
0
        public void Refresh()
        {
            if (TargetObject == null)
            {
                return;
            }
            if (TargetObject.CurrentPortfolio == null)
            {
                return;
            }

            PositionList.Clear();
            TargetObject.CurrentPortfolio.PositionList.ForEach(v => PositionList.Add(v));

            DataList.Clear();
            TargetObject.MADataList.ForEach(v => DataList.Add(v));

            if (!string.IsNullOrEmpty(TargetObject.CurrentTicker))
            {
                CurrentPosition = PositionList.FirstOrDefault(v => v.InstrumentTicker == TargetObject.CurrentTicker);
            }
        }
コード例 #6
0
 public void Clear()
 {
     PositionList.Clear();
 }