コード例 #1
0
        public T GetPosition <T>(Security security, bool create = true) where T : LivePosition, new()
        {
            var ret = (from position in Positions
                       where position.Security.Ticker == security.Ticker
                       //where position.IsOpen
                       select position).SingleOrDefault();

            if (ret != null)
            {
                return((T)ret);
            }

            ret = Positions.AddAndReturn(new T()
            {
                Security = security
            });

            ret.PositionChanged += (s, e) => OnPositionChanged(e.Position);

            return((T)ret);
        }